%% Generated by Sphinx.
\def\sphinxdocclass{report}
\documentclass[a4paper,10pt,english]{sphinxmanual}
\ifdefined\pdfpxdimen
   \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen
\fi \sphinxpxdimen=.75bp\relax
\ifdefined\pdfimageresolution
    \pdfimageresolution= \numexpr \dimexpr1in\relax/\sphinxpxdimen\relax
\fi
%% let collapsible pdf bookmarks panel have high depth per default
\PassOptionsToPackage{bookmarksdepth=5}{hyperref}

\PassOptionsToPackage{booktabs}{sphinx}
\PassOptionsToPackage{colorrows}{sphinx}

\PassOptionsToPackage{warn}{textcomp}
\usepackage[utf8]{inputenc}
\ifdefined\DeclareUnicodeCharacter
% support both utf8 and utf8x syntaxes
  \ifdefined\DeclareUnicodeCharacterAsOptional
    \def\sphinxDUC#1{\DeclareUnicodeCharacter{"#1}}
  \else
    \let\sphinxDUC\DeclareUnicodeCharacter
  \fi
  \sphinxDUC{00A0}{\nobreakspace}
  \sphinxDUC{2500}{\sphinxunichar{2500}}
  \sphinxDUC{2502}{\sphinxunichar{2502}}
  \sphinxDUC{2514}{\sphinxunichar{2514}}
  \sphinxDUC{251C}{\sphinxunichar{251C}}
  \sphinxDUC{2572}{\textbackslash}
\fi
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amstext}
\usepackage{babel}



\usepackage{tgtermes}
\usepackage{tgheros}
\renewcommand{\ttdefault}{txtt}



\usepackage[Bjarne]{fncychap}
\usepackage{sphinx}

\fvset{fontsize=auto}
\usepackage{geometry}


% Include hyperref last.
\usepackage{hyperref}
% Fix anchor placement for figures with captions.
\usepackage{hypcap}% it must be loaded after hyperref.
% Set up styles of URL: it should be placed after hyperref.
\urlstyle{same}

\addto\captionsenglish{\renewcommand{\contentsname}{Installation}}

\usepackage{sphinxmessages}
\setcounter{tocdepth}{0}



\title{ViennaRNA}
\date{Dec 29, 2025}
\release{2.7.2}
\author{Ronny Lorenz, Ivo L.\@{} Hofacker, et al.\@{}}
\newcommand{\sphinxlogo}{\vbox{}}
\renewcommand{\releasename}{Release}
\makeindex
\begin{document}

\ifdefined\shorthandoff
  \ifnum\catcode`\=\string=\active\shorthandoff{=}\fi
  \ifnum\catcode`\"=\active\shorthandoff{"}\fi
\fi

\pagestyle{empty}
\sphinxmaketitle
\pagestyle{plain}
\sphinxtableofcontents
\pagestyle{normal}
\phantomsection\label{\detokenize{index::doc}}


\noindent{\sphinxincludegraphics[height=200\sphinxpxdimen]{{vrna}.png}\hspace*{\fill}}

\sphinxAtStartPar
The core of the \sphinxstylestrong{ViennaRNA Package} (Lorenz \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id29}{2011}{]}, Hofacker \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id19}{1994}{]})
is formed by a collection of routines for the prediction and comparison
of RNA secondary structures. These routines can be accessed through
stand\sphinxhyphen{}alone programs, such as \sphinxstyleemphasis{RNAfold}, \sphinxstyleemphasis{RNAdistance} etc., which should
be sufficient for most users. For those who wish to develop their own
programs we provide \sphinxstyleemphasis{RNAlib}, a C\sphinxhyphen{}library that can be linked to your own
code or even used in your scripts and pipelines through our {\hyperref[\detokenize{wrappers::doc}]{\sphinxcrossref{\DUrole{doc}{SWIG Wrappers}}}}
for {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python}}}} and Perl 5.

\sphinxAtStartPar
The latest version of the package including source code and html
versions of the documentation can be found at
\sphinxurl{https://www.tbi.univie.ac.at/RNA} and \sphinxurl{https://github.com/ViennaRNA/ViennaRNA}.

\sphinxstepscope


\chapter{Installation}
\label{\detokenize{install:installation}}\label{\detokenize{install::doc}}
\sphinxAtStartPar
The ViennaRNA Package comes with a variety of executable programs
and scripts as well as a C\sphinxhyphen{}library that provides access to our
implemented algorithms. Moreover, the C\sphinxhyphen{}library is wrapped to
scripting languages such as \sphinxcode{\sphinxupquote{Perl 5}} and \sphinxcode{\sphinxupquote{Python}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For best portability the ViennaRNA package uses the GNU
\sphinxcode{\sphinxupquote{autoconf}} and \sphinxcode{\sphinxupquote{automake}} tools to prepare the compilation
from source code. Read the {\hyperref[\detokenize{configuration::doc}]{\sphinxcrossref{\DUrole{doc}{Configuration}}}} section
\sphinxstyleemphasis{before} you install our software if you intend to deviate
from the default setup.
\end{sphinxadmonition}


\section{Installing from Source}
\label{\detokenize{install:installing-from-source}}
\sphinxAtStartPar
The instructions below are for installing the ViennaRNA package
from source. However, pre\sphinxhyphen{}compiled binaries for various Linux
distributions, as well as for Windows users are available at the
\sphinxhref{https://www.tbi.univie.ac.at/RNA/\#download}{download section}
of the official ViennaRNA homepage.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{install:binary-packages}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Binary packages}}}}}, {\hyperref[\detokenize{install:using-conda}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Using conda}}}}}, and {\hyperref[\detokenize{install:python-interface-only}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Python interface only}}}}}
\end{sphinxadmonition}


\subsection{Quick\sphinxhyphen{}start}
\label{\detokenize{install:quick-start}}
\sphinxAtStartPar
Usually you’ll just download the \sphinxhref{https://www.tbi.univie.ac.at/RNA/\#source\_code\_packages}{latest source tarball},
unpack, configure and make. To do this type:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{tar} \PYG{o}{\PYGZhy{}}\PYG{n}{zxvf} \PYG{n}{ViennaRNA}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{2.7}\PYG{l+m+mf}{.2}\PYG{o}{.}\PYG{n}{tar}\PYG{o}{.}\PYG{n}{gz}
\PYG{n}{cd} \PYG{n}{ViennaRNA}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{2.7}\PYG{l+m+mf}{.2}
\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure}
\PYG{n}{make}
\PYG{n}{sudo} \PYG{n}{make} \PYG{n}{install}
\end{sphinxVerbatim}


\subsection{Installing from git repository}
\label{\detokenize{install:installing-from-git-repository}}
\sphinxAtStartPar
You can also get the latest source code from \sphinxhref{https://github.com/ViennaRNA/ViennaRNA}{our git repository}
hosted at \sphinxurl{https://github.com}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
git\PYG{+w}{ }clone\PYG{+w}{ }https://github.com/ViennaRNA/ViennaRNA.git
\end{sphinxVerbatim}

\sphinxAtStartPar
However, to proceed with the configuration and installation you need to perform
some additional steps \sphinxstylestrong{before} actually running the \sphinxcode{\sphinxupquote{./configure}} script:
\begin{enumerate}
\sphinxsetlistlabels{\arabic}{enumi}{enumii}{}{.}%
\item {} 
\sphinxAtStartPar
Unpack the \sphinxcode{\sphinxupquote{libsvm}} archive to allow for SVM Z\sphinxhyphen{}score regression with the
program \sphinxcode{\sphinxupquote{RNALfold}}:

\end{enumerate}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
tar\PYG{+w}{ }\PYGZhy{}xzf\PYG{+w}{ }src/libsvm\PYGZhy{}3.35.tar.gz\PYG{+w}{ }\PYGZhy{}C\PYG{+w}{ }src
\end{sphinxVerbatim}
\begin{enumerate}
\sphinxsetlistlabels{\arabic}{enumi}{enumii}{}{.}%
\setcounter{enumi}{1}
\item {} 
\sphinxAtStartPar
Unpack the \sphinxcode{\sphinxupquote{dlib}} archive to allow for concentration dependency computations with the
program \sphinxcode{\sphinxupquote{RNAmultifold}}:

\end{enumerate}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
tar\PYG{+w}{ }\PYGZhy{}xjf\PYG{+w}{ }src/dlib\PYGZhy{}20.0.tar.bz2\PYG{+w}{ }\PYGZhy{}C\PYG{+w}{ }src
\end{sphinxVerbatim}
\begin{enumerate}
\sphinxsetlistlabels{\arabic}{enumi}{enumii}{}{.}%
\setcounter{enumi}{2}
\item {} 
\sphinxAtStartPar
Install the autotools toolchain and the additional maintainer tools \sphinxcode{\sphinxupquote{gengetopt}},
\sphinxcode{\sphinxupquote{help2man}}, \sphinxcode{\sphinxupquote{flex}}, \sphinxcode{\sphinxupquote{xxd}}, and \sphinxcode{\sphinxupquote{swig}} if necessary. For instance, in Debian
based distributions, the following packages need to be installed:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{build\sphinxhyphen{}essential}} (basic build tools, such as compiler, linker, etc.)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{autoconf}}, \sphinxcode{\sphinxupquote{automake}}, \sphinxcode{\sphinxupquote{libtool}}, \sphinxcode{\sphinxupquote{pkg\sphinxhyphen{}config}} (autotools toolchain)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{gengetopt}} (to generate command line parameter parsers)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{help2man}} (to generate the man pages)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{bison}} and \sphinxcode{\sphinxupquote{flex}} (to generate sources for \sphinxcode{\sphinxupquote{RNAforester}})

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vim\sphinxhyphen{}common}} (for the \sphinxcode{\sphinxupquote{xxd}} program)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{swig}} (to generate the scripting language interfaces)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{liblapacke}} (for \sphinxcode{\sphinxupquote{RNAxplorer}})

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{liblapack}}  (for \sphinxcode{\sphinxupquote{RNAxplorer}})

\item {} 
\sphinxAtStartPar
A \sphinxcode{\sphinxupquote{fortran}} compiler, e.g. \sphinxcode{\sphinxupquote{gfortran}} (for \sphinxcode{\sphinxupquote{RNAxplorer}})

\end{itemize}

\item {} 
\sphinxAtStartPar
Finally, run the \sphinxcode{\sphinxupquote{autoconf}}/\sphinxcode{\sphinxupquote{automake}} toolchain:

\end{enumerate}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
autoreconf\PYG{+w}{ }\PYGZhy{}i
\end{sphinxVerbatim}

\sphinxAtStartPar
After that, you can compile and install the ViennaRNA Package as if obtained
from the distribution tarball.


\subsection{Building the reference manual}
\label{\detokenize{install:building-the-reference-manual}}
\sphinxAtStartPar
Our implementations are documented with extra comments that are automatically
parsed by \sphinxhref{https://www.doxygen.nl/}{doxygen}. The extracted API documentation
is then processed further by \sphinxhref{https://breathe.readthedocs.io/}{breathe} and finally
integrated into a comprehensive reference manual written in
\sphinxhref{https://docutils.sourceforge.io/rst.html}{ReStructuredText}. This manual is then
usually compiled into HTML and PDF format by \sphinxhref{https://www.sphinx-doc.org/}{Sphinx}.

\sphinxAtStartPar
We provide pre\sphinxhyphen{}compiled versions of the reference manual in our distribution
tarballs and HTML versions at \sphinxurl{https://www.tbi.univie.ac.at/RNA/ViennaRNA/refman} and
\sphinxurl{https://viennarna.readthedocs.io}. However, under certain circumstances users might
want to compile the reference manual themselves, e.g. when \DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{installing from git repository}}}.

\sphinxAtStartPar
To succeed with the compilation the following tools are required:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{doxygen}} (to extract the API documentation)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{sphinx\sphinxhyphen{}build}} (to compile the manual)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{pdflatex}} (to compile a PDF version of the manual)

\end{itemize}

\sphinxAtStartPar
In addition, we use the following sphinx extensions:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{sphinx\sphinxhyphen{}multiproject}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{myst\sphinxhyphen{}parser}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{sphinx\sphinxhyphen{}copybutton}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{sphinxcontrib\sphinxhyphen{}bibtex}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{sphinx\sphinxhyphen{}rtd\sphinxhyphen{}theme}}

\end{itemize}

\sphinxAtStartPar
If all the above programs and \sphinxcode{\sphinxupquote{python}} packages are available, compilation
of the reference manual should succeed without any further problems.


\subsection{Installation without root privileges}
\label{\detokenize{install:installation-without-root-privileges}}
\sphinxAtStartPar
If you do not have root privileges on your computer, you might want to install the ViennaRNA
Package to a location where you actually have write access to. To do so, you can set the
installation prefix of the \sphinxcode{\sphinxupquote{./configure}} script like so:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{prefix}\PYG{o}{=}\PYG{o}{/}\PYG{n}{home}\PYG{o}{/}\PYG{n}{username}\PYG{o}{/}\PYG{o}{.}\PYG{n}{local}
\PYG{n}{make} \PYG{n}{install}
\end{sphinxVerbatim}

\sphinxAtStartPar
This will install the entire ViennaRNA Package into your home’s \sphinxcode{\sphinxupquote{\textasciitilde{}/.local/}} directory that
is commonly used for user\sphinxhyphen{}installed software. Just make sure that your \sphinxcode{\sphinxupquote{PATH}} environment
variable contains the \sphinxcode{\sphinxupquote{\$HOME/.local/bin}} directory such that our executables are looked\sphinxhyphen{}up
for at the proper location.

\begin{sphinxadmonition}{tip}{Tip:}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}prefix}} can be any other directory if you want to keep your installed
software separate from each other. The \sphinxcode{\sphinxupquote{make install}} command will then create the corresponding
\sphinxcode{\sphinxupquote{bin/}}, \sphinxcode{\sphinxupquote{lib/}}, \sphinxcode{\sphinxupquote{share/}} directories within the directory you specified.
\end{sphinxadmonition}


\subsection{MacOS X users}
\label{\detokenize{install:macos-x-users}}
\sphinxAtStartPar
Although users will find \sphinxcode{\sphinxupquote{/usr/bin/gcc}} and \sphinxcode{\sphinxupquote{/usr/bin/g++}} executables in their directory
tree, these programs are not at all what they pretend to be. Instead of including the GNU
programs, Apple decided to install \sphinxcode{\sphinxupquote{clang}}/\sphinxcode{\sphinxupquote{llvm}} in disguise. Unfortunately, the default
version of \sphinxcode{\sphinxupquote{clang}}/\sphinxcode{\sphinxupquote{llvm}} does not support \sphinxcode{\sphinxupquote{OpenMP}} (yet), but only complains at a late
stage of the build process when this support is required. Therefore, it seems necessary to
deactivate OpenMP support, e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}disable\PYGZhy{}openmp
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{configuration:openmp}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{OpenMP}}}}}, {\hyperref[\detokenize{configuration:universal-binaries}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Universal binaries}}}}}, and {\hyperref[\detokenize{faq:missing-extern-h}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Missing EXTERN.h}}}}}
\end{sphinxadmonition}


\section{Using conda}
\label{\detokenize{install:using-conda}}
\sphinxAtStartPar
The ViennaRNA Package is also available for the \sphinxcode{\sphinxupquote{conda}} or \sphinxcode{\sphinxupquote{mamba}} package
manager. The only requirement is to set up the \sphinxhref{https://bioconda.github.io/}{bioconda}
channels

\begin{sphinxVerbatim}[commandchars=\\\{\}]
conda\PYG{+w}{ }config\PYG{+w}{ }\PYGZhy{}\PYGZhy{}add\PYG{+w}{ }channels\PYG{+w}{ }defaults
conda\PYG{+w}{ }config\PYG{+w}{ }\PYGZhy{}\PYGZhy{}add\PYG{+w}{ }channels\PYG{+w}{ }bioconda
conda\PYG{+w}{ }config\PYG{+w}{ }\PYGZhy{}\PYGZhy{}add\PYG{+w}{ }channels\PYG{+w}{ }conda\PYGZhy{}forge
conda\PYG{+w}{ }config\PYG{+w}{ }\PYGZhy{}\PYGZhy{}set\PYG{+w}{ }channel\PYGZus{}priority\PYG{+w}{ }strict
\end{sphinxVerbatim}

\sphinxAtStartPar
and then you can easily install the
\sphinxhref{http://bioconda.github.io/recipes/viennarna/README.html}{viennarna bioconda package}
through

\begin{sphinxVerbatim}[commandchars=\\\{\}]
conda\PYG{+w}{ }install\PYG{+w}{ }viennarna
\end{sphinxVerbatim}


\section{Binary packages}
\label{\detokenize{install:binary-packages}}
\sphinxAtStartPar
For convenience, we provide pre\sphinxhyphen{}compiled binary packages and
installers for several Linux\sphinxhyphen{}based platforms, Microsoft Windows, and
Mac OS X. They can be obtained from
\sphinxhref{https://www.tbi.univie.ac.at/RNA/\#binary\_packages}{our official website}.


\section{Python interface only}
\label{\detokenize{install:python-interface-only}}
\sphinxAtStartPar
The Python 3 interface for the ViennaRNA Package library is
\sphinxhref{https://pypi.org/project/ViennaRNA/}{available at PyPI} and can
be installed independently using Python’s \sphinxcode{\sphinxupquote{pip}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{python} \PYG{o}{\PYGZhy{}}\PYG{n}{m} \PYG{n}{pip} \PYG{n}{install} \PYG{n}{viennarna}
\end{sphinxVerbatim}


\subsection{Building the Python package}
\label{\detokenize{install:building-the-python-package}}
\sphinxAtStartPar
Our source tree allows for building/installing the Python 3 interface
separately. For that, we provide the necessary packaging files
\sphinxcode{\sphinxupquote{pyproject.toml}}, \sphinxcode{\sphinxupquote{setup.cfg}}, \sphinxcode{\sphinxupquote{setup.py}} and \sphinxcode{\sphinxupquote{MANIFEST.in}}.
They are created by our \sphinxcode{\sphinxupquote{autoconf}} toolchain after a successful
run of \sphinxcode{\sphinxupquote{./configure}}. Particular default compile\sphinxhyphen{}time features may be
(de\sphinxhyphen{})activated by setting the corresponding boolean flags in
\sphinxcode{\sphinxupquote{setup.cfg}}. Running

\begin{sphinxVerbatim}[commandchars=\\\{\}]
python\PYG{+w}{ }\PYGZhy{}m\PYG{+w}{ }build
\end{sphinxVerbatim}

\sphinxAtStartPar
will then create a source distribution (\sphinxcode{\sphinxupquote{sdist}}) and a binary
package (\sphinxcode{\sphinxupquote{wheel}}) in the \sphinxcode{\sphinxupquote{dist/}} directory. These files can be
easily installed via Python’s \sphinxcode{\sphinxupquote{pip}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If you are about to create the Python interface from a fresh
clone of our git repository, you require additional steps after
running \sphinxcode{\sphinxupquote{./configure}} as described
{\hyperref[\detokenize{install:installing-from-git-repository}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{above}}}}}. In particular,
some autogenerated static files that are compiled into RNAlib must
be generated. To do so, run

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{cd}\PYG{+w}{ }src/ViennaRNA/static
make
\PYG{n+nb}{cd}\PYG{+w}{ }../../..
\end{sphinxVerbatim}

\sphinxAtStartPar
Additionally, if building the reference manual is not explicitly
turned off, the Python interface requires docstrings to be generated.
They are taken from the doxygen xml output which can be created by

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{cd}\PYG{+w}{ }doc
make\PYG{+w}{ }refman\PYGZhy{}html
\PYG{n+nb}{cd}\PYG{+w}{ }..
\end{sphinxVerbatim}

\sphinxAtStartPar
Finally, the swig wrapper must be build using

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{cd}\PYG{+w}{ }interfaces/Python
make\PYG{+w}{ }RNA/RNA.py
\PYG{n+nb}{cd}\PYG{+w}{ }../..
\end{sphinxVerbatim}

\sphinxAtStartPar
After these steps, the Python \sphinxcode{\sphinxupquote{sdist}} and \sphinxcode{\sphinxupquote{wheel}} packages can
be build as usual.
\end{sphinxadmonition}


\section{Unofficial Julia Interface}
\label{\detokenize{install:unofficial-julia-interface}}
\sphinxAtStartPar
An unofficial interface of the ViennaRNA Package for the
\sphinxhref{https://julialang.org/}{Julia Programming Language} exists at
\sphinxhref{https://juliahub.com/ui/Packages/ViennaRNA/lOl0n/}{JuliaHub}.

\sphinxstepscope


\chapter{Configuration}
\label{\detokenize{configuration:configuration}}\label{\detokenize{configuration::doc}}
\sphinxAtStartPar
The ViennaRNA Package includes additional executable programs such as
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAforester}},

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Kinfold}},

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Kinwalker}},

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAlocmin}}, and

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAxplorer}}.

\end{itemize}

\sphinxAtStartPar
Furthermore, we include several features in our C\sphinxhyphen{}library that may be
activated by default, or have to be explicitly turned on at configure\sphinxhyphen{}time.
Below we list a selection of the available configure options that affect
the features included in all executable programs, the \sphinxstyleemphasis{RNAlib} C\sphinxhyphen{}library,
and the corresponding scripting language interface(s).


\section{Streaming SIMD Extension}
\label{\detokenize{configuration:streaming-simd-extension}}
\sphinxAtStartPar
Since version 2.3.5 our sources contain code that implements a faster
multibranch loop decomposition in global MFE predictions, as used e.g.
in \sphinxcode{\sphinxupquote{RNAfold}}. This implementation makes use of modern processors
\sphinxstyleemphasis{streaming SIMD extension} (SSE) that provide the capability to execute
particular instructions on multiple data simultaneously (\sphinxstyleemphasis{SIMD \sphinxhyphen{} single
instruction multiple data}, thanks to W. B. Langdon for providing the
modified code). Consequently, the time required to assess the minimum of
all multibranch loop decompositions is reduced up to about one half
compared to the runtime of the original implementation. This feature is
enabled by default since version 2.4.11 and a dispatcher ensures that
the correct implementation will be selected at runtime. If for any
reason you want to disable this feature at compile\sphinxhyphen{}time use the following:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}disable\PYGZhy{}simd
\end{sphinxVerbatim}


\section{Scripting Language Interfaces}
\label{\detokenize{configuration:scripting-language-interfaces}}
\sphinxAtStartPar
The ViennaRNA Package comes with scripting language interfaces for \sphinxcode{\sphinxupquote{Perl 5}},
\sphinxcode{\sphinxupquote{Python}} (provided by \sphinxhref{https://www.swig.org/}{SWIG}), that allow one to
use the implemented algorithms directly without the need of calling an
executable program. The necessary requirements are determined at
configure\sphinxhyphen{}time and particular languages may be deactivated automatically
if the requirements are not met.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Building the Python 2 interface is deactivated by default since it reached
its end\sphinxhyphen{}of\sphinxhyphen{}life on January 1st, 2020. If for any reason you still want to
build that interface, you may use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}with\sphinxhyphen{}python2}} configure option
to turn it back on.
\end{sphinxadmonition}

\sphinxAtStartPar
You may also switch\sphinxhyphen{}off particular languages by passing the
\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}perl}} and/or \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}python}} configure options, e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}without\PYGZhy{}perl\PYG{+w}{ }\PYGZhy{}\PYGZhy{}without\PYGZhy{}python
\end{sphinxVerbatim}

\sphinxAtStartPar
will turn\sphinxhyphen{}off the \sphinxcode{\sphinxupquote{Perl 5}} and \sphinxcode{\sphinxupquote{Python 3}} interfaces.

\begin{sphinxadmonition}{tip}{Tip:}
\sphinxAtStartPar
Disabling the scripting language support all\sphinxhyphen{}together can be accomplished using the
following switch:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}without\PYGZhy{}swig
\end{sphinxVerbatim}
\end{sphinxadmonition}


\section{Cluster Analysis}
\label{\detokenize{configuration:cluster-analysis}}
\sphinxAtStartPar
The programs \sphinxcode{\sphinxupquote{AnalyseSeqs}} and \sphinxcode{\sphinxupquote{AnalyseDists}} offer some cluster analysis
tools (split decomposition, statistical geometry, neighbor joining, Ward’s method)
for sequences and distance data. To also build these programs add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}with\sphinxhyphen{}cluster}}
to your configure options.


\section{Kinfold}
\label{\detokenize{configuration:kinfold}}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{kinfold}} program can be used to simulate the folding dynamics of an RNA
molecule, and is compiled by default. Use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}kinfold}} option to
skip compilation and installation of Kinfold.


\section{RNAforester}
\label{\detokenize{configuration:rnaforester}}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{RNAforester}} program is used for comparing secondary structures using tree
alignment. Similar to \sphinxcode{\sphinxupquote{kinfold\textasciigrave{}, use the \textasciigrave{}\textasciigrave{}\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}forester}} option to skip
compilation and installation of \sphinxcode{\sphinxupquote{RNAforester}}.


\section{Kinwalker}
\label{\detokenize{configuration:kinwalker}}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{kinwalker}} algorithm performs co\sphinxhyphen{}transcriptional folding of RNAs, starting at
a user specified structure (default: open chain) and ending at the minimum free
energy structure. Compilation and installation of this program is deactivated by
default. Use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}with\sphinxhyphen{}kinwalker}} option to enable building and installation
of \sphinxcode{\sphinxupquote{kinwalker}}.


\section{RNAlocmin}
\label{\detokenize{configuration:rnalocmin}}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{RNAlocmin}} program is part of the \sphinxstylestrong{Basin Hopping Graph Framework} and reads
secondary structures and searches for local minima by performing a gradient walk
from each of those structures. It then outputs an energetically sorted list of
local minima with their energies and number of hits to particular minimum, which
corresponds to a size of a gradient basin. Additional output consists of barrier
trees and Arhenius rates to compute various kinetic aspects. Compilation and
installation of this program is activated by default. Use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}rnalocmin}}
option to disable building and installation of \sphinxcode{\sphinxupquote{RNAlocmin}}.


\section{RNAxplorer}
\label{\detokenize{configuration:rnaxplorer}}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{RNAxplorer}} is a multitool, that offers different methods to explore RNA
energy landscapes. In default mode it takes an RNA sequence as input and produces
a sample of RNA secondary structures. The repellant sampling heuristic used in
default mode iteratively penalizes base pairs of local minima of structures that
have been seen too often. This results in a diverse sample set with the most
important low free energy structures.
Compilation and installation of this program is activated by default. Note, that
this tool depends on the \sphinxcode{\sphinxupquote{LAPACK}} library. Use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}rnaxplorer}}
option to disable building and installation of \sphinxcode{\sphinxupquote{RNAxplorer}}.


\section{Link Time Optimization}
\label{\detokenize{configuration:link-time-optimization}}
\sphinxAtStartPar
To increase the performance of our implementations, the ViennaRNA Package tries
to make use of the \sphinxstyleemphasis{Link Time Optimization} (LTO) feature of modern C\sphinxhyphen{}compilers.
If you are experiencing any troubles at make\sphinxhyphen{}time or run\sphinxhyphen{}time, or the configure
script for some reason detects that your compiler supports this feature although
it doesn’t, you can deactivate it using the flag:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}disable\PYGZhy{}lto
\end{sphinxVerbatim}

\sphinxAtStartPar
Note, that \sphinxcode{\sphinxupquote{gcc}} before version 5 is known to produce unreliable LTO code,
especially in combination with {\hyperref[\detokenize{configuration:streaming-simd-extension}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SIMD}}}}}.
We therefore recommend using a more recent compiler (GCC 5 or above) or to turn off
one of the two features, LTO or SIMD optimized code.


\section{OpenMP}
\label{\detokenize{configuration:openmp}}
\sphinxAtStartPar
To enable concurrent computation of our implementations and in some cases
parallelization of the algorithms we make use of the \sphinxhref{https://www.openmp.org/}{OpenMP}
API. This interface is well understood by most modern compilers. However, in
some cases it might be necessary to deactivate OpenMP support and therefore transform
\sphinxstyleemphasis{RNAlib} into a C\sphinxhyphen{}library that is not entirely \sphinxstyleemphasis{thread\sphinxhyphen{}safe}. To do so, add the
following configure option:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}disable\PYGZhy{}openmp
\end{sphinxVerbatim}


\section{POSIX threads}
\label{\detokenize{configuration:posix-threads}}
\sphinxAtStartPar
To enable concurrent computation of multiple input data in \sphinxcode{\sphinxupquote{RNAfold}}, and for our
implementation of the concurrent unordered insert, ordered output flush data structure
{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_ostream_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_ostream\_t}}}}} we make use of POSIX threads (pthread). This should be
supported on all modern platforms and usually does not pose any problems. Unfortunately,
we use a threadpool implementation that is not compatible with Microsoft Windows yet.
Thus, POSIX thread support can not be activated for Windows builds until we have
fixed this problem. If you want to compile \sphinxcode{\sphinxupquote{RNAfold}} and \sphinxstyleemphasis{RNAlib} without POSIX threads
support for any other reasons, add the following configure option:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}disable\PYGZhy{}pthreads
\end{sphinxVerbatim}


\section{SVM Z\sphinxhyphen{}score filter}
\label{\detokenize{configuration:svm-z-score-filter}}
\sphinxAtStartPar
By default, \sphinxcode{\sphinxupquote{RNALfold}} that comes with the ViennaRNA Package allows for Z\sphinxhyphen{}score
filtering of its predicted results using a \sphinxstyleemphasis{Support Vector Machine} (SVM) provided
by the \sphinxhref{https://www.csie.ntu.edu.tw/~cjlin/libsvm/}{LIBSVM} library. However, this
library is statically linked to our own \sphinxstyleemphasis{RNAlib}. If this introduces any problems for
your own third\sphinxhyphen{}party programs that link against \sphinxstyleemphasis{RNAlib}, you can safely switch off
the Z\sphinxhyphen{}scoring implementation using:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}without\PYGZhy{}svm
\end{sphinxVerbatim}


\section{GNU Scientific Library}
\label{\detokenize{configuration:gnu-scientific-library}}
\sphinxAtStartPar
The program \sphinxcode{\sphinxupquote{RNApvmin}} computes a pseudo\sphinxhyphen{}energy perturbation vector that aims
to minimize the discrepancy of predicted, and observed pairing probabilities. For
that purpose it implements several methods to solve the optimization problem. Many
of them are provided by the \sphinxhref{https://www.gnu.org/software/gsl/}{GNU Scientific Library (GSL)},
which is why the \sphinxcode{\sphinxupquote{RNApvmin}} program, and the \sphinxstyleemphasis{RNAlib} C\sphinxhyphen{}library are required to
be linked against \sphinxcode{\sphinxupquote{libgsl}}. If this introduces any problems in your own third\sphinxhyphen{}party
programs that link against \sphinxstyleemphasis{RNAlib}, you can turn off a larger portion of available
minimizers in \sphinxcode{\sphinxupquote{RNApvmin}} and linking against \sphinxcode{\sphinxupquote{libgsl}} all\sphinxhyphen{}together, using:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}without\PYGZhy{}gsl
\end{sphinxVerbatim}


\section{Multiple\sphinxhyphen{}precision Floating\sphinxhyphen{}Point Computations}
\label{\detokenize{configuration:multiple-precision-floating-point-computations}}
\sphinxAtStartPar
Our {\hyperref[\detokenize{subopt/stochbt::doc}]{\sphinxcrossref{\DUrole{doc}{Non\sphinxhyphen{}redundant Boltzmann Sampling}}}} implementation uses
multi\sphinxhyphen{}precision floating\sphinxhyphen{}point computations provided by the
\sphinxhref{https://www.mpfr.org/}{GNU MPFR library} by default. This requires linking against
\sphinxcode{\sphinxupquote{libmpfr}} and \sphinxcode{\sphinxupquote{libgmp}}. You can switch off this feature using:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}disable\PYGZhy{}mpfr
\end{sphinxVerbatim}


\section{Universal binaries}
\label{\detokenize{configuration:universal-binaries}}
\sphinxAtStartPar
If you intend to build the ViennaRNA for Mac OS X such that it runs \sphinxstyleemphasis{on both}, \sphinxcode{\sphinxupquote{x86\_64}}
and the \sphinxcode{\sphinxupquote{arm64}} (Apple Silicon Processors) architectures, you need to build a
so\sphinxhyphen{}called \sphinxstyleemphasis{universal binary}. Note, however, that to accomplish this task, you might
need to deactivate any third\sphinxhyphen{}party library dependency as in most cases, only one
architecture will be available at link time. This includes the \sphinxcode{\sphinxupquote{Perl 5}} and \sphinxcode{\sphinxupquote{Python}}
interfaces but might also concern also {\hyperref[\detokenize{configuration:multiple-precision-floating-point-computations}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{MPFR}}}}}
and {\hyperref[\detokenize{configuration:gnu-scientific-library}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{GSL support}}}}}, possibly even more.
In order to compile and link the programs, library, and scripting language interfaces
of the ViennaRNA Package for multiple architectures, we’ve added a new configure switch
that sets up the required changes automatically:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
./configure\PYG{+w}{ }\PYGZhy{}\PYGZhy{}enable\PYGZhy{}universal\PYGZhy{}binary
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
With link time optimization turned on, MacOS X’s default compiler (\sphinxcode{\sphinxupquote{llvm}}/\sphinxcode{\sphinxupquote{clang}})
generates an intermediary binary format that can not easily be combined into a
multi\sphinxhyphen{}architecture library. Therefore, the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enable\sphinxhyphen{}universal\sphinxhyphen{}binary}} switch
turns off {\hyperref[\detokenize{configuration:link-time-optimization}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Link Time Optimization}}}}}!
\end{sphinxadmonition}


\section{Disable C11/C++11 features}
\label{\detokenize{configuration:disable-c11-c-11-features}}
\sphinxAtStartPar
By default, we use C11/C++11 features in our implementations. This mainly accounts
for unnamed unions/structs within \sphinxstyleemphasis{RNAlib}. The configure script automatically
detects whether or not your compiler understands these features. In case you are
using an older compiler, these features will be deactivated by setting a specific
pre\sphinxhyphen{}processor directive. If for some reason you want to deactivate C11/C++11
features despite the capabilities of your compiler, use the following configure
option:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{disable}\PYG{o}{\PYGZhy{}}\PYG{n}{c11}
\end{sphinxVerbatim}


\section{Deprecated symbols}
\label{\detokenize{configuration:deprecated-symbols}}
\sphinxAtStartPar
Since version 2.2 we are in the process of transforming the API of our \sphinxstyleemphasis{RNAlib}.
Hence, several symbols are marked as \sphinxstyleemphasis{deprecated} whenever they have been
replaced by the new API. By default, deprecation warnings at compile time are
deactivated. If you want to get your terminal spammed by tons of deprecation
warnings, enable them using:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{enable}\PYG{o}{\PYGZhy{}}\PYG{n}{warn}\PYG{o}{\PYGZhy{}}\PYG{n}{deprecated}
\end{sphinxVerbatim}


\section{Single precision}
\label{\detokenize{configuration:single-precision}}
\sphinxAtStartPar
Calculation of partition functions (via \sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}p}}) uses double precision
floats by default, to avoid overflow errors on longer sequences. If your machine
has little memory and you don’t plan to fold sequences over 1,000 bases in
length you can compile the package to do the computations in single precision by
running:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{enable}\PYG{o}{\PYGZhy{}}\PYG{n}{floatpf}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Using this option is discouraged and not necessary on most modern computers.
\end{sphinxadmonition}


\section{Help}
\label{\detokenize{configuration:help}}
\sphinxAtStartPar
For a complete list of all \sphinxcode{\sphinxupquote{./configure}} options and important environment variables,
type:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{help}
\end{sphinxVerbatim}

\sphinxAtStartPar
For more general information on the build process see the \sphinxstyleemphasis{INSTALL} file.

\sphinxstepscope


\chapter{Getting Started}
\label{\detokenize{getting_started:getting-started}}\label{\detokenize{getting_started::doc}}
\sphinxAtStartPar
Here you find some more or less elaborate tutorials and manuals on how
to use our software.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The tutorials provided below are mostly taken from \sphinxhref{https://www.tbi.univie.ac.at/RNA/tutorial/}{A short Tutorial
on RNA Bioinformatics The ViennaRNA Package and related Programs}. Since they have not
been updated for quite some time, some of the described features may
not work as expected and novel features of our programs may not be
mentioned.

\sphinxAtStartPar
We will be working on extending this part of the documentation in
the future.
\end{sphinxadmonition}


\section{Global RNA Secondary Structure Prediction}
\label{\detokenize{getting_started:global-rna-secondary-structure-prediction}}
\sphinxAtStartPar
Several tools for structure prediction of single RNA sequences are
available within the \sphinxcode{\sphinxupquote{ViennaRNA Package}}, each with its own special
subset of implemented algorithms.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNAfold}}}
\label{\detokenize{tutorial/RNAfold:the-program-rnafold}}\label{\detokenize{tutorial/RNAfold::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id5}}{\hyperref[\detokenize{tutorial/RNAfold:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id6}}{\hyperref[\detokenize{tutorial/RNAfold:mfe-structure-of-a-single-sequence}]{\sphinxcrossref{MFE structure of a single sequence}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id7}}{\hyperref[\detokenize{tutorial/RNAfold:equilibrium-ensemble-properties}]{\sphinxcrossref{Equilibrium ensemble properties}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id8}}{\hyperref[\detokenize{tutorial/RNAfold:rotate-the-structure-plot}]{\sphinxcrossref{Rotate the structure plot}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id9}}{\hyperref[\detokenize{tutorial/RNAfold:the-base-pair-probability-dot-plot}]{\sphinxcrossref{The base pair probability dot plot}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id10}}{\hyperref[\detokenize{tutorial/RNAfold:mountain-and-reliability-plot}]{\sphinxcrossref{Mountain and Reliability plot}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id11}}{\hyperref[\detokenize{tutorial/RNAfold:batch-job-processing}]{\sphinxcrossref{Batch job processing}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id12}}{\hyperref[\detokenize{tutorial/RNAfold:add-constraints-to-the-structure-prediction}]{\sphinxcrossref{Add constraints to the structure prediction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id13}}{\hyperref[\detokenize{tutorial/RNAfold:shape-directed-rna-folding}]{\sphinxcrossref{SHAPE directed RNA folding}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id14}}{\hyperref[\detokenize{tutorial/RNAfold:adding-ligand-interactions}]{\sphinxcrossref{Adding ligand interactions}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id15}}{\hyperref[\detokenize{tutorial/RNAfold:g-quadruplexes}]{\sphinxcrossref{G\sphinxhyphen{}quadruplexes}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id16}}{\hyperref[\detokenize{tutorial/RNAfold:ssb-protein-interaction}]{\sphinxcrossref{SSB protein interaction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAfold:id17}}{\hyperref[\detokenize{tutorial/RNAfold:change-other-model-settings}]{\sphinxcrossref{Change other model settings}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNAfold:introduction}}
\sphinxAtStartPar
Our first task will be to do a structure prediction using
\sphinxcode{\sphinxupquote{RNAfold}}. This should get you familiar with the input and output
format as well as the graphical output produced.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAfold}} reads single RNA sequences, computes their minimum free energy
(\sphinxcode{\sphinxupquote{MFE}}) structures, and prints the result together with the corresponding
\sphinxcode{\sphinxupquote{MFE}} structure in dot\sphinxhyphen{}bracket notation. This is the default mode if no
further command line parameters are provided. Please note, that the \sphinxcode{\sphinxupquote{RNAfold}}
program can either be used in \sphinxstyleemphasis{interactive mode}, where the program expects
the input from \sphinxstyleemphasis{stdin}, or in \sphinxstyleemphasis{batch processing mode} where
you provide the input sequences as text files.
\subsubsection*{Partition function}

\sphinxAtStartPar
To activate computation of the partition function for each sequence, the
\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}} option must be set. From the partition function
\begin{equation*}
\begin{split}Q = \sum_{s \in \Omega} exp(-E(s) / RT)\end{split}
\end{equation*}
\sphinxAtStartPar
over the ensemble of all possible structures \(\Omega\), with temperature \(T\) and gas
constant \(R\), \sphinxcode{\sphinxupquote{RNAfold}} then computes the ensemble free energy \(G = -RT \cdot ln(Q)\),
and frequency of the \sphinxcode{\sphinxupquote{MFE}} structure \(s_{mfe}\) within the ensemble
\begin{equation*}
\begin{split}p = exp(-E(s_{mfe}) / RT) / Q\end{split}
\end{equation*}\subsubsection*{Ensemble diversity}

\sphinxAtStartPar
By default, the \sphinxcode{\sphinxupquote{\sphinxhyphen{}p}} option also activates the computation
of base pairing probabilities \(p_{ij}\). From this data, \sphinxcode{\sphinxupquote{RNAfold}} then
determines the ensemble diversity
\begin{equation*}
\begin{split}\langle d \rangle = \sum_{ij} p_{ij} \cdot (1 - p_{ij}),\end{split}
\end{equation*}
\sphinxAtStartPar
i.e. the expected distance between any two secondary structure, as well as the
\sphinxcode{\sphinxupquote{centroid}} structure, i.e. the structure \(s_c\) with the least Boltzmann weighted
distance
\begin{equation*}
\begin{split}d_\Omega(s_c) = \sum_{\substack{s \in \Omega}} p(s) d(s_c, s)\end{split}
\end{equation*}
\sphinxAtStartPar
to all other structures \(s \in \Omega\).
\subsubsection*{Maximum Expected Accuracy}

\sphinxAtStartPar
Another useful structure representative one can determine from base pairing probabilities
\(p_{ij}\) is the structure that exhibits the \sphinxstyleemphasis{maximum expected accuracy (MEA)}. By
assuming the base pair probability is a good measure of correctnes of a pair \((i,j)\), the
expected accuracy of a structure \(s\) is
\begin{equation*}
\begin{split}\text{EA}(s) = \sum_{\substack{(i,j) \in s}} 2\gamma p_{ij} + \sum_{\substack{i \\ \nexists (i,j) \in s}} q_i\end{split}
\end{equation*}
\sphinxAtStartPar
with \(q_i = 1 - \sum_j p_{ij}\) and weighting factor \(\gamma\) that allows us to
weight paired against unpaired positions. \sphinxcode{\sphinxupquote{RNAfold}} uses a dynamic programming
scheme similar to the \sphinxstyleemphasis{Maximum Matching algorithm} of Ruth Nussinov to find the
structure \(s\) that minimizes the above equation.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{RNAfold}} program provides a large amount of additional
computation modes that will be partly covered below. To get a full list of all
computation modes available, please consult the \sphinxcode{\sphinxupquote{RNAfold}} man page or
the outputs of \sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}h}} and \sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}.


\subsubsection{MFE structure of a single sequence}
\label{\detokenize{tutorial/RNAfold:mfe-structure-of-a-single-sequence}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Use a text editor (emacs, vi, nano, gedit) to prepare an input file by pasting the text
below and save it under the name \sphinxcode{\sphinxupquote{test.seq}} in your \sphinxcode{\sphinxupquote{Data}} folder:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}} \PYG{n}{test}
\PYG{n}{CUACGGCGCGGCGCCCUUGGCGA}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Compute the best (MFE) structure for this sequence using \sphinxstyleemphasis{batch processing mode}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold test.seq
CUACGGCGCGGCGCCCUUGGCGA
...........((((...)))). ( \PYGZhy{}5.00)
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
or use the \sphinxstyleemphasis{interactive mode} and redirect the content of \sphinxcode{\sphinxupquote{test.seq}}
to \sphinxstyleemphasis{stdin}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZlt{} text.seq
CUACGGCGCGGCGCCCUUGGCGA
...........((((...)))). ( \PYGZhy{}5.00)
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
alternatively, you could use the \sphinxstyleemphasis{interactive mode} and manually enter the sequence
as soon as \sphinxcode{\sphinxupquote{RNAfold}} prompts for input

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold
Input string (upper or lower case); @ to quit
....,....1....,....2....,....3....,....4....,....5....,....6....,....7....,....8
CUACGGCGCGGCGCCCUUGGCGA
length = 23

CUACGGCGCGGCGCCCUUGGCGA
...........((((...)))).
 minimum free energy =  \PYGZhy{}5.00 kcal/mol
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
All the above variants to compute the MFE and the corresponding structure result in identical
output, except for slight variations in the formatting when true \sphinxstyleemphasis{interactive mode} is used.
The last line(s) of the text output contains the predicted MFE structure in \sphinxstyleemphasis{dot\sphinxhyphen{}bracket notation}
and its free energy in \sphinxcode{\sphinxupquote{kcal/mol}}. A dot in the dot\sphinxhyphen{}bracket notation represents an unpaired
position, while a base pair (i, j) is represented by a pair of matching parentheses at position
i and j.

\sphinxAtStartPar
If the input was \sphinxcode{\sphinxupquote{FASTA}} formatted, i.e. the sequence was preceded by a header line
with sequence identifier, \sphinxcode{\sphinxupquote{RNAfold}} creates a structure layout file named \sphinxcode{\sphinxupquote{test\_ss.ps}},
where \sphinxcode{\sphinxupquote{test}} is the sequence identifier as provided through the \sphinxcode{\sphinxupquote{FASTA}} header.
In case the header was omitted the output file name simply is \sphinxcode{\sphinxupquote{rna.ps}}.

\sphinxAtStartPar
Let’s take a look at the output file with your favorite \sphinxcode{\sphinxupquote{PostScript}} viewer, e.g. \sphinxcode{\sphinxupquote{gv}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In contrast to bitmap based image files (such as GIF or JPEG) PostScript files contain
resolution independent \sphinxstyleemphasis{vector graphics}, suitable for publication. They can be viewed
on\sphinxhyphen{}screen using a postscript viewer such as \sphinxcode{\sphinxupquote{gv}} or \sphinxcode{\sphinxupquote{evince}}. Also note the \sphinxcode{\sphinxupquote{\&}}
at the end of the following command line that simply detaches the program call and
immediately starts the program in the background.
\end{sphinxadmonition}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{}\PYG{+w}{ }gv\PYG{+w}{ }test\PYGZus{}ss.ps\PYG{+w}{ }\PYG{p}{\PYGZam{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Compare the dot\sphinxhyphen{}bracket notation to the PostScript drawing shown in the file \sphinxcode{\sphinxupquote{test\_ss.eps}}.

\sphinxAtStartPar
You can use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}t}} option to change the layout algorithm \sphinxcode{\sphinxupquote{RNAfold}} uses
to produce the plot. The most simply layout is the \sphinxstyleemphasis{radial} layout that can be chosen
with \sphinxcode{\sphinxupquote{\sphinxhyphen{}t 0}}. Here, each nucleotide in a loop is equally spaced on its enclosing circle.
The more sophisticated \sphinxcode{\sphinxupquote{Naview}} layout algorithm is used by default but may be explicitly
chosen through \sphinxcode{\sphinxupquote{\sphinxhyphen{}t 1}}. A hidden feature can be found with \sphinxcode{\sphinxupquote{\sphinxhyphen{}t 2}}, where \sphinxcode{\sphinxupquote{RNAfold}}
creates a most simple circular plot.

\sphinxAtStartPar
The calculation above does not tell us whether we can actually trust the predicted structure.
In fact, there may be many more possible structures that might be equally probable. To find
out about that, let’s have a look at the equilibrium ensemble instead.


\subsubsection{Equilibrium ensemble properties}
\label{\detokenize{tutorial/RNAfold:equilibrium-ensemble-properties}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Run:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}p \PYGZhy{}\PYGZhy{}MEA
\end{sphinxVerbatim}

\sphinxAtStartPar
to compute the partition function, pair probabilities, centroid structure,
and the maximum expected accuracy (MEA) structure.

\item {} 
\sphinxAtStartPar
Have a look at the generated PostScript files \sphinxcode{\sphinxupquote{test\_ss.ps}} and
\sphinxcode{\sphinxupquote{test\_dp.ps}}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}p \PYGZhy{}\PYGZhy{}MEA test.seq
CUACGGCGCGGCGCCCUUGGCGA
...........((((...)))). ( \PYGZhy{}5.00)
....\PYGZob{},\PYGZob{}\PYGZob{}...||||...)\PYGZcb{}\PYGZcb{}\PYGZcb{}. [ \PYGZhy{}5.72]
....................... \PYGZob{}  0.00 d=4.66\PYGZcb{}
......((...))((...))... \PYGZob{}  2.90 MEA=14.79\PYGZcb{}
 frequency of mfe structure in ensemble 0.311796; ensemble diversity 6.36
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
Here the last four lines are new compared to the text output without the \sphinxcode{\sphinxupquote{\sphinxhyphen{}p \sphinxhyphen{}\sphinxhyphen{}MEA}}
options. The partition function is already a rough measure for the well\sphinxhyphen{}definedness of the \sphinxcode{\sphinxupquote{MFE}}
structure. The third line shows a condensed representation of the pair probabilities of each
nucleotide, similar to the dot\sphinxhyphen{}bracket notation, followed by the ensemble free energy
(\(G = -kT \cdot ln(Z)\)) in units of \sphinxcode{\sphinxupquote{kcal/mol}}. Here, the dot\sphinxhyphen{}bracket like notation consists
of additional characters that denote the pairing propensity for each nucleotide.
\sphinxcode{\sphinxupquote{.}} denotes bases that are essentially unpaired, \sphinxcode{\sphinxupquote{,}} weakly paired,
\sphinxcode{\sphinxupquote{|}} strongly paired without preference, \sphinxcode{\sphinxupquote{\{\}}}, \sphinxcode{\sphinxupquote{()}} weakly (\(>\) 33\%) upstream (downstream)
paired or strongly (\(>\) 66\%) up\sphinxhyphen{}/downstream paired bases, respectively.

\sphinxAtStartPar
The next two lines represent (i) the centroid structure
with its free energy and distance to the ensemble, and (ii) the MEA structure, it’s free
energy and the actual accuracy. The very last line shows the frequency of the MFE structure in
the ensemble of secondary structures and the diversity of the ensemble as discussed above.

\sphinxAtStartPar
Note that the MFE structure is adopted only with 31\% probability, also the
diversity is very high for such a short sequence.


\subsubsection{Rotate the structure plot}
\label{\detokenize{tutorial/RNAfold:rotate-the-structure-plot}}
\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.250\linewidth]{{test_ss}.png}\hspace*{\fill}}

\sphinxAtStartPar
To rotate the secondary structure plot that is generated by \sphinxcode{\sphinxupquote{RNAfold}}
the \sphinxcode{\sphinxupquote{ViennaRNA Package}} provides the perl script utility \sphinxcode{\sphinxupquote{rotate\_ss.pl}}.
Just read the \sphinxcode{\sphinxupquote{perldoc}} for this tool to know how to handle the rotation and use
the information to get your secondary structure in a vertical position.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} perldoc rotate\PYGZus{}ss.pl
\end{sphinxVerbatim}


\subsubsection{The base pair probability dot plot}
\label{\detokenize{tutorial/RNAfold:the-base-pair-probability-dot-plot}}
\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{test_dp}.png}\hspace*{\fill}}

\sphinxAtStartPar
The \sphinxstyleemphasis{dot plot} (\sphinxcode{\sphinxupquote{test\_dp.ps}}) shows the pair probabilities within
the equilibrium ensemble as \(n\times n\) matrix, and is an excellent way to
visualize structural alternatives. A square at row \(i\) and column \(j\)
indicates a base pair. The area of a square in the upper right half of the
matrix is proportional to the probability of the base pair \((i,j)\) within the
equilibrium ensemble. The lower left half shows all pairs belonging to
the \sphinxcode{\sphinxupquote{MFE}} structure. While the MFE consists of a single helix, several
different helices are visualized in the pair probabilities.

\sphinxAtStartPar
While a base pair probability dot\sphinxhyphen{}plot is quite handy to interpret for short
sequences, it quickly becomes confusing the longer the RNA sequence is. Still,
this is (currently) the only output of base pair probabilities for the \sphinxcode{\sphinxupquote{RNAfold}}
program. Nevertheless, since the dot plot is a true \sphinxcode{\sphinxupquote{PostScript}} file,
one can retrieve the individual base pair probabilities by parsing its textual
content.
\begin{itemize}
\item {} 
\sphinxAtStartPar
Open the dot plot with your favorite text editor

\item {} 
\sphinxAtStartPar
Locate the lines that that follow the scheme

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{i} \PYG{n}{j} \PYG{n}{v} \PYG{n}{ubox}
\end{sphinxVerbatim}

\sphinxAtStartPar
where \(i\) and \(j\) are integer values and \(v\) is a floating point decimal
with values between \(0\) and \(1\). These are the data for the boxes drawn in
the upper triangle. The integer values \(i\) and \(j\) denote the nucleotide positions
while the value \(v\) is the square\sphinxhyphen{}root of the probability of base pair \((i,j)\).
Thus, the actual base pair probability \(p(i,j) = v \cdot v\).

\end{itemize}


\subsubsection{Mountain and Reliability plot}
\label{\detokenize{tutorial/RNAfold:mountain-and-reliability-plot}}
\sphinxAtStartPar
Next, let’s use the \sphinxcode{\sphinxupquote{relplot.pl}} utility to annotate which parts of a
predicted MFE structure are well\sphinxhyphen{}defined and thus more reliable. Also let’s use a real
example for a change and produce yet another representation of the predicted
structure, the \sphinxstyleemphasis{mountain plot}.

\sphinxAtStartPar
Fold the 5S rRNA sequence and visualize the structure. (The \sphinxcode{\sphinxupquote{5S.seq}} is shipped with the tutorial)

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{}\PYG{+w}{ }RNAfold\PYG{+w}{ }\PYGZhy{}p\PYG{+w}{ }5S.seq
\PYGZdl{}\PYG{+w}{ }mountain.pl\PYG{+w}{ }5S\PYGZus{}dp.ps\PYG{+w}{ }\PYG{p}{|}\PYG{+w}{ }xmgrace\PYG{+w}{ }\PYGZhy{}pipe
\PYGZdl{}\PYG{+w}{ }relplot.pl\PYG{+w}{ }5S\PYGZus{}ss.ps\PYG{+w}{ }5S\PYGZus{}dp.ps\PYG{+w}{ }\PYGZgt{}\PYG{+w}{ }5S\PYGZus{}rss.ps
\end{sphinxVerbatim}


\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\begin{tabular}[t]{\X{50}{100}\X{50}{100}}
\sphinxtoprule
\sphinxtableatstartofbodyhook
\noindent\sphinxincludegraphics{{5S_mt}.png}
&
\noindent\sphinxincludegraphics{{5S_rot}.png}
\\
\sphinxbottomrule
\end{tabular}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

\sphinxAtStartPar
A mountain plot is especially useful for long sequences where conventional
structure drawings become terribly cluttered.  It is a xy\sphinxhyphen{}diagram plotting
the number of base pairs enclosing a sequence position \sphinxstyleemphasis{versus} the
position. The  \sphinxcode{\sphinxupquote{Perl}} script \sphinxcode{\sphinxupquote{mountain.pl}} transforms a dot
plot into the mountain plot coordinates which can be visualized with any
xy\sphinxhyphen{}plotting program, e.g. \sphinxcode{\sphinxupquote{xmgrace}}.

\sphinxAtStartPar
The resulting plot shows three curves, two mountain plots derived from
the \sphinxcode{\sphinxupquote{MFE}} structure (red) and the pairing probabilities (black) and
a positional entropy curve (green). Well\sphinxhyphen{}defined regions are identified by low
entropy. By superimposing several mountain plots structures can easily
be compared.

\sphinxAtStartPar
The perl script \sphinxcode{\sphinxupquote{relplot.pl}} adds reliability
information to a RNA secondary structure plot in the form of color
annotation. The script computes a well\sphinxhyphen{}definedness measure we call
\sphinxcode{\sphinxupquote{positional entropy}}
\begin{equation*}
\begin{split}S(i) = -\sum p_{ij}\log(p_{ij})\end{split}
\end{equation*}
\sphinxAtStartPar
and encodes it as color hue, ranging from red
(low entropy, well\sphinxhyphen{}defined) via green to blue and violet (high
entropy, ill\sphinxhyphen{}defined). In the example above two helices of the 5S RNA are
well\sphinxhyphen{}defined (red) and indeed predicted correctly, the left arm is not quite
correct and disordered.

\sphinxAtStartPar
For the figure above we had to rotate and mirror the structure plot, e.g.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} rotate\PYGZus{}ss.pl \PYGZhy{}a 180 \PYGZhy{}m 5S\PYGZus{}rss.ps \PYGZgt{} 5S\PYGZus{}rot.ps
\end{sphinxVerbatim}


\subsubsection{Batch job processing}
\label{\detokenize{tutorial/RNAfold:batch-job-processing}}
\sphinxAtStartPar
In most cases, one doesn’t only want to predict the structure and equilibrium
probabilities for a single RNA sequence but a set of sequences. \sphinxcode{\sphinxupquote{RNAfold}}
is perfectly suited for this task since it provides several different mechanisms
to support batch job processing. First, in \sphinxstyleemphasis{interactive} mode, it only
stops processing input from \sphinxstyleemphasis{stdin} if it is requested to do so. This means
that after processing one sequence, it will prompt for the input of the next
sequence. Entering the \sphinxcode{\sphinxupquote{@}} character will forcefully abort processing.
In situations where the input is provided through input stream redirection,
it will end processing as soon stream is closed.

\sphinxAtStartPar
In constrat to that, the \sphinxstyleemphasis{batch processing mode} where one simply specifies
input files as so\sphinxhyphen{}called unnamed command line parameters, the number of input
sequences is more or less unlimited. You can specify as many input files as
your terminal emulator allows, and each input file may consist of arbitrarily
many sequences. However, please note that mixing \sphinxcode{\sphinxupquote{FASTA}} and non\sphinxhyphen{}fasta
input is not allowed and will most likely produce bogus output.

\sphinxAtStartPar
Assume you have four input files \sphinxcode{\sphinxupquote{file\_0.fa}}, \sphinxcode{\sphinxupquote{file\_1.fa}},
\sphinxcode{\sphinxupquote{file\_2.fa}}, and \sphinxcode{\sphinxupquote{file\_3.fa}}. Each file contains a set of RNA
sequences in \sphinxcode{\sphinxupquote{FASTA}} format. Predicting secondary structures for all
sequences in all files with a single call to \sphinxcode{\sphinxupquote{RNAfold}} and redirecting
the output to a file \sphinxcode{\sphinxupquote{all\_sequences\_output.fold}} can be achieved
like this:
.. code:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold file\PYGZus{}0.fa file\PYGZus{}1.fa file\PYGZus{}2.fa file\PYGZus{}3.fa \PYGZgt{} all\PYGZus{}sequences\PYGZus{}output.fold
\end{sphinxVerbatim}

\sphinxAtStartPar
The above call to \sphinxcode{\sphinxupquote{RNAfold}} will open each of the files and process the
sequences sequentially. This, however, might take a long time and the sequential
processing will most likely bore out your multi\sphinxhyphen{}core workstation or laptop computer,
since only a single core is used for the computations while the others are idle.
If you happen to have more than a single CPU core and want to take advantage of
the available parallel processing power, you can use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}j}} option of
\sphinxcode{\sphinxupquote{RNAfold}} to split the input into concurrent jobs.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}j file\PYGZus{}*.fa \PYGZgt{} all\PYGZus{}sequences\PYGZus{}output.fold
\end{sphinxVerbatim}

\sphinxAtStartPar
This command will uses as many CPU cores as available and, therefore, process
you input much faster. If you want to limit the number of concurrent jobs to
a particular number, say \(2\), to leave the remaining cores available for other
tasks, you can append the number of jobs directly to the \sphinxcode{\sphinxupquote{\sphinxhyphen{}j}} option:
.. code:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}j2 file\PYGZus{}*.fa \PYGZgt{} all\PYGZus{}sequences\PYGZus{}output.fold
\end{sphinxVerbatim}

\sphinxAtStartPar
Note here, that there must not be any space between the \sphinxcode{\sphinxupquote{j}} and the number
of jobs.

\sphinxAtStartPar
Now imagine what happens if you have a larger set of
sequences that are not stored in \sphinxcode{\sphinxupquote{FASTA}} format. If you would serve such
an input to \sphinxcode{\sphinxupquote{RNAfold}}, it would happily process each of the sequences
but always over\sphinxhyphen{}write the structure layout and dot\sphinxhyphen{}plot files, since the default
names for these files are \sphinxcode{\sphinxupquote{rna.ps}} and \sphinxcode{\sphinxupquote{dot.ps}} for any sequence.
This is usually an undesired behavior, where \sphinxcode{\sphinxupquote{RNAfold}} and the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}
option becomes handy. This option flag forces \sphinxcode{\sphinxupquote{RNAfold}} to automatically
create a sequence identifier for each input, thus using different file names for
each single output. The identifier that is created follows the form
.. code:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{sequence\PYGZus{}XXXX}
\end{sphinxVerbatim}

\sphinxAtStartPar
where \sphinxcode{\sphinxupquote{sequence}} is a prefix, followed by the delimiting character \sphinxcode{\sphinxupquote{\_}},
and an increasing 4\sphinxhyphen{}digit number \sphinxcode{\sphinxupquote{XXXX}} starting at 0000. This feature is
even useful if the input is in \sphinxcode{\sphinxupquote{FASTA}} format, but one wants to enforce
a novel naming scheme for the sequences. As soon as the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}} option
is set, \sphinxcode{\sphinxupquote{RNAfold}} will ignore any id taken from existing \sphinxcode{\sphinxupquote{FASTA}}
headers in the input files.

\sphinxAtStartPar
See also the man page of \sphinxcode{\sphinxupquote{RNAfold}} to find out how to modify the prefix,
delimiting character, start number and number of digits.
\begin{itemize}
\item {} 
\sphinxAtStartPar
Create an input file with many RNA sequences, each on a separate line, e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} randseq \PYGZhy{}n 127 \PYGZgt{} many\PYGZus{}files.seq
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Compute the MFE structure for each of the sequences and generate output
ids with numbers between \(100\) and \(226\) and prefix \sphinxcode{\sphinxupquote{test\_seq}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}auto\PYGZhy{}id \PYGZhy{}\PYGZhy{}id\PYGZhy{}start=100 \PYGZhy{}\PYGZhy{}id\PYGZhy{}prefix=\PYGZdq{}test\PYGZus{}seq\PYGZdq{} many\PYGZus{}files.seq
\end{sphinxVerbatim}

\end{itemize}


\subsubsection{Add constraints to the structure prediction}
\label{\detokenize{tutorial/RNAfold:add-constraints-to-the-structure-prediction}}
\sphinxAtStartPar
For some scientific questions one requires additional constraints that must be
enforced when predicting secondary structures. For instance, one might have resolved
parts of the structure already and is simply interested in the optimal conformation
of the remaining part of the molecule. Another example would be that one already
knows that particular nucleotides can not participate in any base pair, since they
are physically hindered to do so. These types of constraints are termed \sphinxstyleemphasis{hard}
constraints and they can enforce or prohibit particular conformations, thus include
or omit structures with these feature from the set candidate ensemble.

\sphinxAtStartPar
Another type of constraints are so\sphinxhyphen{}called \sphinxstyleemphasis{soft} constraints, that enable one
to adjust the free energy contributions of particular conformations. For instance,
one could add a bonus energy if a particular (stretch of) nucleotides is left unpaired
to emulate the binding free energy of a single strand binding protein. The same can
be applied to base pairs, for instance one could add a penalizing energy term if a
particular base pair is formed to make it less likely.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{RNAfold}} programs comes with a comprehensive hard and soft constraints
support and provides several convenience command line parameters to ease constraint
application.

\sphinxAtStartPar
The most simple hard constraint that can be applied is the maximum base pair span, i.e.
the maximum number of nucleotides a particular base pair may span. This constraint can
be applied with the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}} option followed by an integer number.
\begin{itemize}
\item {} 
\sphinxAtStartPar
Compute the secondary structure for the \sphinxcode{\sphinxupquote{5S.seq}} input file

\item {} 
\sphinxAtStartPar
Now limit the maximum base pair span to \(50\) and compare both results:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}maxBPspan 50 5S.seq
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
Now assume you already know parts of the structure and want to \sphinxstyleemphasis{fill\sphinxhyphen{}in}
an optimal remaining part. You can do that by using the \sphinxcode{\sphinxupquote{\sphinxhyphen{}C}} option
and adding an additional line in dot\sphinxhyphen{}bracket notation to the input (after the sequence)
that corresponds to the known structure:
\begin{itemize}
\item {} 
\sphinxAtStartPar
Prepare the input file \sphinxcode{\sphinxupquote{hard\_const\_example.fa}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{my\PYGZus{}constrained\PYGZus{}sequence}
\PYG{n}{GCCCUUGUCGAGAGGAACUCGAGACACCCACUACCCACUGAGGACUUUCG}
\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
Note here, that we left out the remainder of the input structure constraint that will
eventually be used to enforce a helix of 4 base pairs at the beginning of the sequence.
You may also fill the remainder of the constraint with dots to silence any warnings issued
by \sphinxcode{\sphinxupquote{RNAfold}}.

\item {} 
\sphinxAtStartPar
Compute the MFE structure for the input:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold hard\PYGZus{}const\PYGZus{}example.fa
\PYGZgt{}my\PYGZus{}constrained\PYGZus{}sequence
GCCCUUGUCGAGAGGAACUCGAGACACCCACUACCCACUGAGGACUUUCG
........((((((...((((.................))))..)))))) ( \PYGZhy{}8.00)
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Now compute the MFE structure under the provided constraint:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}C hard\PYGZus{}const\PYGZus{}example.fa
\PYGZgt{}my\PYGZus{}constrained\PYGZus{}sequence
GCCCUUGUCGAGAGGAACUCGAGACACCCACUACCCACUGAGGACUUUCG
..((((.....))))....(((((..((((........)).))..))))) ( \PYGZhy{}7.90)
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Due to historic reasons, the \sphinxcode{\sphinxupquote{\sphinxhyphen{}C}} option alone only forbids any base pairs
that are incompatible with the constraint, rather than enforcing the constraint. Thus,
if you compute equilibrium probabilities, structures that are missing the small helix in
the beginning are still part of the ensemble. If you want to compute the pairing probabilities
upon forcing the small helix at the beginning, you can add the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}} option:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}p \PYGZhy{}C \PYGZhy{}\PYGZhy{}enforceConstraint hard\PYGZus{}const\PYGZus{}example.fa
\PYGZgt{}my\PYGZus{}constrained\PYGZus{}sequence
GCCCUUGUCGAGAGGAACUCGAGACACCCACUACCCACUGAGGACUUUCG
..((((.....))))....(((((..((((........)).))..))))) ( \PYGZhy{}7.90)
\end{sphinxVerbatim}

\sphinxAtStartPar
Have a look at the differences in ensemble free energy and base pair probabilities between
the results obtained with and without the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}} option.

\end{itemize}

\sphinxAtStartPar
A more thorough alternative to provide constraints is to use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}} option
and a corresponding \sphinxstyleemphasis{commands file}. This allows one to specify constraints on nucleotide
or base pair level and even to restrict a constraint to particular loop types. A commands file
is a simple multi column text file with one constraint on each line. A line starts with a one\sphinxhyphen{} or
two\sphinxhyphen{}letter command, followed by multiple values that specify the addressed nucleotides, the loop
context restriction, and, for soft constraints, the strength of the constraint in \(kcal/mol\).
The syntax is as follows:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{F} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{p}{[}\PYG{n}{ORIENTATION}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Force nucleotides i...i+k\PYGZhy{}1 to be paired}
\PYG{n}{F} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Force helix of size k starting with (i,j) to be formed}
\PYG{n}{P} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Prohibit nucleotides i...i+k\PYGZhy{}1 to be paired}
\PYG{n}{P} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Prohibit pairs (i,j),...,(i+k\PYGZhy{}1,j\PYGZhy{}k+1)}
\PYG{n}{P} \PYG{n}{i}\PYG{o}{\PYGZhy{}}\PYG{n}{j} \PYG{n}{k}\PYG{o}{\PYGZhy{}}\PYG{n}{l} \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Prohibit pairing between two ranges}
\PYG{n}{C} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Nucleotides i,...,i+k\PYGZhy{}1 must appear in context TYPE}
\PYG{n}{C} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k}          \PYG{c+c1}{\PYGZsh{} Remove pairs conflicting with (i,j),...,(i+k\PYGZhy{}1,j\PYGZhy{}k+1)}
\PYG{n}{E} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k} \PYG{n}{e}        \PYG{c+c1}{\PYGZsh{} Add pseudo\PYGZhy{}energy e to nucleotides i...i+k\PYGZhy{}1}
\PYG{n}{E} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k} \PYG{n}{e}        \PYG{c+c1}{\PYGZsh{} Add pseudo\PYGZhy{}energy e to pairs (i,j),...,(i+k\PYGZhy{}1,j\PYGZhy{}k+1)}
\end{sphinxVerbatim}

\sphinxAtStartPar
with

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]}        \PYG{o}{=} \PYG{p}{\PYGZob{}} \PYG{n}{E}\PYG{p}{,} \PYG{n}{H}\PYG{p}{,} \PYG{n}{I}\PYG{p}{,} \PYG{n}{i}\PYG{p}{,} \PYG{n}{M}\PYG{p}{,} \PYG{n}{m}\PYG{p}{,} \PYG{n}{A} \PYG{p}{\PYGZcb{}}
\PYG{p}{[}\PYG{n}{ORIENTATION}\PYG{p}{]} \PYG{o}{=} \PYG{p}{\PYGZob{}} \PYG{n}{U}\PYG{p}{,} \PYG{n}{D} \PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Prepare a commands file \sphinxcode{\sphinxupquote{test.constraints}} that forces the first 5 nucleotides to pair and the
following 3 nucleotides to stay unpaired as part of a multi\sphinxhyphen{}branch loop:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{F} \PYG{l+m+mi}{1} \PYG{l+m+mi}{0} \PYG{l+m+mi}{5}
\PYG{n}{C} \PYG{l+m+mi}{6} \PYG{l+m+mi}{0} \PYG{l+m+mi}{3} \PYG{n}{M}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Use the \sphinxcode{\sphinxupquote{randseq}} program to generate multiple sequences and compute the MFE structure
for each under the constraints prepared earlier:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} randseq \PYGZhy{}n 20 | RNAfold \PYGZhy{}\PYGZhy{}commands test.constraints
\end{sphinxVerbatim}

\sphinxAtStartPar
Inspect the output to assure yourself that hte commands have been applied

\end{itemize}

\sphinxAtStartPar
A few much more sophisticated constraints will be discussed below.


\subsubsection{SHAPE directed RNA folding}
\label{\detokenize{tutorial/RNAfold:shape-directed-rna-folding}}
\sphinxAtStartPar
In order to further improve the quality of secondary structure predictions, mapping experiments like
SHAPE (selective 2’\sphinxhyphen{}hydroxyl acylation analyzed by primer extension) can be used to exerimentally determine
the pairing status for each nucleotide.
In addition to thermodynamic based secondary structure predictions, RNAfold supports the incorporation of this additional
experimental data as soft constraints.

\sphinxAtStartPar
If you want to use SHAPE data to guide the folding process, please make sure that your experimental data is present in a text file,
where each line stores three white space separated columns containing the position, the abbreviation and the normalized SHAPE reactivity for
a certain nucleotide.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{l+m+mi}{1} \PYG{n}{G} \PYG{l+m+mf}{0.134}
\PYG{l+m+mi}{2} \PYG{n}{C} \PYG{l+m+mf}{0.044}
\PYG{l+m+mi}{3} \PYG{n}{C} \PYG{l+m+mf}{0.057}
\PYG{l+m+mi}{4} \PYG{n}{G} \PYG{l+m+mf}{0.114}
\PYG{l+m+mi}{5} \PYG{n}{U} \PYG{l+m+mf}{0.094}
   \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
   \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
   \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\PYG{l+m+mi}{71} \PYG{n}{C} \PYG{l+m+mf}{0.035}
\PYG{l+m+mi}{72} \PYG{n}{G} \PYG{l+m+mf}{0.909}
\PYG{l+m+mi}{73} \PYG{n}{C} \PYG{l+m+mf}{0.224}
\PYG{l+m+mi}{74} \PYG{n}{C} \PYG{l+m+mf}{0.529}
\PYG{l+m+mi}{75} \PYG{n}{A} \PYG{l+m+mf}{1.475}
\end{sphinxVerbatim}

\sphinxAtStartPar
The second column, which holds the nucleotide abbreviation, is optional.
If it is present, the data will be used to perform a cross check against the provided input sequence.
Missing SHAPE reactivities for certain positions can be indicated by omitting the reactivity column or the whole line.
Negative reactivities will be treated as missing.
Once the SHAPE file is ready, it can be used to constrain folding:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}shape=rna.shape \PYGZhy{}\PYGZhy{}shapeMethod=D \PYGZlt{} rna.seq
\end{sphinxVerbatim}

\sphinxAtStartPar
A small compilation of reference data taken from Hajdin \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id52}{2013}{]} is available online
\sphinxurl{https://weeks.chem.unc.edu/data-files/ShapeKnots\_DATA.zip}. However, the included
reference structures are only available in connect (\sphinxcode{\sphinxupquote{.ct}}) format and require conversion into
dot\sphinxhyphen{}bracket notation to compare them against predicted structures with \sphinxcode{\sphinxupquote{RNAfold}}.
Furthermore, the normalized \sphinxcode{\sphinxupquote{SHAPE}} data is available as Excel spreadsheet and
also requires some pre\sphinxhyphen{}processing to make it available for \sphinxcode{\sphinxupquote{RNAfold}}.


\subsubsection{Adding ligand interactions}
\label{\detokenize{tutorial/RNAfold:adding-ligand-interactions}}
\sphinxAtStartPar
RNA molecules are known to interact with other molecules, such as additional RNAs, proteins,
or other small ligand molecules. Some interactions with small ligands that take place in
loops of an RNA structure can be modeled in terms of soft constraints. However, to stay
compatible with the recursive decomposition scheme for secondary structures they are
limited to the unpaired nucleotides of hairpins and internal loops.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{RNAlib}} library of the \sphinxcode{\sphinxupquote{ViennaRNA Package}} implements a most general
form of constraints capability. However, the available programs do not allow for a full
access to the implemented features. Nevertheless, \sphinxcode{\sphinxupquote{RNAfold}} provides a convenience
option that allows to easily include ligand binding to hairpin\sphinxhyphen{} or interior\sphinxhyphen{}loop like aptamer
motifs. For that purpose, a user needs only to provide motif and a binding free energy.

\sphinxAtStartPar
Consider the following example file \sphinxcode{\sphinxupquote{theo.fa}} for a theophylline triggered
riboswitch with the sequence:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{theo}\PYG{o}{\PYGZhy{}}\PYG{n}{switch}
\PYG{n}{GGUGAUACCAGAUUUCGCGAAAAAUCCCUUGGCAGCACCUCGCACAUCUUGUUGUC}
\PYG{n}{UGAUUAUUGAUUUUUCGCGAAACCAUUUGAUCAUAUGACAAGAUUGAG}
\end{sphinxVerbatim}

\sphinxAtStartPar
The theopylline aptamer structure has been actively researched during the last two decades.

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.750\linewidth]{{theo_aptamer}.png}\hspace*{\fill}}

\sphinxAtStartPar
Although the actual aptamer part (marked in blue) is not a simple interior loop, it
can still be modeled as such. It consists of two delimiting base pairs (G,C) at the
5’ site, and another (G,C) at its 3’ end. That is already enough to satisfy the requirements
for the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}motif}} option of \sphinxcode{\sphinxupquote{RNAfold}}. Together with the aptamer sequence
motif, the entire aptamer can be written down in dot\sphinxhyphen{}bracket form as:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{GAUACCAG}\PYG{o}{\PYGZam{}}\PYG{n}{CCCUUGGCAGC}
\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
Note here, that we separated the 5’ and 3’ part from each other using the \sphinxcode{\sphinxupquote{\&}}
character. This enables us to omit the variable hairpin end of the aptamer from the
specification in our model.

\sphinxAtStartPar
The only ingredient that is still missing is the actual stabilizing energy contribution
induced by the ligand binding into the aptamer pocket. But several experimental and computational
studies have already determined dissociation constants for this system. Jenison \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id53}{1994}{]},
for instance, determined a dissociation constant of \(K_d = 0.32\mu M\) which, for standard
reference concentration \(c = 1 mol/L\), can be translated into a binding free energy
\begin{equation*}
\begin{split}\Delta G = RT \cdot \ln \frac{K_d}{c} \approx -9.22~kcal/mol\end{split}
\end{equation*}
\sphinxAtStartPar
Finally, we can compute the MFE structure for our example sequence

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}v \PYGZhy{}\PYGZhy{}motif \PYGZdq{}GAUACCAG\PYGZam{}CCCUUGGCAGC,(...((((\PYGZam{})...)))...),\PYGZhy{}9.22\PYGZdq{} theo.fa
\end{sphinxVerbatim}

\sphinxAtStartPar
Compare the predicted MFE structure with and without modeling the ligand interaction.
You may also enable partition function computation to compute base pair probabilities,
the centroid structure and MEA structure to investigate the effect of ligand binding
on ensemble diversity.


\subsubsection{G\sphinxhyphen{}quadruplexes}
\label{\detokenize{tutorial/RNAfold:g-quadruplexes}}
\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are a common conformation found in G\sphinxhyphen{}rich sequences where four runs of
consecutive G’s are separated by three short sequence stretches.

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{gquad_pattern}.png}\hspace*{\fill}}

\sphinxAtStartPar
They form local self\sphinxhyphen{}enclosed stacks of G\sphinxhyphen{}quartets bound together through 8 Hogsteen\sphinxhyphen{}Watson
Crick bonds and further stabilized by a metal ion (usually potassium).

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{gquad}.png}\hspace*{\fill}}

\sphinxAtStartPar
To acknowledge the competition of regular secondary structure and G\sphinxhyphen{}quadruplex formation,
the \sphinxcode{\sphinxupquote{ViennaRNA Package}} implements an extension to the default recursion scheme.
For that purpose, G\sphinxhyphen{}quadruplexes are simply considered a different type of substructure
that may be incorporated like any other substructure. The free energy of a particular
G\sphinxhyphen{}quadruplex at temperature \(T\) is determined by a simple energy model
\begin{equation*}
\begin{split}E(L, l_{tot}, T) = a(t) \cdot (L - 1) + b(T) \cdot ln(l_{tot} - 2)\end{split}
\end{equation*}
\sphinxAtStartPar
that only considers the number of stacked layers \(L\) and the total size of the three
linker sequences \(l_{tot} = l_1 + l_2 + l_3\) connecting the G runs. Linker sequence
and assymetry effects as well as relative strand orientations (parallel, anti\sphinxhyphen{}parallel
or mixed) are entirely neglected in this model. The free energy parameters
\begin{equation*}
\begin{split}a(T) = H_a + TS_a\end{split}
\end{equation*}
\sphinxAtStartPar
and
\begin{equation*}
\begin{split}b(T) = H_b + TS_b\end{split}
\end{equation*}
\sphinxAtStartPar
have been determined from experimental UV\sphinxhyphen{}melting data taken from Zhang \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id54}{2011}{]}.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAfold}} allows one to activate the G\sphinxhyphen{}quadruplex implementation by simply
providing the \sphinxcode{\sphinxupquote{\sphinxhyphen{}g}} switch. G\sphinxhyphen{}quadruplexes are then taken into account for
MFE and equilibrium probability computations.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} echo \PYGZdq{}GGCUGGUGAUUGGAAGGGAGGGAGGUGGCCAGCC\PYGZdq{} | RNAfold \PYGZhy{}g \PYGZhy{}p
GGCUGGUGAUUGGAAGGGAGGGAGGUGGCCAGCC
((((((..........++.++..++.++)))))) (\PYGZhy{}21.39)
((((((..........(..........))))))) [\PYGZhy{}21.83]
((((((..........++.++..++.++)))))) \PYGZob{}\PYGZhy{}21.39 d=0.04\PYGZcb{}
 frequency of mfe structure in ensemble 0.491118; ensemble diversity 0.08
\end{sphinxVerbatim}

\sphinxAtStartPar
The resulting structure layout and dot plot \sphinxcode{\sphinxupquote{PostScript}} files depict the
prediced G\sphinxhyphen{}quadruplexes as hairpin\sphinxhyphen{}like loops with additional bonds between the
interacting G’s, and green triangles where the color intensity encodes the G\sphinxhyphen{}quadruplex
probability, respectively. Have a closer look at the actual G\sphinxhyphen{}quadruplex probabilities
by opening the dot plot \sphinxstyleemphasis{PostScript} file with a text browser again.

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.750\linewidth]{{gquad_menon}.png}\hspace*{\fill}}

\sphinxAtStartPar
A better drawing of the predicted G\sphinxhyphen{}quadruplex might look as follows

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{gquad_menon_nice}.png}\hspace*{\fill}}

\sphinxAtStartPar
Repeat the above analysis for other RNA sequences that might contain and form
a G\sphinxhyphen{}quadruplex, e.g. the human telomerase RNA component hTERC:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{hTERC}
\PYG{n}{AGAGAGUGACUCUCACGAGAGCCGCGAGAGUCAGCUUGGCCAAUCCGUGCGGUCGG}
\PYG{n}{CGGCCGCUCCCUUUAUAAGCCGACUCGCCCGGCAGCGCACCGGGUUGCGGAGGGUG}
\PYG{n}{GGCCUGGGAGGGGUGGUGGCCAUUUUUUGUCUAACCCUAACUGAGAAGGGCGUAGG}
\PYG{n}{CGCCGUGCUUUUGCUCCCCGCGCGCUGUUUUUCUCGCUGACUUUCAGCGGGCGGAA}
\PYG{n}{AAGCCUCGGCCUGCCGCCUUCCACCGUUCAUUCUAGAGCAAACAAAAAAUGUCAGC}
\PYG{n}{UGCUGGCCCGUUCGCCCCUCCCGGGGACCUGCGGCGGGUCGCCUGCCCAGCCCCCG}
\PYG{n}{AACCCCGCCUGGAGGCCGCGGUCGGCCCGGGGCUUCUCCGGAGGCACCCACUGCCA}
\PYG{n}{CCGCGAAGAGUUGGGCUCUGUCAGCCGCGGGUCUCUCGGGGGCGAGGGCGAGGUUC}
\PYG{n}{AGGCCUUUCAGGCCGCAGGAAGAGGAACGGAGCGAGUCCCCGCGCGCGGCGCGAUU}
\PYG{n}{CCCUGAGCUGUGGGACGUGCACCCAGGACUCGGCUCACACAUGC}
\end{sphinxVerbatim}


\subsubsection{SSB protein interaction}
\label{\detokenize{tutorial/RNAfold:ssb-protein-interaction}}
\sphinxAtStartPar
Similar to the ligand interactions discussed above, a single strand binding
(SSB) protein might bind to consecutively unpaired sequence motifs. To model
such interactions the \sphinxcode{\sphinxupquote{ViennaRNA Package}} implements yet another
extension to the folding grammar to cover all cases a protein may bind to,
termed \sphinxstyleemphasis{unstructured domains}. This is in contrast to the ligand binding
example above that uses the soft constraints implementation, and is, therefore,
restricted to unpaired hairpin\sphinxhyphen{} and interior\sphinxhyphen{}loops.

\sphinxAtStartPar
To make use of this implementation in \sphinxcode{\sphinxupquote{RNAfold}} one has to resort
to \sphinxstyleemphasis{command files} again. Here, an unstructured domain (UD) can be easily
added using the following syntax:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{UD} \PYG{n}{m} \PYG{n}{e} \PYG{p}{[}\PYG{n}{LOOP}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
where \sphinxcode{\sphinxupquote{m}} is the sequence motif the protein binds to in IUPAC format,
\sphinxcode{\sphinxupquote{e}} is the binding free energy in \(kcal/mol\), and the optional \sphinxcode{\sphinxupquote{LOOP}}
specifier allows for restricting the binding to particular loop types, e.g.
\sphinxcode{\sphinxupquote{M}} for multibranch loops, or \sphinxcode{\sphinxupquote{E}} for the exterior loop. See the
syntax for command files above for an overview of all loop types available.

\sphinxAtStartPar
As an example, consider the protein binding experiment taken from Forties and Bundschuh {[}\hyperlink{cite.bibliography:id55}{2010}{]}.
Here, the authors investigate a hypothetical unspecific RNA binding protein with a
footprint of \(6~nt\) and a binding energy of \(\Delta G = -10~kcal/mol\) at
\(1~M\). With \(T = 37^\circ C\) and
\begin{equation*}
\begin{split}\Delta G = RT \cdot \ln \frac{K_d}{c}\end{split}
\end{equation*}
\sphinxAtStartPar
this translates into a dissociation constant of
\begin{equation*}
\begin{split}K_d = exp(\Delta G / RT) = 8.983267433 \cdot 10^{-8}.\end{split}
\end{equation*}
\sphinxAtStartPar
Hence, the binding energies at \(50~nM\), \(100~nM\), \(400~nM\), and \(1~\mu M\) are \(0.36~kcal/mol\),
\(-0.07~kcal/mol\), \(-0.92~kcal/mol\), and \(-1.49~kcal/mol\), respectively.

\sphinxAtStartPar
The RNA sequence file \sphinxcode{\sphinxupquote{forties\_bundschuh.fa}} for this experiment is:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{forties\PYGZus{}bundschuh}
\PYG{n}{CGCUAUAAACCCCAAAAAAAAAAAAGGGGAAAAUAGCG}
\end{sphinxVerbatim}

\sphinxAtStartPar
which yields the following MFE structure

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{forties_ss}.png}\hspace*{\fill}}

\sphinxAtStartPar
To model the protein binding for this example with \sphinxcode{\sphinxupquote{RNAfold}} we require
a commands file for each of the concentrations in question. Thus, one simply creates
text files with a single line content:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{UD} \PYG{n}{NNNNNN} \PYG{n}{e}
\end{sphinxVerbatim}

\sphinxAtStartPar
where \sphinxcode{\sphinxupquote{e}} is the binding free energy at this specific protein concentration
as computed above. Note here, that we use \sphinxcode{\sphinxupquote{NNNNNN}} as sequence motif that is
bound by the protein to acknowledge the unspecific interaction between protein and
RNA. Finally, \sphinxcode{\sphinxupquote{RNAfold}} is executed to compute equilibrium base pairing and
per\sphinxhyphen{}nucleotide protein binding probabilities
.. code:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}p \PYGZhy{}\PYGZhy{}commands forties\PYGZus{}50nM.txt forties\PYGZus{}bundschuh.fa
\end{sphinxVerbatim}

\sphinxAtStartPar
and the produced probability dot plot can be inspected.

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{forties_50nM_dp}.png}\hspace*{\fill}}

\sphinxAtStartPar
As you can see, the dot plot is augmented with an additional linear array of blue squares
along each side that depicts the probability that the respective nucleotide is bound
by the protein. Now, repeat the computations for different protein concentrations and
compare the probabilities computed with the unstructured domain feature of the
\sphinxcode{\sphinxupquote{ViennaRNA Package}} with those in Fig. 3(a) of the publication.

\sphinxAtStartPar
Note, that \sphinxcode{\sphinxupquote{RNAfold}} allows for an unlimited number of different proteins
specified in the commands file. This easily allows one to model RNA\sphinxhyphen{}protein binding
interaction within a relatively complex solution of different competing proteins.


\subsubsection{Change other model settings}
\label{\detokenize{tutorial/RNAfold:change-other-model-settings}}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAfold}} also allows for many other changes of the implemented Nearest Neighbor
model. For instance, you can explicitly prohibit \((G,U)\) pairs, change the temperature
that is used for evaluation of the free energy of particular loops, select a different
dangling\sphinxhyphen{}end energy model or load a different set of free energy parameters, e.g. for
DNA or parameters derived from computational optimizations.

\sphinxAtStartPar
See the man pages of \sphinxcode{\sphinxupquote{RNAfold}} for a complete overview of all available options
and command line switches. Additional energy parameter collections are distributed together
with the \sphinxcode{\sphinxupquote{ViennaRNA Package}} as part of the contents of the \sphinxcode{\sphinxupquote{misc/}} directory,
and are typically installed in \sphinxcode{\sphinxupquote{prefix/share/ViennaRNA}}, where \sphinxcode{\sphinxupquote{prefix}} is the
path that was used as installation prefix, e.g. \sphinxcode{\sphinxupquote{\$HOME/Tutorial/Progs/VRP}}
or \sphinxcode{\sphinxupquote{/usr}} when installed globally using a package manager.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNApvmin}}}
\label{\detokenize{tutorial/RNApvmin:the-program-rnapvmin}}\label{\detokenize{tutorial/RNApvmin::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNApvmin:id2}}{\hyperref[\detokenize{tutorial/RNApvmin:introduction}]{\sphinxcrossref{Introduction}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNApvmin:introduction}}
\sphinxAtStartPar
The program \sphinxcode{\sphinxupquote{RNApvmin}} reads a RNA sequence from \sphinxstyleemphasis{stdin} and uses an iterative minimization
process to calculate a perturbation vector that minimizes the discripancies between predicted
pairing probabilites and observed pairing probabilities (deduced from given shape
reactivities) {[}\hyperlink{cite.bibliography:id7}{Washietl \sphinxstyleemphasis{et al.}, 2012}{]}.
The experimental SHAPE data has to be present in the file format described above.
The application will write the calculated vector of perturbation energies to \sphinxstyleemphasis{stdout},
while the progress of the minimization process is written to \sphinxstyleemphasis{stderr}.
The resulting perturbation vector can be interpreted directly and gives usefull insights into the
discrepancies between thermodynamic prediction and experimentally determined pairing status.
In addition the perturbation energies can be used to constrain folding with \sphinxcode{\sphinxupquote{RNAfold}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNApvmin rna.shape \PYGZlt{} rna.seq \PYGZgt{}vector.csv
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}shape=vector.csv \PYGZhy{}\PYGZhy{}shapeMethod=W \PYGZlt{} rna.seq
\end{sphinxVerbatim}

\sphinxAtStartPar
The perturbation vector file uses the same file format as the SHAPE data file.
Instead of SHAPE reactivities the raw perturbation energies will be storred in the last column.
Since the energy model is only adjusted when necessary, the calculated perturbation energies may be used
for the interpretation of the secondary structure prediction, since they indicate
which positions require major energy model adjustments in order to yield a prediction
result close to the experimental data. High perturbation energies for just
a few nucleotides may indicate the occurrence of features, which are not explicitly
handled by the energy model, such as posttranscriptional modifications and
intermolecular interactions.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNAsubopt}}}
\label{\detokenize{tutorial/RNAsubopt:the-program-rnasubopt}}\label{\detokenize{tutorial/RNAsubopt::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAsubopt:id3}}{\hyperref[\detokenize{tutorial/RNAsubopt:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAsubopt:id4}}{\hyperref[\detokenize{tutorial/RNAsubopt:suboptimal-folding}]{\sphinxcrossref{Suboptimal folding}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAsubopt:id5}}{\hyperref[\detokenize{tutorial/RNAsubopt:sampling-the-boltzmann-ensemble}]{\sphinxcrossref{Sampling the Boltzmann Ensemble}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNAsubopt:introduction}}
\sphinxAtStartPar
By default, \sphinxcode{\sphinxupquote{RNAsubopt}} calculates all suboptimal secondary structures within a
given energy range above the \sphinxcode{\sphinxupquote{MFE}} structure {[}\hyperlink{cite.bibliography:id33}{Wuchty \sphinxstyleemphasis{et al.}, 1999}{]}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Be careful, the number of structures returned grows exponentially with both
sequence length and energy range.
\end{sphinxadmonition}


\subsubsection{Suboptimal folding}
\label{\detokenize{tutorial/RNAsubopt:suboptimal-folding}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Generate all suboptimal structures within a certain energy range
from the \sphinxcode{\sphinxupquote{MFE}} specified by the \sphinxcode{\sphinxupquote{\sphinxhyphen{}e}} option:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAsubopt \PYGZhy{}e 1 \PYGZhy{}s \PYGZlt{} test.seq
CUACGGCGCGGCGCCCUUGGCGA   \PYGZhy{}500    100
...........((((...)))).  \PYGZhy{}5.00
....((((...))))........  \PYGZhy{}4.80
(((.((((...))))..)))...  \PYGZhy{}4.20
...((.((.((...)).)).)).  \PYGZhy{}4.10
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
The text output shows an energy sorted list (option \sphinxcode{\sphinxupquote{\sphinxhyphen{}s}}) of all secondary
structures within 1\textasciitilde{}kcal/mol of the \sphinxcode{\sphinxupquote{MFE}} structure. Our sequence actually
has a ground state structure (\sphinxhyphen{}5.70) and three structures within 1\textasciitilde{}kcal/mol
range.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{MFE}} folding alone gives no indication that there are actually a number
of plausible structures. Remember that \sphinxcode{\sphinxupquote{RNAsubopt}} cannot automatically
plot structures, therefore you can use the tool \sphinxcode{\sphinxupquote{RNAplot}}. Note that you
\sphinxstylestrong{can’t} simply pipe the  output of \sphinxcode{\sphinxupquote{RNAsubopt}} to \sphinxcode{\sphinxupquote{RNAplot}} using:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAsubopt \PYGZlt{} test.seq | RNAplot
\end{sphinxVerbatim}

\sphinxAtStartPar
You need to manually create a file for each structure you want to plot.
Here, for example we created a new file named \sphinxcode{\sphinxupquote{suboptstructure.txt}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}} \PYG{n}{suboptstructure}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{4.20}
\PYG{n}{CUACGGCGCGGCGCCCUUGGCGA}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\end{sphinxVerbatim}

\sphinxAtStartPar
The fasta header is optional, but useful (without it the outputfile will
be named \sphinxcode{\sphinxupquote{rna.ps}}).

\sphinxAtStartPar
The next two lines contain the sequence and the suboptimal structure you
want to plot; in this case we plotted the structure with the folding
energy of \sphinxhyphen{}4.20.

\sphinxAtStartPar
Then plot it with

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAplot \PYGZlt{} suboptstructure.txt
\end{sphinxVerbatim}

\sphinxAtStartPar
Note that the number of suboptimal structures grows exponentially with
sequence length and therefore this approach is only tractable for
sequences with less than 100 nt. To keep the number of suboptimal
structures manageable the option \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}} can be used, forcing
\sphinxcode{\sphinxupquote{RNAsubopt}} to produce only structures without isolated base
pairs. While \sphinxcode{\sphinxupquote{RNAsubopt}} produces \sphinxstyleemphasis{all} structures within an
energy range, \sphinxcode{\sphinxupquote{mfold}} produces only a few, hopefully representative,
structures. Try folding the sequence on the mfold
server at \sphinxurl{http://mfold.rna.albany.edu/?q=mfold}.

\sphinxAtStartPar
Sometimes you want to get information about unusual properties of the
Boltzmann ensemble (the sum of all RNA structures possible) for which no
specialized program exists. For example you want to know all fractions
of a bacterial mRNA in the Boltzmann ensemble where the Shine\sphinxhyphen{}Dalgarno (SD)
sequence is unpaired. If the SD sequence is concealed by secondary
structure the translation efficiency is reduced.

\sphinxAtStartPar
In such cases you can resort to drawing a representative sample of
structures from the Boltzmann ensemble by using the option
\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}. Now you can simply count how many structures in the sample
possess the feature you are looking for. This number divided by the
size of your sample gives you the desired fraction.

\sphinxAtStartPar
The following example calculates the fraction of structures in the
ensemble that have bases 6 to 8 unpaired.


\subsubsection{Sampling the Boltzmann Ensemble}
\label{\detokenize{tutorial/RNAsubopt:sampling-the-boltzmann-ensemble}}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAsubopt}} also implements a statisctical sampling algorithm to
draw secondary structures from the ensemble according to their equilibrium
probability {[}\hyperlink{cite.bibliography:id56}{Ding and Lawrence, 2003}{]}:
\begin{itemize}
\item {} 
\sphinxAtStartPar
Draw a sample of size 10,000 from the Boltzmann ensemble

\item {} 
\sphinxAtStartPar
Calculate the desired property, e.g. by using a \sphinxcode{\sphinxupquote{perl}} script:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAsubopt \PYGZhy{}p 10000 \PYGZlt{} test.seq \PYGZgt{} tt
\PYGZdl{} perl \PYGZhy{}nle \PYGZsq{}\PYGZdl{}h++ if substr(\PYGZdl{}\PYGZus{},5,3) eq \PYGZdq{}...\PYGZdq{};
  END \PYGZob{}print \PYGZdl{}h/\PYGZdl{}.\PYGZcb{}\PYGZsq{} tt
  0.391960803919608
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
A far better way to calculate this property is to use \sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}p}}
to get the ensemble free energy, which is related to the partition
function via \(F = -RT\ln(Q)\), for the unconstrained (\(F_u\))
and the constrained case (\(F_c\)), where the three bases are not
allowed to form base pairs (use option \sphinxcode{\sphinxupquote{\sphinxhyphen{}C}}), and evaluate
\(p_c = \exp((F_u - F_c)/RT)\) to get the desired probability.

\sphinxAtStartPar
So let’s do the calculation using \sphinxcode{\sphinxupquote{RNAfold}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}p
Input string (upper or lower case); @ to quit
....,....1....,....2....,....3....,....4....,....5....,....6....,....7....,....8
CUACGGCGCGGCGCCCUUGGCGA
length = 23
CUACGGCGCGGCGCCCUUGGCGA
...........((((...)))).
 minimum free energy =  \PYGZhy{}5.00 kcal/mol
....\PYGZob{},\PYGZob{}\PYGZob{}...||||...)\PYGZcb{}\PYGZcb{}\PYGZcb{}.
 free energy of ensemble =  \PYGZhy{}5.72 kcal/mol
....................... \PYGZob{}  0.00 d=4.66\PYGZcb{}
 frequency of mfe structure in ensemble 0.311796; ensemble diversity 6.36
\end{sphinxVerbatim}

\sphinxAtStartPar
Now we have calculated the free ensemble energy of the ensemble over all structures
\(F_u\), in the next step we have to calculate it for the structures using a
constraint (\(F_c\)).

\sphinxAtStartPar
Following notation has to be used for defining the constraint:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{|}} : paired with another base

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{.}} : no constraint at all

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{x}} : base must not pair

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textless{}}} : base i is paired with a base j\textless{}i

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textgreater{}}} : base i is paired with a base j\textgreater{}i

\item {} 
\sphinxAtStartPar
matching brackets \sphinxcode{\sphinxupquote{( )}}: base i pairs base j

\end{itemize}

\sphinxAtStartPar
So our constraint should look like this:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{n}{xxx}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\end{sphinxVerbatim}

\sphinxAtStartPar
Next call the application with following command and provide the sequence
and constraint we just created:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}p \PYGZhy{}C
\end{sphinxVerbatim}

\sphinxAtStartPar
The output should look like this:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{length} \PYG{o}{=} \PYG{l+m+mi}{23}
\PYG{n}{CUACGGCGCGGCGCCCUUGGCGA}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}
 \PYG{n}{minimum} \PYG{n}{free} \PYG{n}{energy} \PYG{o}{=}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{5.00} \PYG{n}{kcal}\PYG{o}{/}\PYG{n}{mol}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}
 \PYG{n}{free} \PYG{n}{energy} \PYG{n}{of} \PYG{n}{ensemble} \PYG{o}{=}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{5.14} \PYG{n}{kcal}\PYG{o}{/}\PYG{n}{mol}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.} \PYG{p}{\PYGZob{}} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{5.00} \PYG{n}{d}\PYG{o}{=}\PYG{l+m+mf}{0.42}\PYG{p}{\PYGZcb{}}
 \PYG{n}{frequency} \PYG{n}{of} \PYG{n}{mfe} \PYG{n}{structure} \PYG{o+ow}{in} \PYG{n}{ensemble} \PYG{l+m+mf}{0.792925}\PYG{p}{;} \PYG{n}{ensemble} \PYG{n}{diversity} \PYG{l+m+mf}{0.79}
\end{sphinxVerbatim}

\sphinxAtStartPar
Afterwards evaluate the desired probability according to the formula given before
e.g. with a simple \sphinxcode{\sphinxupquote{perl}} script:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} perl \PYGZhy{}e \PYGZsq{}print exp(\PYGZhy{}(5.72\PYGZhy{}5.14)/(0.00198*310.15)).\PYGZdq{}\PYGZbs{}n\PYGZdq{}\PYGZsq{}
\end{sphinxVerbatim}

\sphinxAtStartPar
You can see that there is a slight difference between the \sphinxcode{\sphinxupquote{RNAsubopt}} run with 10,000
samples and the \sphinxcode{\sphinxupquote{RNAfold}} run including all structures.


\section{Consensus Structure Prediction}
\label{\detokenize{getting_started:consensus-structure-prediction}}
\sphinxAtStartPar
Consensus structures can be predicted by a modified version of the
secondary structure prediction algorithm that takes as input a set of
aligned sequences instead of a single sequence.

\sphinxAtStartPar
Sequence co\sphinxhyphen{}variations are a direct consequence of RNA base pairing
rules and can be deduced to alignments. RNA helices normally contain
only 6 out of the 16 possible combinations: the Watson\sphinxhyphen{}Crick pairs
\sphinxcode{\sphinxupquote{GC}}, \sphinxcode{\sphinxupquote{CG}}, \sphinxcode{\sphinxupquote{AU}}, \sphinxcode{\sphinxupquote{UA}}, and the somewhat weaker wobble pairs
\sphinxcode{\sphinxupquote{GU}} and \sphinxcode{\sphinxupquote{UG}}. Mutations in helical regions therefore have to be
correlated. In particular we often find \sphinxstyleemphasis{compensatory mutations}
where a mutation on one side of the helix is compensated by a second
mutation on the other side, e.g. a \sphinxcode{\sphinxupquote{CG}} pair changes into a
\sphinxcode{\sphinxupquote{UA}} pair. Mutations where only one pairing partner changes (such
as \sphinxcode{\sphinxupquote{CG}} to \sphinxcode{\sphinxupquote{UG}} are termed \sphinxstyleemphasis{consistent mutations}.

\sphinxAtStartPar
The energy function consists of the mean energy averaged over the
sequences, plus a covariance term that favors pairs with consistent
and compensatory mutations and penalizes pairs that cannot be formed
by all structures. For details see Hofacker \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id20}{2002}{]} and
Bernhart \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id22}{2008}{]}.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNAalifold}}}
\label{\detokenize{tutorial/RNAalifold:the-program-rnaalifold}}\label{\detokenize{tutorial/RNAalifold::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAalifold:id1}}{\hyperref[\detokenize{tutorial/RNAalifold:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAalifold:id2}}{\hyperref[\detokenize{tutorial/RNAalifold:consensus-structure-from-related-sequences}]{\sphinxcrossref{Consensus Structure from related Sequences}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAalifold:id3}}{\hyperref[\detokenize{tutorial/RNAalifold:rnaalifold-output-files}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNAalifold}} Output Files}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAalifold:id4}}{\hyperref[\detokenize{tutorial/RNAalifold:structure-predictions-for-the-individual-sequences}]{\sphinxcrossref{Structure predictions for the individual sequences}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNAalifold:introduction}}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAalifold}} generalizes the folding algorithm for multiple sequence
alignments (MSA), treating the entire alignment as a single \sphinxstyleemphasis{generalized
sequence}.  To assign an energy to a structure on such a generalized
sequence, the energy is simply averaged over all sequences in the
alignment. This average energy is augmented by a covariance term, that
assigns a bonus or penalty to every possible base pair \((i,j)\)
based on the sequence variation in columns \(i\) and \(j\) of
the alignment.

\sphinxAtStartPar
Compensatory mutations are a strong indication of structural
conservation, while consistent mutations provide a weaker signal. The
covariance term used by \sphinxcode{\sphinxupquote{RNAalifold}} therefore assigns a bonus
of 1 kcal/mol to each consistent and 2 kcal/mol for each compensatory
mutation. Sequences that cannot form a standard base pair incur a
penalty of \(-1\) kcal/mol. Thus, for every possible consensus pair
between two columns \(i\) and \(j\) of the alignment a covariance score
\(C_{ij}\) is computed by counting the fraction of sequence pairs
exhibiting consistent and compensatory mutations, as well as the
fraction of sequences that are inconsistent with the pair. The weight
of the covariance term relative to the normal energy function, as well
as the penalty for inconsistent mutations can be changed via command
line parameters.

\sphinxAtStartPar
Apart from the covariance term, the folding algorithm in
\sphinxcode{\sphinxupquote{RNAalifold}} is essentially the same as for single sequence
folding. In particular, folding an alignment containing just one
sequence will give the same result as single sequence folding using
\sphinxcode{\sphinxupquote{RNAfold}}. For \(N\) sequences of length \(n\) the required CPU
time scales as \(\mathcal{O}(N\cdot n^2 + n^3)\) while memory
requirements grow as the square of the sequence length. Thus
\sphinxcode{\sphinxupquote{RNAalifold}} is in general faster than folding each sequence
individually. The main advantage, however, is that the accuracy of
consensus structure predictions is generally much higher than for
single sequence folding, where typically only between 40\% and 70\% of
the base pairs are predicted correctly.

\sphinxAtStartPar
Apart from prediction of \sphinxcode{\sphinxupquote{MFE}} structures \sphinxcode{\sphinxupquote{RNAalifold}}
also implements an algorithm to compute the partition function over
all possible (consensus) structures and the thermodynamic equilibrium
probability for each possible pair. These base pairing probabilities
are useful to see structural alternatives, and to distinguish well
defined regions, where the predicted structure is most likely correct,
from ambiguous regions.

\sphinxAtStartPar
As a first example we’ll produce a consensus structure prediction for
the following four tRNA sequences.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat \PYGZgt{} four.seq
\PYGZgt{}M10740 Yeast\PYGZhy{}PHE
GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA
\PYGZgt{}K00349 Drosophila\PYGZhy{}PHE
GCCGAAAUAGCUCAGUUGGGAGAGCGUUAGACUGAAGAUCUAAAGGUCCCCGGUUCAAUCCCGGGUUUCGGCA
\PYGZgt{}K00283 Halobacterium volcanii Lys\PYGZhy{}tRNA\PYGZhy{}1
GGGCCGGUAGCUCAUUUAGGCAGAGCGUCUGACUCUUAAUCAGACGGUCGCGUGUUCGAAUCGCGUCCGGCCCA
\PYGZgt{}AF346993
CAGAGUGUAGCUUAACACAAAGCACCCAACUUACACUUAGGAGAUUUCAACUUAACUUGACCGCUCUGA
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAalifold}} uses aligned sequences as input. Thus, our first step will be
to align the sequences. We use \sphinxcode{\sphinxupquote{clustalw2}} in this example, since it’s one
of the most widely used alignment programs and has been shown to work well on
structural RNAs. Other alignment programs can be used (including programs that
attempt to do structural alignment of RNAs), but for this example the resulting
multiple sequence alignment should be in \sphinxcode{\sphinxupquote{Clustal}} format. Get \sphinxcode{\sphinxupquote{clustalw2}}
and install it as you have done it with the other packages:
\sphinxurl{http://www.clustal.org/clustal2}.


\subsubsection{Consensus Structure from related Sequences}
\label{\detokenize{tutorial/RNAalifold:consensus-structure-from-related-sequences}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Prepare a sequence file (use file \sphinxcode{\sphinxupquote{four.seq}} and copy it to your working directory)

\item {} 
\sphinxAtStartPar
Align the sequences

\item {} 
\sphinxAtStartPar
Compute the consensus structure from the alignment

\item {} 
\sphinxAtStartPar
Inspect the output files \sphinxcode{\sphinxupquote{alifold.out}}, \sphinxcode{\sphinxupquote{alirna.ps}}, \sphinxcode{\sphinxupquote{alidot.ps}}

\item {} 
\sphinxAtStartPar
For comparison fold the sequences individually using \sphinxcode{\sphinxupquote{RNAfold}}

\end{itemize}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} clustalw2 four.seq \PYGZgt{} four.out
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Clustalw2}} creates two more output files, \sphinxcode{\sphinxupquote{four.aln}} and \sphinxcode{\sphinxupquote{four.dnd}}.
For \sphinxcode{\sphinxupquote{RNAalifold}} you need the \sphinxcode{\sphinxupquote{.aln}} file.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAalifold \PYGZhy{}p four.aln
\PYGZdl{} RNAfold \PYGZhy{}p \PYGZlt{} four.seq
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAalifold}} output:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{\PYGZus{}\PYGZus{}GCCGAUGUAGCUCAGUUGGG\PYGZus{}AGAGCGCCAGACUGAAAAUCAGAAGGUCCCGUGUUCAAUCCACGGAUCCGGCA\PYGZus{}\PYGZus{}}
\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
 \PYG{n}{minimum} \PYG{n}{free} \PYG{n}{energy} \PYG{o}{=} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{15.12} \PYG{n}{kcal}\PYG{o}{/}\PYG{n}{mol} \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{13.70} \PYG{o}{+}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.43}\PYG{p}{)}
\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{\PYGZob{}}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{\PYGZcb{}}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
 \PYG{n}{free} \PYG{n}{energy} \PYG{n}{of} \PYG{n}{ensemble} \PYG{o}{=} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{15.75} \PYG{n}{kcal}\PYG{o}{/}\PYG{n}{mol}
 \PYG{n}{frequency} \PYG{n}{of} \PYG{n}{mfe} \PYG{n}{structure} \PYG{o+ow}{in} \PYG{n}{ensemble} \PYG{l+m+mf}{0.361603}
\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{15.20} \PYG{p}{\PYGZob{}}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{13.70} \PYG{o}{+}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.50}\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAfold}} output:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{M10740} \PYG{n}{Yeast}\PYG{o}{\PYGZhy{}}\PYG{n}{PHE}
\PYG{n}{GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.} \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{21.60}\PYG{p}{)}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{\PYGZob{}}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{,}\PYG{p}{,}\PYG{o}{.}\PYG{p}{\PYGZob{}}\PYG{p}{,}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{,}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.} \PYG{p}{[}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{23.20}\PYG{p}{]}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.} \PYG{p}{\PYGZob{}}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{20.00} \PYG{n}{d}\PYG{o}{=}\PYG{l+m+mf}{9.63}\PYG{p}{\PYGZcb{}}
 \PYG{n}{frequency} \PYG{n}{of} \PYG{n}{mfe} \PYG{n}{structure} \PYG{o+ow}{in} \PYG{n}{ensemble} \PYG{l+m+mf}{0.0744065}\PYG{p}{;} \PYG{n}{ensemble} \PYG{n}{diversity} \PYG{l+m+mf}{15.35}
\PYG{o}{\PYGZgt{}}\PYG{n}{K00349} \PYG{n}{Drosophila}\PYG{o}{\PYGZhy{}}\PYG{n}{PHE}
\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
The output contains a consensus sequence and the consensus structure in
dot\sphinxhyphen{}bracket notation. The consensus structure has an energy of
\(-15.12\) kcal/mol, which in turn consists of the average free energy of
the structure \(-13.70\) kcal/mol and the covariance term \(-1.43\)
kcal/mol. The strongly negative covariance term shows that there must be a
fair number of consistent and compensatory mutations, but in contrast to the
average free energy it’s not meaningful in the biophysical sense.

\sphinxAtStartPar
Compare the predicted consensus structure with the structures predicted for
the individual sequences using \sphinxcode{\sphinxupquote{RNAfold}}. How often is the correct
\sphinxcode{\sphinxupquote{clover\sphinxhyphen{}leaf}} shape predicted?

\sphinxAtStartPar
For better visualization, a structure annotated alignment or color annotated
structure drawing can be generated by using the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}color}}
options of \sphinxcode{\sphinxupquote{RNAalifold}}.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAalifold \PYGZhy{}\PYGZhy{}color \PYGZhy{}\PYGZhy{}aln four.aln
\PYGZdl{} gv aln.ps \PYGZam{}
\PYGZdl{} gv alirna.ps \PYGZam{}
\end{sphinxVerbatim}


\subsubsection{\sphinxstyleliteralintitle{\sphinxupquote{RNAalifold}} Output Files}
\label{\detokenize{tutorial/RNAalifold:rnaalifold-output-files}}
\sphinxAtStartPar
Content of the \sphinxcode{\sphinxupquote{alifold.out}} file:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{l+m+mi}{4} \PYG{n}{sequence}\PYG{p}{;} \PYG{n}{length} \PYG{n}{of} \PYG{n}{alignment} \PYG{l+m+mi}{78}
\PYG{n}{alifold} \PYG{n}{output}
    \PYG{l+m+mi}{6}    \PYG{l+m+mi}{72}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{99.8}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.007} \PYG{n}{GC}\PYG{p}{:}\PYG{l+m+mi}{2}    \PYG{n}{GU}\PYG{p}{:}\PYG{l+m+mi}{1}    \PYG{n}{AU}\PYG{p}{:}\PYG{l+m+mi}{1}
   \PYG{l+m+mi}{33}    \PYG{l+m+mi}{43}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{98.9}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.033} \PYG{n}{GC}\PYG{p}{:}\PYG{l+m+mi}{2}    \PYG{n}{GU}\PYG{p}{:}\PYG{l+m+mi}{1}    \PYG{n}{AU}\PYG{p}{:}\PYG{l+m+mi}{1}
   \PYG{l+m+mi}{31}    \PYG{l+m+mi}{45}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{99.0}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.030} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{3}    \PYG{n}{UA}\PYG{p}{:}\PYG{l+m+mi}{1}
   \PYG{l+m+mi}{15}    \PYG{l+m+mi}{25}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{98.9}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.045} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{3}    \PYG{n}{UA}\PYG{p}{:}\PYG{l+m+mi}{1}
    \PYG{l+m+mi}{5}    \PYG{l+m+mi}{73}  \PYG{l+m+mi}{1}  \PYG{l+m+mf}{99.7}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.008} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{2}    \PYG{n}{GC}\PYG{p}{:}\PYG{l+m+mi}{1}
   \PYG{l+m+mi}{13}    \PYG{l+m+mi}{27}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{99.1}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.042} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{4}
   \PYG{l+m+mi}{14}    \PYG{l+m+mi}{26}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{99.1}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.042} \PYG{n}{UA}\PYG{p}{:}\PYG{l+m+mi}{4}
    \PYG{l+m+mi}{4}    \PYG{l+m+mi}{74}  \PYG{l+m+mi}{1}  \PYG{l+m+mf}{99.5}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.015} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{3}
\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
The last output file produced by \sphinxcode{\sphinxupquote{RNAalifold \sphinxhyphen{}p}}, named \sphinxcode{\sphinxupquote{alifold.out}},
is a plain text file with detailed information on all plausible base pairs
sorted by the likelihood of the pair.  In the example above we see that the
pair \((6,72)\) has no inconsistent sequences, is predicted almost with
probability 1, and occurs as a \sphinxcode{\sphinxupquote{GC}} pair in two sequences, a \sphinxcode{\sphinxupquote{GU}} pair
in one, and a \sphinxcode{\sphinxupquote{AU}} pair in another.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAalifold}} automatically produces a drawing of the consensus structure
in Postscript format and writes it to the file \sphinxcode{\sphinxupquote{alirna.ps}}. In the
structure graph consistent and compensatory mutations are marked by a
circle around the variable base(s), i.e. pairs where one pairing partner
is encircled exhibit consistent mutations, whereas pairs supported by
compensatory mutations have both bases marked. Pairs that cannot be formed
by some of the sequences are shown gray instead of black.

\sphinxAtStartPar
The structure layout and dotplot files \sphinxcode{\sphinxupquote{alirna.ps}} and \sphinxcode{\sphinxupquote{alidot.ps}}
should look as follows:

\sphinxAtStartPar
\sphinxincludegraphics[width=0.450\linewidth]{{alirna}.png} \sphinxincludegraphics[width=0.450\linewidth]{{alidot}.png}

\sphinxAtStartPar
In the example given, many pairs show such inconsistencies. This is because
one of the sequences (AF346993) is not aligned well by \sphinxcode{\sphinxupquote{clustalw}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Subsequent calls to \sphinxcode{\sphinxupquote{RNAalifold}} will overwrite any existing output
\sphinxcode{\sphinxupquote{alirna.ps}} (\sphinxcode{\sphinxupquote{alidot.ps}}, \sphinxcode{\sphinxupquote{alifold.out}}) files in the current
directory. Be sure to rename any files you want to keep.
\end{sphinxadmonition}


\subsubsection{Structure predictions for the individual sequences}
\label{\detokenize{tutorial/RNAalifold:structure-predictions-for-the-individual-sequences}}
\sphinxAtStartPar
The consensus structure computed by \sphinxcode{\sphinxupquote{RNAalifold}} will contain only
pairs that can be formed by most of the sequences. The structures of the
individual sequences will typically have additional base pairs that are not
part of the consensus structure. Moreover, ncRNA may exhibit a highly
conserved core structure while other regions are more variable. It may
therefore be desirable to produce structure predictions for one particular
sequence, while still using covariance information from other sequences.

\sphinxAtStartPar
This can be accomplished by first computing the consensus structure for all
sequences using \sphinxcode{\sphinxupquote{RNAalifold}}, then folding individual sequences using
\sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}C}} with the consensus structure as a constraint. In
constraint folding mode \sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}C}} allows only base pairs to form
which are compatible with the constraint structure. This resulting
structure typically contains most of the constraint (the consensus
structure)  plus some additional pairs that are specific for this sequence.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{refold.pl}} script removes gaps and maps the consensus structure to
each individual sequence.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAalifold  RNaseP.aln \PYGZgt{} RNaseP.alifold
\PYGZdl{} gv alirna.ps
\PYGZdl{} refold.pl RNaseP.aln RNaseP.alifold | head \PYGZhy{}3 \PYGZgt{} RNaseP.cfold
\PYGZdl{} RNAfold \PYGZhy{}C \PYGZhy{}\PYGZhy{}noLP \PYGZlt{} RNaseP.cfold \PYGZgt{} RNaseP.refold
\PYGZdl{} gv E\PYGZhy{}coli\PYGZus{}ss.ps
\end{sphinxVerbatim}

\sphinxAtStartPar
If you compare the refolded structure (\sphinxcode{\sphinxupquote{E\sphinxhyphen{}coli\_ss.ps}}) with the
structure you get by simply folding the E.coli sequence in the
\sphinxcode{\sphinxupquote{RNaseP.seq}} file (\sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}\sphinxhyphen{}noLP}}) you find a clear rearrangement.

\sphinxAtStartPar
In cases where constrained folding results in a structure that is very
different from the consensus, or if the energy from constrained
folding is much worse than from unconstrained folding, this may
indicate that the sequence in question does not really share a common
structure with the rest of the alignment or is misaligned. One should
then either remove or re\sphinxhyphen{}align that sequence and recompute the
consensus structure.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Note that since RNase P forms sizable pseudo\sphinxhyphen{}knots, a perfect
prediction is impossible in this case.
\end{sphinxadmonition}


\section{RNA\sphinxhyphen{}RNA interaction}
\label{\detokenize{getting_started:rna-rna-interaction}}
\sphinxAtStartPar
A common problem is the prediction of binding sites between two RNAs, as in
the case of miRNA\sphinxhyphen{}mRNA interactions. Following tools of the \sphinxcode{\sphinxupquote{ViennaRNA Package}}
can be used to calculate base pairing probabilities.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNAcofold}}}
\label{\detokenize{tutorial/RNAcofold:the-program-rnacofold}}\label{\detokenize{tutorial/RNAcofold::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAcofold:id2}}{\hyperref[\detokenize{tutorial/RNAcofold:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAcofold:id3}}{\hyperref[\detokenize{tutorial/RNAcofold:two-sequences-one-structure}]{\sphinxcrossref{Two Sequences one Structure}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAcofold:id4}}{\hyperref[\detokenize{tutorial/RNAcofold:concentration-dependency}]{\sphinxcrossref{Concentration Dependency}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAcofold:id5}}{\hyperref[\detokenize{tutorial/RNAcofold:concentration-dependency-plot}]{\sphinxcrossref{Concentration Dependency Plot}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNAcofold:introduction}}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAcofold}} works much like \sphinxcode{\sphinxupquote{RNAfold}} but uses two RNA sequences as input
which are then allowed to form a dimer structure. In the input the two RNA
sequences should be concatenated using the \sphinxcode{\sphinxupquote{\&}} character as separator. As
in \sphinxcode{\sphinxupquote{RNAfold}} the \sphinxcode{\sphinxupquote{\sphinxhyphen{}p}} option can be used to compute partition function
and base pairing probabilities.

\sphinxAtStartPar
Since dimer formation is concentration dependent, \sphinxcode{\sphinxupquote{RNAcofold}} can be used
to compute equilibrium concentrations for all five monomer and
(homo/hetero)\sphinxhyphen{}dimer species, given input concentrations for the monomers
(see the \sphinxcode{\sphinxupquote{man}} page for details).


\subsubsection{Two Sequences one Structure}
\label{\detokenize{tutorial/RNAcofold:two-sequences-one-structure}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Prepare a sequence file (\sphinxcode{\sphinxupquote{t.seq}}) for input that looks like this:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{t}
\PYG{n}{GCGCUUCGCCGCGCGCC}\PYG{o}{\PYGZam{}}\PYG{n}{GCGCUUCGCCGCGCGCA}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Compute the \sphinxcode{\sphinxupquote{MFE}} and the ensemble properties

\item {} 
\sphinxAtStartPar
Look at the generated PostScript files \sphinxcode{\sphinxupquote{t\_ss.ps}} and \sphinxcode{\sphinxupquote{t\_dp.ps}}

\end{itemize}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAcofold \PYGZhy{}p \PYGZlt{} t.seq
\PYGZgt{}t
GCGCUUCGCCGCGCGCC\PYGZam{}GCGCUUCGCCGCGCGCA
((((..((..((((...\PYGZam{}))))..))..))))... (\PYGZhy{}17.70)
((((..\PYGZob{}(,.((((,,.\PYGZam{}))))..\PYGZcb{}),.)))),,. [\PYGZhy{}18.26]
 frequency of mfe structure in ensemble 0.401754 , delta G binding= \PYGZhy{}3.95
\end{sphinxVerbatim}


\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\sphinxcapstartof{table}
\sphinxthecaptionisattop
\sphinxcaption{Secondary Structure and Dot Plot}\label{\detokenize{tutorial/RNAcofold:id1}}
\sphinxaftertopcaption
\begin{tabular}[t]{\X{50}{100}\X{50}{100}}
\sphinxtoprule
\sphinxtableatstartofbodyhook
\noindent\sphinxincludegraphics{{t_ss}.png}
&
\noindent\sphinxincludegraphics{{t_dp}.png}
\\
\sphinxbottomrule
\end{tabular}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

\sphinxAtStartPar
In the dot plot a cross marks the chain break between the two concatenated sequences.


\subsubsection{Concentration Dependency}
\label{\detokenize{tutorial/RNAcofold:concentration-dependency}}
\sphinxAtStartPar
Cofolding is an intermolecular process, therefore whether duplex formation will
actually occur is concentration dependent. Trivially, if one of the molecules is
not present, no dimers are going to be formed. The partition functions of the
molecules give us the equilibrium constants:
\begin{equation*}
\begin{split}K_{AB} = \frac{[AB]}{[A][B]} = \frac{Z_{AB}}{Z_AZ_B}\end{split}
\end{equation*}
\sphinxAtStartPar
with these and mass conservation, the equilibrium concentration of homodimers,
heterodimers and monomers can be computed in dependence of the start concentrations
of the two molecules.

\sphinxAtStartPar
This is most easily done by creating a file with the initial concentrations of
molecules \(A\) and \(B\) in two columns:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{[}\PYG{n}{a\PYGZus{}1}\PYG{p}{]}\PYG{p}{(}\PYG{p}{[}\PYG{n}{mol}\PYG{o}{/}\PYG{n}{l}\PYG{p}{]}\PYG{p}{)}  \PYG{p}{[}\PYG{n}{b\PYGZus{}1}\PYG{p}{]}\PYG{p}{(}\PYG{p}{[}\PYG{n}{mol}\PYG{o}{/}\PYG{n}{l}\PYG{p}{]}\PYG{p}{)}
\PYG{p}{[}\PYG{n}{a\PYGZus{}2}\PYG{p}{]}\PYG{p}{(}\PYG{p}{[}\PYG{n}{mol}\PYG{o}{/}\PYG{n}{l}\PYG{p}{]}\PYG{p}{)}  \PYG{p}{[}\PYG{n}{b\PYGZus{}2}\PYG{p}{]}\PYG{p}{(}\PYG{p}{[}\PYG{n}{mol}\PYG{o}{/}\PYG{n}{l}\PYG{p}{]}\PYG{p}{)}

\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}

\PYG{p}{[}\PYG{n}{a\PYGZus{}n}\PYG{p}{]}\PYG{p}{(}\PYG{p}{[}\PYG{n}{mol}\PYG{o}{/}\PYG{n}{l}\PYG{p}{]}\PYG{p}{)}  \PYG{o}{\PYGZam{}} \PYG{p}{[}\PYG{n}{b\PYGZus{}n}\PYG{p}{]}\PYG{p}{(}\PYG{p}{[}\PYG{n}{mol}\PYG{o}{/}\PYG{n}{l}\PYG{p}{]}\PYG{p}{)}
\end{sphinxVerbatim}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Prepare a concentration file for input with this little \sphinxcode{\sphinxupquote{perl}} script:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} perl \PYGZhy{}e \PYGZsq{}\PYGZdl{}c=1e\PYGZhy{}07; do \PYGZob{}print \PYGZdq{}\PYGZdl{}c\PYGZbs{}t\PYGZdl{}c\PYGZbs{}n\PYGZdq{}; \PYGZdl{}c*=1.71;\PYGZcb{} while \PYGZdl{}c\PYGZlt{}0.2\PYGZsq{} \PYGZgt{} concfile
\end{sphinxVerbatim}

\sphinxAtStartPar
This script creates a file displaying values from 1e\sphinxhyphen{}07 to just below 0.2,
with 1.71\sphinxhyphen{}fold steps in between. For convenience, concentration of molecule A
is the same as concentration of molecule B in each row. This will facilitate
visualization of the results.

\item {} 
\sphinxAtStartPar
Compute the \sphinxcode{\sphinxupquote{MFE}}, the ensemble properties and the concentration dependency
of hybridization:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAcofold \PYGZhy{}f concfile \PYGZlt{} t.seq \PYGZgt{} cofold.out
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Look at the generated output with:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} less cofold.out
\end{sphinxVerbatim}

\sphinxAtStartPar
which should be similar to:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}
\PYG{n}{Free} \PYG{n}{Energies}\PYG{p}{:}
\PYG{n}{AB}              \PYG{n}{AA}              \PYG{n}{BB}              \PYG{n}{A}               \PYG{n}{B}
\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{18.261023}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{17.562553}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{18.274376}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{7.017902}       \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{7.290237}
\PYG{n}{Initial} \PYG{n}{concentrations}          \PYG{n}{relative} \PYG{n}{Equilibrium} \PYG{n}{concentrations}
\PYG{n}{A}                \PYG{n}{B}               \PYG{n}{AB}              \PYG{n}{AA}              \PYG{n}{BB}              \PYG{n}{A}               \PYG{n}{B}
\PYG{l+m+mf}{1e\PYGZhy{}07}           \PYG{l+m+mf}{1e\PYGZhy{}07}           \PYG{l+m+mf}{0.00003}         \PYG{l+m+mf}{0.00002}         \PYG{l+m+mf}{0.00002}         \PYG{l+m+mf}{0.49994}         \PYG{l+m+mf}{0.49993}
\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
The five different free energies were printed out first, followed by a list
of all the equilibrium concentrations, where the first two columns denote the
initial (absolute) concentrations of molecules \(A\) and \(B\),
respectively. The next five columns denote the equilibrium concentrations
of dimers and monomers, relative to the total particle number.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The concentrations don’t add up to one, except in the case where no dimers
are built \textendash{} if you want to know the fraction of particles in a dimer, you
have to take the relative dimer concentrations times 2.
\end{sphinxadmonition}

\sphinxAtStartPar
Since relative concentrations of species depend on two independent values \sphinxhyphen{}
initial concentration of A as well as initial concentration of B \sphinxhyphen{} it is not
trivial to visualize the results. For this reason we used the same concentration
for A and for B. Another possibility would be to keep the initial concentration of
one molecule constant.
As an example we show the following plot of \sphinxcode{\sphinxupquote{t.seq}}.

\sphinxAtStartPar
Now we use some commandline tools to render our plot. We use \sphinxcode{\sphinxupquote{tail \sphinxhyphen{}n +11}} to
show all lines starting with line 11 (1\sphinxhyphen{}10 are cut) and pipe it into an \sphinxcode{\sphinxupquote{awk}}
command, which prints every column but the first from our input.
This is then piped to \sphinxcode{\sphinxupquote{xmgrace}}.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}log x \sphinxhyphen{}nxy \sphinxhyphen{}}} we tell it to plot the x axis in logarithmic scale and to
read data file in X Y1 Y2 … format.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} tail \PYGZhy{}n +11 cofold.out | awk \PYGZsq{}\PYGZob{}print \PYGZdl{}2, \PYGZdl{}3, \PYGZdl{}4, \PYGZdl{}5, \PYGZdl{}6, \PYGZdl{}7\PYGZcb{}\PYGZsq{} | xmgrace \PYGZhy{}log x \PYGZhy{}nxy \PYGZhy{}
\end{sphinxVerbatim}


\subsubsection{Concentration Dependency Plot}
\label{\detokenize{tutorial/RNAcofold:concentration-dependency-plot}}
\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.660\linewidth]{{tconcdep}.png}\hspace*{\fill}}

\sphinxAtStartPar
Since the two sequences are almost identical, the monomer and homo\sphinxhyphen{}dimer
concentrations behave very similarly. In this example, at a concentration of
about 1 mmol 50\% of the molecule is still in monomer form.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNAduplex}}}
\label{\detokenize{tutorial/RNAduplex:the-program-rnaduplex}}\label{\detokenize{tutorial/RNAduplex::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAduplex:id1}}{\hyperref[\detokenize{tutorial/RNAduplex:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAduplex:id2}}{\hyperref[\detokenize{tutorial/RNAduplex:binding-site-prediction-with-rnaduplex}]{\sphinxcrossref{Binding site prediction with \sphinxcode{\sphinxupquote{RNAduplex}}}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAduplex:id3}}{\hyperref[\detokenize{tutorial/RNAduplex:binding-site-prediction-with-rnaup}]{\sphinxcrossref{Binding site prediction with \sphinxcode{\sphinxupquote{RNAup}}}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNAduplex:introduction}}
\sphinxAtStartPar
If the sequences are very long (many kb) \sphinxcode{\sphinxupquote{RNAcofold}} is too slow
to be useful. The \sphinxcode{\sphinxupquote{RNAduplex}} program is a fast alternative, that works by
predicting \sphinxstyleemphasis{only} intermolecular base pairs. It’s almost as fast as simple
sequence alignment, but much more accurate than a \sphinxcode{\sphinxupquote{BLAST}} search.

\sphinxAtStartPar
The example below searches the 3’ UTR of an mRNA for a miRNA binding site.


\subsubsection{Binding site prediction with \sphinxstyleliteralintitle{\sphinxupquote{RNAduplex}}}
\label{\detokenize{tutorial/RNAduplex:binding-site-prediction-with-rnaduplex}}
\sphinxAtStartPar
The file \sphinxcode{\sphinxupquote{duplex.seq}} contains the 3’UTR of \sphinxcode{\sphinxupquote{NM\_024615}} and the
microRNA mir\sphinxhyphen{}145.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAduplex \PYGZlt{} duplex.seq
\PYGZgt{}NM\PYGZus{}024615
\PYGZgt{}hsa\PYGZhy{}miR\PYGZhy{}145
.(((((.(((...((((((((((.\PYGZam{})))))))))))))))))).  34,57  :   1,19  (\PYGZhy{}21.90)
\end{sphinxVerbatim}

\sphinxAtStartPar
Most favorable binding has an interaction energy of \sphinxhyphen{}21.90 kcal/mol and pairs
up on positions 34\sphinxhyphen{}57 of the UTR with positions 1\sphinxhyphen{}22 of the miRNA.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAduplex}} can also produce alternative binding sites, e.g. running
\sphinxcode{\sphinxupquote{RNAduplex \sphinxhyphen{}e 10}} would list all binding sites within 10 kcal/mol of
the best one.

\sphinxAtStartPar
Since \sphinxcode{\sphinxupquote{RNAduplex}} forms only intermolecular pairs, it neglects the
competition between intramolecular folding and hybridization. Thus, it is
recommended to use \sphinxcode{\sphinxupquote{RNAduplex}} as a pre\sphinxhyphen{}filter and analyse good
\sphinxcode{\sphinxupquote{RNAduplex}} hits additionally with \sphinxcode{\sphinxupquote{RNAcofold}} or
\sphinxcode{\sphinxupquote{RNAup}}. Using the example above, running \sphinxcode{\sphinxupquote{RNAup}} will yield:


\subsubsection{Binding site prediction with \sphinxstyleliteralintitle{\sphinxupquote{RNAup}}}
\label{\detokenize{tutorial/RNAduplex:binding-site-prediction-with-rnaup}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAup \PYGZhy{}b \PYGZlt{} duplex.seq
\PYGZgt{}NM\PYGZus{}024615
\PYGZgt{}hsa\PYGZhy{}miR\PYGZhy{}145
(((((((\PYGZam{})))))))  50,56  :   1,7   (\PYGZhy{}8.41 = \PYGZhy{}9.50 + 0.69 + 0.40)
GCUGGAU\PYGZam{}GUCCAGU
RNAup output in file: hsa\PYGZhy{}miR\PYGZhy{}145\PYGZus{}NM\PYGZus{}024615\PYGZus{}w25\PYGZus{}u1.out
\end{sphinxVerbatim}

\sphinxAtStartPar
The free energy of the duplex is \sphinxhyphen{}9.50 kcal/mol and shows a discrepancy to the
structure and energy value computed by \sphinxcode{\sphinxupquote{RNAduplex}} (differences may arise from
the fact that \sphinxcode{\sphinxupquote{RNAup}} computes partition functions rather than optimal
structures).

\sphinxAtStartPar
However, the total free energy of binding is less favorable (\sphinxhyphen{}8.41 kcal/mol),
since it includes the energetic penalty for opening the binding site on the
mRNA (0.69 kcal/mol) and miRNA (0.40 kcal/mol). The \sphinxcode{\sphinxupquote{\sphinxhyphen{}b}} option includes the
probability of unpaired regions in both RNAs.

\sphinxAtStartPar
You can also run \sphinxcode{\sphinxupquote{RNAcofold}} on the example to see the complete structure
after hybridization (neither \sphinxcode{\sphinxupquote{RNAduplex}} nor \sphinxcode{\sphinxupquote{RNAup}} produce structure
drawings). Note however, that the input format for \sphinxcode{\sphinxupquote{RNAcofold}} is different.
An input file suitable for \sphinxcode{\sphinxupquote{RNAcofold}} has to be created from the
\sphinxcode{\sphinxupquote{duplex.seq}} file first (use any text editor).

\sphinxAtStartPar
As a more difficult example, let’s look at the interaction of the bacterial
smallRNA RybB and its target mRNA ompN. First we’ll try predicting the binding
site using \sphinxcode{\sphinxupquote{RNAduplex}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAduplex \PYGZlt{} RybB.seq
\PYGZgt{}RybB
\PYGZgt{}ompN
.((((..((((((.(((....((((((((..(((((.((..((.((....((((..(((((((((((..((((((\PYGZam{}
.))))))..))))))).)))).....))))....)).)).)).))).))..))))........))))..))).)))))).)))).
 5,79  :  80,164 (\PYGZhy{}34.60)
\end{sphinxVerbatim}

\sphinxAtStartPar
Note, that the predicted structure spans almost the full length of the RybB small RNA.
Compare the predicted interaction to the structures predicted for RybB and ompN alone,
and ask yourself whether the predicted interaction is indeed plausible.

\sphinxAtStartPar
Below the structure of ompN on the left and RybB on the right side. The respective
binding regions predicted by RNAduplex are marked in red:

\sphinxAtStartPar
\sphinxincludegraphics[width=0.450\linewidth]{{ompN_ss}.png} \sphinxincludegraphics[width=0.250\linewidth]{{RybB_ss}.png}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{GCCAC}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{TGCTTTTCTTTGATGTCCCCATTTT}\PYG{o}{\PYGZhy{}}\PYG{n}{GTGGA}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{GC}\PYG{o}{\PYGZhy{}}\PYG{n}{CCATCAACCCCGCCATTTCGGTT}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{CAAG}\PYG{o}{\PYGZhy{}}\PYG{n}{GTTGGTGGGTTTTTT}
 \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}      \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}  \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|} \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}    \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|} \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}        \PYG{o}{|}\PYG{o}{|} \PYG{o}{|}\PYG{o}{|}\PYG{o}{|} \PYG{o}{|}\PYG{o}{|} \PYG{o}{|}\PYG{o}{|}  \PYG{o}{|}\PYG{o}{|}    \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}     \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|} \PYG{o}{|}\PYG{o}{|}  \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}  \PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|}\PYG{o}{|} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{40.30}
\PYG{n}{AGGTCAAACAACGGC}\PYG{o}{\PYGZhy{}}\PYG{n}{AGAAACAATATT}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{TAAAGTCGCCGCACACGACGCGGTCGTCGGT}\PYG{o}{\PYGZhy{}}\PYG{n}{CGTCTCGGCCCTACTGTTCACGGTTATGAAAAGAAACC}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{3}\PYG{l+s+s1}{\PYGZsq{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Compare the \sphinxcode{\sphinxupquote{RNAduplex}} prediction with the interaction predicted by
\sphinxcode{\sphinxupquote{RNAcofold}}, \sphinxcode{\sphinxupquote{RNAup}} and the handcrafted prediction you see above.

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.660\linewidth]{{OmpN_cofold}.png}\hspace*{\fill}}


\section{Plotting Structures}
\label{\detokenize{getting_started:plotting-structures}}
\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNAplot}}}
\label{\detokenize{tutorial/RNAplot:the-program-rnaplot}}\label{\detokenize{tutorial/RNAplot::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAplot:id1}}{\hyperref[\detokenize{tutorial/RNAplot:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAplot:id2}}{\hyperref[\detokenize{tutorial/RNAplot:postscript-macros}]{\sphinxcrossref{PostScript macros}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNAplot:introduction}}
\sphinxAtStartPar
You can manually add additional annotation to structure drawings using the \sphinxcode{\sphinxupquote{RNAplot}}
program (for information see its \sphinxcode{\sphinxupquote{man}} page). Here’s a somewhat complicated example:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold 5S.seq \PYGZgt{} 5S.fold
\PYGZdl{} RNAplot \PYGZhy{}\PYGZhy{}pre \PYGZdq{}76 107 82 102 GREEN BFmark 44 49 0.8 0.8 0.8 Fomark \PYGZbs{}
  1 15 8 RED omark 80 cmark 80 \PYGZhy{}0.23 \PYGZhy{}1.2 (pos80) Label 90 95 BLUE Fomark\PYGZdq{} \PYGZlt{} 5S.fold
\PYGZdl{} gv 5S\PYGZus{}ss.ps
\end{sphinxVerbatim}

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{5S_ss}.png}\hspace*{\fill}}


\subsubsection{PostScript macros}
\label{\detokenize{tutorial/RNAplot:postscript-macros}}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAplot}} is a very useful tool to color structure layout plots. The \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pre}} tag adds
PostScript code required to color distinct regions of your molecule. There are some predefined
statements with different options for annotations listed below:


\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\begin{tabulary}{\linewidth}[t]{TT}
\sphinxtoprule
\sphinxstyletheadfamily 
\sphinxAtStartPar
Command
&\sphinxstyletheadfamily 
\sphinxAtStartPar
Description
\\
\sphinxmidrule
\sphinxtableatstartofbodyhook
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{i cmark}}
&
\sphinxAtStartPar
draws circle around base i
\\
\sphinxhline
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{i j c gmark}}
&
\sphinxAtStartPar
draw basepair i,j with c counter examples in grey
\\
\sphinxhline
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{i j lw rgb omark}}
&
\sphinxAtStartPar
stroke segment i…j with linewidth lw and color (rgb)
\\
\sphinxhline
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{i j rgb Fomark}}
&
\sphinxAtStartPar
fill segment i…j with color (rgb)
\\
\sphinxhline
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{i j k l rgb BFmark}}
&
\sphinxAtStartPar
fill block between pairs i,j and k,l with color (rgb)
\\
\sphinxhline
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{i dx dy (text) Label}}
&
\sphinxAtStartPar
adds a textlabel with an offset dx and dy relative to base i
\\
\sphinxbottomrule
\end{tabulary}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

\sphinxAtStartPar
Predefined color options are \sphinxcode{\sphinxupquote{BLACK, RED, GREEN, BLUE, WHITE}} but you can also
replace the value to some standard RGB code (e.g. 0 5 8 for lightblue).

\sphinxAtStartPar
To simply add the annotation macros to the \sphinxcode{\sphinxupquote{PostScript}} file without
any actual annotation you can use the following program call

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{}\PYG{+w}{ }RNAplot\PYG{+w}{ }\PYGZhy{}\PYGZhy{}pre\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}\PYGZdq{}}\PYG{+w}{ }\PYGZlt{}\PYG{+w}{ }5S.fold
\end{sphinxVerbatim}

\sphinxAtStartPar
If you now open the structure layout file \sphinxcode{\sphinxupquote{5S\_ss.ps}} with a text editor you’ll see
the additional macros for \sphinxcode{\sphinxupquote{cmark}}, \sphinxcode{\sphinxupquote{omark}}, etc. along with some show synopsis
on how to use them. Actual annotations can then be added between the lines:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZpc{}} \PYG{n}{Start} \PYG{n}{Annotations}
\end{sphinxVerbatim}

\sphinxAtStartPar
and:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZpc{}} \PYG{n}{End} \PYG{n}{Annotations}
\end{sphinxVerbatim}

\sphinxAtStartPar
Here, you simply need to add the same string of commands you would provide through the
\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pre}} option of \sphinxcode{\sphinxupquote{RNAplot}}.


\section{RNA Design}
\label{\detokenize{getting_started:rna-design}}
\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNAinverse}}}
\label{\detokenize{tutorial/RNAinverse:the-program-rnainverse}}\label{\detokenize{tutorial/RNAinverse::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAinverse:id1}}{\hyperref[\detokenize{tutorial/RNAinverse:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAinverse:id2}}{\hyperref[\detokenize{tutorial/RNAinverse:sequence-design}]{\sphinxcrossref{Sequence Design}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/RNAinverse:id3}}{\hyperref[\detokenize{tutorial/RNAinverse:other-rna-design-tools}]{\sphinxcrossref{Other RNA design tools}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/RNAinverse:introduction}}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNAinverse}} searches for sequences folding into a predefined structure,
thereby inverting the folding algorithm. Input consists of the target
structures (in dot\sphinxhyphen{}bracket notation) and a starting sequence, which is
optional.

\sphinxAtStartPar
Lower case characters in the start sequence indicate fixed positions,
i.e. they can be used to add sequence constraints. \sphinxcode{\sphinxupquote{N}}’s in the
starting sequence will be replaced by a random nucleotide.
For each search the best sequence found and its Hamming distance to the
start sequence are printed to \sphinxstyleemphasis{stdout}. If the the search was
unsuccessful a structure distance to the target is appended.

\sphinxAtStartPar
By default the program stops as soon as it finds a sequence that has the
target as MFE structure. The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}Fp}} switches \sphinxcode{\sphinxupquote{RNAinverse}} to
the partition function mode where the probability of the target structure
\(\exp(-E(S)/RT) / Z\) is maximized. This tends to produce sequences
with a more well\sphinxhyphen{}defined structure.

\sphinxAtStartPar
This probability is written in dot\sphinxhyphen{}brackets after the found sequence
and Hamming distance. With the option \sphinxcode{\sphinxupquote{\sphinxhyphen{}R}} you can specify how often
the search should be repeated.


\subsubsection{Sequence Design}
\label{\detokenize{tutorial/RNAinverse:sequence-design}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Prepare an input file \sphinxcode{\sphinxupquote{inv.in}} containing the target structure and
sequence constraints:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}
\PYG{n}{NNNgNNNNNNNNNNaNNN}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Design sequences using \sphinxcode{\sphinxupquote{RNAinverse}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAinverse \PYGZlt{} inv.in
  GGUgUUGGAUCCGAaACC    5
\end{sphinxVerbatim}

\sphinxAtStartPar
or design even more sequences with:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAinverse \PYGZhy{}R5 \PYGZhy{}Fp \PYGZlt{} inv.in
  GGUgUGAACCCUCGaACC    5
  GGCgCCCUUUUGGGaGCC   12  (0.967418)
  CUCgAUCUCACGAUaGGG    6
  GGCgCCCGAAAGGGaGCC   13  (0.967548)
  GUUgAGCCCAUGCUaAGC    6
  GGCgCCCUUAUGGGaGCC   10  (0.967418)
  CGGgUGUUGUGACAaCCG    5
  GCGgGUCGAAAGGCaCGC   12  (0.925482)
  GCCgUAUCCGGGUGaGGC    6
  GGCgCCCUUUUGGGaGCC   13  (0.967418)
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
The output consists of the calculated sequence and the number of mutations
needed to get the MFE\sphinxhyphen{}structure from the start sequence (start sequence not
shown). Additionaly, with the partition function folding (\sphinxcode{\sphinxupquote{\sphinxhyphen{}Fp}}) set, the
second output is another refinement so that the ensemble preferes the MFE
and folds into your given structure with a distinct probability, shown in
brackets.


\subsubsection{Other RNA design tools}
\label{\detokenize{tutorial/RNAinverse:other-rna-design-tools}}
\sphinxAtStartPar
Another useful program for inverse folding is \sphinxcode{\sphinxupquote{RNA designer}}, see
\sphinxurl{http://www.rnasoft.ca}. \sphinxcode{\sphinxupquote{RNA Designer}} takes a secondary structure description
as input and returns an RNA strand that is likely to fold in the given
secondary structure.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{sequence design application}} of the \sphinxcode{\sphinxupquote{ViennaRNA Design Webservices}},
see \sphinxurl{http://nibiru.tbi.univie.ac.at/rnadesign/index.html}, uses a different approach,
allowing for more than one secondary structure as input. For more detail read
the online Documentation and the next section of this tutorial.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{switch.pl}}}
\label{\detokenize{tutorial/switch:the-program-switch-pl}}\label{\detokenize{tutorial/switch::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/switch:id2}}{\hyperref[\detokenize{tutorial/switch:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/switch:id3}}{\hyperref[\detokenize{tutorial/switch:designing-a-switch}]{\sphinxcrossref{Designing a Switch}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/switch:introduction}}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{switch.pl}} script can be used to design bi\sphinxhyphen{}stable structures, i.e.
structures with two almost equally good foldings. For two given structures
there are always a lot of sequences compatible with both structures. If both
structures are reasonably stable you can find sequences where both target
structures have almost equal energy and all other structures have much higher
energies.
Combined with \sphinxcode{\sphinxupquote{RNAsubopt}}, \sphinxcode{\sphinxupquote{barriers}} and \sphinxcode{\sphinxupquote{treekin}}, this is a very
useful tool for designing RNA switches.

\sphinxAtStartPar
The input requires two structures in dot\sphinxhyphen{}bracket notation and additionally
you can add a sequence. It is also possible to calculate the switching
function at two different temperatures with option \sphinxcode{\sphinxupquote{\sphinxhyphen{}T}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}T2}}.


\subsubsection{Designing a Switch}
\label{\detokenize{tutorial/switch:designing-a-switch}}
\sphinxAtStartPar
Now we try to create an RNA switch using \sphinxcode{\sphinxupquote{switch.pl}} {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}.
First we create our inputfile, then invoke the program using ten optimization
runs  (\sphinxcode{\sphinxupquote{\sphinxhyphen{}n 10}}) and do not allow \sphinxstyleemphasis{lonely pairs}. Write it out to \sphinxcode{\sphinxupquote{switch.out}}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat \PYGZgt{} switch.in
((((((((......))))))))....((((((((.......))))))))
((((((((((((((((((........)))))))))))))))))).....

\PYGZdl{} switch.pl \PYGZhy{}n 10 \PYGZhy{}\PYGZhy{}noLP \PYGZlt{} switch.in \PYGZgt{} switch.out
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{switch.out}} should look similar like this, the first block represents our
bi\sphinxhyphen{}stable structures in random order, the second block shows the resulting
sequences ordered by their score.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat switch.out
GGGUGGACGUUUCGGUCCAUCCUUACGGACUGGGGCGUUUACCUAGUCC   0.9656
CAUUUGGCUUGUGUGUCGAAUGGCCCCGGUACGUAGGCUAAAUGUACCG   1.2319
GGGGGGUGCGUUCACACCCCUCAUUUGGUGUGGAUGUGCUUUCUACACU   1.1554
[...]
\end{sphinxVerbatim}

\sphinxAtStartPar
the resulting sequences are:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CAUUUGGCUUGUGUGUCGAAUGGCCCCGGUACGUAGGCUAAAUGUACCG}   \PYG{l+m+mf}{1.2319}
\PYG{n}{GGGGGGUGCGUUCACACCCCUCAUUUGGUGUGGAUGUGCUUUCUACACU}   \PYG{l+m+mf}{1.1554}
\PYG{n}{CGGGUUGUAACUGGAUAGCCUGGAAACUGUUUGGUUGUAAUCCGAACAG}   \PYG{l+m+mf}{1.0956}
\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given all 10 suggestions in our \sphinxcode{\sphinxupquote{switch.out}}, we select the one with the
best score with some command line tools to use it as an \sphinxcode{\sphinxupquote{RNAsubopt}} input
file and build up the barriers tree.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} tail \PYGZhy{}10 switch.out | awk \PYGZsq{}\PYGZob{}print(\PYGZdl{}1)\PYGZcb{}\PYGZsq{}  | head \PYGZhy{}n 1 \PYGZgt{} subopt.in
\PYGZdl{} RNAsubopt \PYGZhy{}\PYGZhy{}noLP \PYGZhy{}s \PYGZhy{}e 25 \PYGZlt{} subopt.in \PYGZgt{} subopt.out
\PYGZdl{} barriers \PYGZhy{}G RNA\PYGZhy{}noLP \PYGZhy{}\PYGZhy{}bsize \PYGZhy{}\PYGZhy{}rates \PYGZhy{}\PYGZhy{}minh 2 \PYGZhy{}\PYGZhy{}max 30 \PYGZlt{} subopt.out \PYGZgt{} barriers.out
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{tail \sphinxhyphen{}10}} cuts the last 10 lines from the \sphinxcode{\sphinxupquote{switch.out}} file and pipes
them into an \sphinxcode{\sphinxupquote{awk}} script. The function \sphinxcode{\sphinxupquote{print(\$1)}} echoes only the first
column and this is piped into the \sphinxcode{\sphinxupquote{head}} program where the first line, which
equals the best scored sequence, is taken and written into \sphinxcode{\sphinxupquote{subopt.in}}.
Then \sphinxcode{\sphinxupquote{RNAsubopt}} is called to process our sequence and write the output to
another file which is the input for the barriers calculation.

\sphinxAtStartPar
Below you find an example of the barrier tree calculation above done with the
right settings (connected root) on the left side and the wrong \sphinxcode{\sphinxupquote{RNAsubobt \sphinxhyphen{}e}}
value on the right. Keep in mind that \sphinxcode{\sphinxupquote{switch.pl}} performs a stochastic search
and the output sequences are different every time because there are a lot of
sequences which fit the structure and switch calculates a new one everytime.
Simply try to make sure.

\sphinxAtStartPar
\sphinxincludegraphics[width=0.480\linewidth]{{switch_barriertree}.png} \sphinxincludegraphics[width=0.480\linewidth]{{switch_barriertree_e13}.png}

\sphinxAtStartPar
left: Barriers tree as it should look like, all branches connected to the main root
right: disconnected tree due to a too low energy range (\sphinxcode{\sphinxupquote{\sphinxhyphen{}e}}) parameter set in
\sphinxcode{\sphinxupquote{RNAsubopt}}.

\sphinxAtStartPar
Be careful to set the range \sphinxcode{\sphinxupquote{\sphinxhyphen{}e}} high enough, otherwise we get a problem when
calculation the kinetics using \sphinxcode{\sphinxupquote{treekin}}. Every branch should be somehow connected
to the main root of the tree. Try \sphinxcode{\sphinxupquote{\sphinxhyphen{}e 20}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}e 30}} to see the difference in
the trees and choose the optimal value. By using \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}max 30}} we shorten our tree
to focus only on the lowest minima.

\sphinxAtStartPar
We then select a branch preferably outside of the two main branches, here branch
30 (may differ from your own calculation). Look at the barrier tree to find the
best branch to start and replace \sphinxcode{\sphinxupquote{30}} by the branch you would choose. Now use
\sphinxcode{\sphinxupquote{treekin}} to plot concentration kinetics and think about the graph you just
created.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} treekin \PYGZhy{}m I \PYGZhy{}\PYGZhy{}p0 30=1  \PYGZlt{} barriers.out \PYGZgt{} treekin.out
\PYGZdl{} xmgrace \PYGZhy{}log x \PYGZhy{}nxy treekin.out
\end{sphinxVerbatim}

\sphinxAtStartPar
The graph could look like the one below, remember everytime you use \sphinxcode{\sphinxupquote{switch.pl}}
it can give you different sequences so the output varies too. Here the one from
the example.

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.660\linewidth]{{switch_treekin}.png}\hspace*{\fill}}


\section{RNA folding kinetics}
\label{\detokenize{getting_started:rna-folding-kinetics}}
\sphinxAtStartPar
RNA folding kinetics describes the dynamical process of how a RNA molecule
approaches to its unique folded biological active conformation (often
referred to as the native state) starting from an initial ensemble of
disordered conformations e.g. the unfolded open chain. The key for
resolving the dynamical behavior of a folding RNA chain lies in the
understanding of the ways in which the molecule explores its astronomically
large free energy landscape, a rugged and complex hyper\sphinxhyphen{}surface established
by all the feasible base pairing patterns a RNA sequence can form. The
challenge is to understand how the interplay of formation and break up of
base pairing interactions along the RNA chain can lead to an efficient
search in the energy landscape which reaches the native state of the
molecule on a biologically meaningful time scale.

\sphinxstepscope


\subsection{The Program \sphinxstyleliteralintitle{\sphinxupquote{RNA2Dfold}}}
\label{\detokenize{tutorial/RNA2Dfold:the-program-rna2dfold}}\label{\detokenize{tutorial/RNA2Dfold::doc}}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA2Dfold}} is a tool for computing the MFE structure, partition function and
representative sample structures of \(\kappa, \lambda\) neighborhoods
and projects an high dimensional energy landscape of RNA into two dimensions {[}\hyperlink{cite.bibliography:id30}{Lorenz \sphinxstyleemphasis{et al.}, 2009}{]}.
Therefore a sequence and two user\sphinxhyphen{}defined reference structures are expected by
the program. For each of the resulting distance class, the MFE representative,
the Boltzmann probabilities and the Gibbs free energy is computed. Additionally,
representative suboptimal secondary structures from each partition can be
calculated.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNA2Dfold \PYGZhy{}p \PYGZlt{} 2dfold.inp \PYGZgt{} 2dfold.out
\end{sphinxVerbatim}

\sphinxAtStartPar
The outputfile \sphinxcode{\sphinxupquote{2dfold.out}} should look like below, check it out, e.g. using
\sphinxcode{\sphinxupquote{less}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CGUCAGCUGGGAUGCCAGCCUGCCCCGAAAGGGGCUUGGCGUUUUGGUUGUUGAUUCAACGAUCAC}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.} \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{30.40}\PYG{p}{)}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.} \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{30.40}\PYG{p}{)} \PYG{o}{\PYGZlt{}}\PYG{n}{ref} \PYG{l+m+mi}{1}\PYG{o}{\PYGZgt{}}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{(}  \PYG{l+m+mf}{0.00}\PYG{p}{)} \PYG{o}{\PYGZlt{}}\PYG{n}{ref} \PYG{l+m+mi}{2}\PYG{o}{\PYGZgt{}}
\PYG{n}{free} \PYG{n}{energy} \PYG{n}{of} \PYG{n}{ensemble} \PYG{o}{=} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{31.15} \PYG{n}{kcal}\PYG{o}{/}\PYG{n}{mol}
\PYG{n}{k}       \PYG{n}{l}       \PYG{n}{P}\PYG{p}{(}\PYG{n}{neighborhood}\PYG{p}{)} \PYG{n}{P}\PYG{p}{(}\PYG{n}{MFE} \PYG{o+ow}{in} \PYG{n}{neighborhood}\PYG{p}{)}  \PYG{n}{P}\PYG{p}{(}\PYG{n}{MFE} \PYG{o+ow}{in} \PYG{n}{ensemble}\PYG{p}{)}      \PYG{n}{MFE}     \PYG{n}{E\PYGZus{}gibbs} \PYG{n}{MFE}\PYG{o}{\PYGZhy{}}\PYG{n}{structure}
\PYG{l+m+mi}{0}       \PYG{l+m+mi}{24}      \PYG{l+m+mf}{0.29435909}      \PYG{l+m+mf}{1.00000000}      \PYG{l+m+mf}{0.29435892}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{30.40}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{30.40}  \PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}
\PYG{l+m+mi}{1}       \PYG{l+m+mi}{23}      \PYG{l+m+mf}{0.17076902}      \PYG{l+m+mf}{0.47069889}      \PYG{l+m+mf}{0.08038083}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{29.60}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{30.06}  \PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}
\PYG{l+m+mi}{2}       \PYG{l+m+mi}{22}      \PYG{l+m+mf}{0.03575448}      \PYG{l+m+mf}{0.37731068}      \PYG{l+m+mf}{0.01349056}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{28.50}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{29.10}  \PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}
\PYG{l+m+mi}{2}       \PYG{l+m+mi}{24}      \PYG{l+m+mf}{0.00531223}      \PYG{l+m+mf}{0.42621709}      \PYG{l+m+mf}{0.00226416}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{27.40}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{27.93}  \PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}
\PYG{l+m+mi}{3}       \PYG{l+m+mi}{21}      \PYG{l+m+mf}{0.00398349}      \PYG{l+m+mf}{0.29701636}      \PYG{l+m+mf}{0.00118316}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{27.00}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{27.75}  \PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}
\PYG{l+m+mi}{3}       \PYG{l+m+mi}{23}      \PYG{l+m+mf}{0.00233909}      \PYG{l+m+mf}{0.26432372}      \PYG{l+m+mf}{0.00061828}      \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{26.60}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{27.42}  \PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}
\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
For visualizing the output the \sphinxcode{\sphinxupquote{ViennaRNA Package}} includes two scripts
\sphinxcode{\sphinxupquote{2Dlandscape\_pf.gri}}, \sphinxcode{\sphinxupquote{2Dlandscape\_mfe.gri}} located in \sphinxcode{\sphinxupquote{/usr/share/ViennaRNA/}}.
\sphinxcode{\sphinxupquote{gri}} (a language for scientific graphics programing) is needed to create a colored
postscript plot. We use the partition function script to show the free energies of
the distance classes (graph below, left):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} gri ../Progs/VRP/share/ViennaRNA/2Dlandscape\PYGZus{}pf.gri 2dfold.out
\end{sphinxVerbatim}

\sphinxAtStartPar
Compare the output file with the colored plot and determine the MFE minima with
corresponding distance classes. For easier comparision the outputfile of \sphinxcode{\sphinxupquote{RNA2Dfold}}
can be sorted by a simple sort command. For further information regarding sort use
the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}} option.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} sort \PYGZhy{}k6 \PYGZhy{}n 2dfold.out \PYGZgt{} sort.out
\end{sphinxVerbatim}

\sphinxAtStartPar
Now we choose the structure with the lowest energy besides our startstructure,
replace the open chain structure from our old input with that structure and repeat
the steps above with our new values:
\begin{itemize}
\item {} 
\sphinxAtStartPar
run \sphinxcode{\sphinxupquote{RNA2Dfold}}

\item {} 
\sphinxAtStartPar
plot it using \sphinxcode{\sphinxupquote{2Dlandscape\_pf.gri}}

\end{itemize}

\sphinxAtStartPar
The new projection (right graph) shows the two major local minima which are
separated by 39 bp (red dots in figure below) and both are likely to be populated
with high probability. The landscape gives an estimate of the energy barrier
separating the two minima (about \sphinxhyphen{}20 kcal/mol).

\sphinxAtStartPar
The red dots mark the distance from open chain to the MFE structure respectively
the distance from the 2nd best structure to the MFE. Note that the red dots were
manually added to the image afterwards so don’t panic if you don’t see them in your
gri output.

\sphinxAtStartPar
\sphinxincludegraphics[width=0.450\linewidth]{{2dfold_out_m}.png} \sphinxincludegraphics[width=0.450\linewidth]{{2dfold_2_out_m}.png}

\sphinxstepscope


\subsection{The Programs \sphinxstyleliteralintitle{\sphinxupquote{barriers}} and \sphinxstyleliteralintitle{\sphinxupquote{treekin}}}
\label{\detokenize{tutorial/barriers_treekin:the-programs-barriers-and-treekin}}\label{\detokenize{tutorial/barriers_treekin::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/barriers_treekin:id1}}{\hyperref[\detokenize{tutorial/barriers_treekin:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/barriers_treekin:id2}}{\hyperref[\detokenize{tutorial/barriers_treekin:a-short-recall-on-howto-install-compile-a-program}]{\sphinxcrossref{A short recall on howto install/compile a program}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/barriers_treekin:id3}}{\hyperref[\detokenize{tutorial/barriers_treekin:calculate-the-barrier-tree}]{\sphinxcrossref{Calculate the Barrier Tree}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{tutorial/barriers_treekin:id4}}{\hyperref[\detokenize{tutorial/barriers_treekin:simulating-the-folding-kinetics}]{\sphinxcrossref{Simulating the Folding Kinetics}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{tutorial/barriers_treekin:introduction}}
\sphinxAtStartPar
The following assumes you already have the \sphinxcode{\sphinxupquote{barriers}} and \sphinxcode{\sphinxupquote{treekin}}
programs installed. They are \sphinxstylestrong{not} part of the \sphinxcode{\sphinxupquote{ViennaRNA Package}}
but their latest releases can be found at
\sphinxurl{https://www.tbi.univie.ac.at/RNA/Barriers/} and
\sphinxurl{https://www.tbi.univie.ac.at/RNA/Treekin/}, respectively.
Installation proceeds as shown for the \sphinxcode{\sphinxupquote{ViennaRNA Package}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
One problem that often occurs during \sphinxcode{\sphinxupquote{treekin}} installation is the
dependency on \sphinxcode{\sphinxupquote{blas}} and \sphinxcode{\sphinxupquote{lapack}} packages. For further information
according to the \sphinxcode{\sphinxupquote{barriers}} and \sphinxcode{\sphinxupquote{treekin}} program also see the website.
\end{sphinxadmonition}


\subsubsection{A short recall on howto install/compile a program}
\label{\detokenize{tutorial/barriers_treekin:a-short-recall-on-howto-install-compile-a-program}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Get the barriers source from \sphinxurl{https://www.tbi.univie.ac.at/RNA/Barriers/}

\item {} 
\sphinxAtStartPar
extract the archive and go to the directory:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} tar \PYGZhy{}xzf Barriers\PYGZhy{}1.5.2.tar.gz
\PYGZdl{} cd Barriers\PYGZhy{}1.5.2
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}prefix}} option to install in your \sphinxcode{\sphinxupquote{Progs/}} directory:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} ./configure \PYGZhy{}\PYGZhy{}prefix=\PYGZdl{}HOME/Tutorial/Progs/barriers\PYGZhy{}1.5.2
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
make install:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} make
\PYGZdl{} make install
\end{sphinxVerbatim}

\end{itemize}

\sphinxAtStartPar
Now \sphinxcode{\sphinxupquote{barriers}} is ready to use. Apply the same steps to install \sphinxcode{\sphinxupquote{treekin}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Copy the \sphinxcode{\sphinxupquote{barriers}} and \sphinxcode{\sphinxupquote{treekin}} binaries to your \sphinxcode{\sphinxupquote{bin}} folder
or add the path to your \sphinxcode{\sphinxupquote{PATH}} environment variable.
\end{sphinxadmonition}


\subsubsection{Calculate the Barrier Tree}
\label{\detokenize{tutorial/barriers_treekin:calculate-the-barrier-tree}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} echo UCCACGGCUGUUAGUGGAUAACGGC | RNAsubopt \PYGZhy{}\PYGZhy{}noLP \PYGZhy{}s \PYGZhy{}e 10 \PYGZgt{} barseq.sub
\PYGZdl{} barriers \PYGZhy{}G RNA\PYGZhy{}noLP \PYGZhy{}\PYGZhy{}bsize \PYGZhy{}\PYGZhy{}rates \PYGZlt{} barseq.sub \PYGZgt{} barseq.bar
\end{sphinxVerbatim}

\sphinxAtStartPar
You can restrict the number of local minima using the \sphinxcode{\sphinxupquote{barriers}}
command\sphinxhyphen{}line option \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}max}} followed by a number. The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}G RNA\sphinxhyphen{}noLP}}
instructs barriers that the input consists of RNA secondary structures without
isolated basepairs. \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bsize}} adds size of the gradient basins and \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}rates}}
tells \sphinxcode{\sphinxupquote{barriers}} to compute rates between macro states/basins for use with
\sphinxcode{\sphinxupquote{treekin}}. Another useful options is \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minh}} to print only minima with
a barrier \(> dE\). Look at the output file \sphinxcode{\sphinxupquote{barseq.bar}}, its content
should be like:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
  \PYG{n}{UCCACGGCUGUUAGUGGAUAACGGC}
\PYG{l+m+mi}{1} \PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{6.90}    \PYG{l+m+mi}{0}  \PYG{l+m+mf}{10.00}    \PYG{l+m+mi}{115}     \PYG{l+m+mi}{0}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{7.354207}     \PYG{l+m+mi}{23}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{7.012023}
\PYG{l+m+mi}{2} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{6.80}    \PYG{l+m+mi}{1}   \PYG{l+m+mf}{9.30}     \PYG{l+m+mi}{32}    \PYG{l+m+mi}{58}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{6.828221}     \PYG{l+m+mi}{38}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{6.828218}
\PYG{l+m+mi}{3} \PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.80}    \PYG{l+m+mi}{1}   \PYG{l+m+mf}{0.90}      \PYG{l+m+mi}{1}    \PYG{l+m+mi}{10}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.800000}      \PYG{l+m+mi}{9}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.075516}
\PYG{l+m+mi}{4} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.80}    \PYG{l+m+mi}{1}   \PYG{l+m+mf}{2.70}      \PYG{l+m+mi}{5}    \PYG{l+m+mi}{37}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.973593}     \PYG{l+m+mi}{11}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.996226}
\PYG{l+m+mi}{5} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}   \PYG{l+m+mf}{0.00}    \PYG{l+m+mi}{1}   \PYG{l+m+mf}{0.40}      \PYG{l+m+mi}{1}    \PYG{l+m+mi}{14}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.000000}     \PYG{l+m+mi}{26}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.612908}
\PYG{l+m+mi}{6} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}   \PYG{l+m+mf}{0.60}    \PYG{l+m+mi}{2}   \PYG{l+m+mf}{0.40}      \PYG{l+m+mi}{1}    \PYG{l+m+mi}{22}   \PYG{l+m+mf}{0.600000}      \PYG{l+m+mi}{3}   \PYG{l+m+mf}{0.573278}
\PYG{l+m+mi}{7} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}   \PYG{l+m+mf}{1.00}    \PYG{l+m+mi}{1}   \PYG{l+m+mf}{1.50}      \PYG{l+m+mi}{1}    \PYG{l+m+mi}{95}   \PYG{l+m+mf}{1.000000}      \PYG{l+m+mi}{2}   \PYG{l+m+mf}{0.948187}
\PYG{l+m+mi}{8} \PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}   \PYG{l+m+mf}{1.40}    \PYG{l+m+mi}{1}   \PYG{l+m+mf}{0.30}      \PYG{l+m+mi}{1}    \PYG{l+m+mi}{30}   \PYG{l+m+mf}{1.400000}      \PYG{l+m+mi}{2}   \PYG{l+m+mf}{1.228342}
\end{sphinxVerbatim}

\sphinxAtStartPar
The first row holds the input sequence, the successive list the local
minima ascending in energy. The meaning of the first 5 columns is as follows
\begin{itemize}
\item {} 
\sphinxAtStartPar
label (number) of the local minima (1=MFE)

\item {} 
\sphinxAtStartPar
structure of the minimum

\item {} 
\sphinxAtStartPar
free energy of the minimum

\item {} 
\sphinxAtStartPar
label of deeper local minimum the current minimum merges with (note that the
\sphinxcode{\sphinxupquote{MFE}} has no deeper local minimum to merge with)

\item {} 
\sphinxAtStartPar
height of the energy barrier to the local minimum to merge with

\item {} 
\sphinxAtStartPar
numbers of structures in the basin we merge with

\item {} 
\sphinxAtStartPar
number of basin which we merge to

\item {} 
\sphinxAtStartPar
free energy of the basin

\item {} 
\sphinxAtStartPar
number of structures in this basin using gradient walk

\item {} 
\sphinxAtStartPar
gradient basin (consisting of all structures where gradientwalk ends in the minimum)

\end{itemize}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{barriers}} produced two additional files, the \sphinxstyleemphasis{PostScript} file \sphinxcode{\sphinxupquote{tree.eps}}
which represents the basic information of the \sphinxcode{\sphinxupquote{barseq.bar}} file visually:

\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.500\linewidth]{{tree}.png}\hspace*{\fill}}

\sphinxAtStartPar
and a text file \sphinxcode{\sphinxupquote{rates.out}} which holds the matrix of transition probabilities
between the local minima.


\subsubsection{Simulating the Folding Kinetics}
\label{\detokenize{tutorial/barriers_treekin:simulating-the-folding-kinetics}}
\sphinxAtStartPar
The program \sphinxcode{\sphinxupquote{treekin}} is used to simulate the evolution over time of the
population densities of local minima starting from an initial population
density distribution \(p0\) (given on the command\sphinxhyphen{}line) and the transition
rate matrix in the file \sphinxcode{\sphinxupquote{rates.out}}.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} treekin \PYGZhy{}m I \PYGZhy{}\PYGZhy{}p0 5=1 \PYGZlt{} barseq.bar | xmgrace \PYGZhy{}log x \PYGZhy{}nxy \PYGZhy{}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxincludegraphics[width=0.550\linewidth]{{FOO}.png} \sphinxincludegraphics[width=0.400\linewidth]{{FOO_dp}.png}

\sphinxAtStartPar
The simulation starts with all the population density in the open chain
(local minimum 5, see \sphinxcode{\sphinxupquote{barseq.bar}}). Over time the population density of
this state decays (yellow curve) and other local minima get populated.
The simulation ends with the population densities of the thermodynamic
equilibrium in which the MFE (black curve) and local minimum 2 (red curve)
are the only ones populated. (Look at the dot plot of the sequence created
with \sphinxcode{\sphinxupquote{RNAsubopt}} and \sphinxcode{\sphinxupquote{RNAfold}}!)


\section{Other Utilities}
\label{\detokenize{getting_started:other-utilities}}
\sphinxstepscope


\subsection{Utilities}
\label{\detokenize{utilities:utilities}}\label{\detokenize{utilities::doc}}
\sphinxAtStartPar
We also ship a number of small utilities, many of them to manipulate the
PostScript files produced by the structure prediction programs {\hyperref[\detokenize{man/RNAfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAfold}}}}
and {\hyperref[\detokenize{man/RNAalifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAalifold}}}}.

\sphinxAtStartPar
Most of the \sphinxtitleref{Perl 5} utilities contain embedded \sphinxtitleref{pod} documentation. Type e.g.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
perldoc\PYG{+w}{ }relplot.pl
\end{sphinxVerbatim}

\sphinxAtStartPar
for detailed instructions.


\subsubsection{Available Tools}
\label{\detokenize{utilities:available-tools}}

\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\begin{tabular}[t]{*{2}{\X{1}{2}}}
\sphinxtoprule
\sphinxstyletheadfamily 
\sphinxAtStartPar
Tool Name
&\sphinxstyletheadfamily 
\sphinxAtStartPar
Description
\\
\sphinxmidrule
\sphinxtableatstartofbodyhook
\sphinxAtStartPar
ct2db
&
\begin{DUlineblock}{0em}
\item[] Produce dot bracket notation of an RNA secondary structure
\item[] given as mfold \sphinxcode{\sphinxupquote{.ct}} file
\end{DUlineblock}
\\
\sphinxhline
\sphinxAtStartPar
b2mt.pl
&
\begin{DUlineblock}{0em}
\item[] Produce a mountain representation of a secondary structure
\item[] from it’s dot\sphinxhyphen{}bracket notation, as produced by {\hyperref[\detokenize{man/RNAfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAfold}}}}.
\item[] Output consists of simple \sphinxcode{\sphinxupquote{x y}} data suitable as input to a
\item[] plotting program. The mountain representation is a xy plot with
\item[] sequence position on the x\sphinxhyphen{}axis and the number of base pairs
\item[] enclosing that position on the y\sphinxhyphen{}axis.
\end{DUlineblock}

\sphinxAtStartPar
Example:

\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
RNAfold\PYG{+w}{ }\PYGZlt{}\PYG{+w}{ }my.seq\PYG{+w}{ }\PYG{p}{|}\PYG{+w}{ }b2mt.pl\PYG{+w}{ }\PYG{p}{|}\PYG{+w}{ }xmgrace\PYG{+w}{ }\PYGZhy{}pipe
\end{sphinxVerbatimintable}

\noindent{\hspace*{\fill}\sphinxincludegraphics{{5smnt}.png}\hspace*{\fill}}
\\
\sphinxhline
\sphinxAtStartPar
cmount.pl
&
\begin{DUlineblock}{0em}
\item[] Produce a PostScript mountain plot from a color dot plot as
\item[] created by {\hyperref[\detokenize{man/RNAalifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAalifold}}}} \sphinxhyphen{}p or \sphinxcode{\sphinxupquote{alidot \sphinxhyphen{}p}}. Each base pair
\item[] is represented by a trapez whose color encodes the number of
\item[] consistent and compensatory mutations supporting that pair:
\item[] Red marks pairs with no sequence variation; ochre, green, turquoise,
\item[] blue, and violet mark pairs with 2,3,4,5,6 different types of pairs,
\item[] respectively.
\end{DUlineblock}

\sphinxAtStartPar
Example:

\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
cmount.pl\PYG{+w}{ }alidot.ps\PYG{+w}{ }\PYGZgt{}\PYG{+w}{ }cmount.ps
\end{sphinxVerbatimintable}

\noindent{\hspace*{\fill}\sphinxincludegraphics{{TAR_ss}.png}\hspace*{\fill}}
\\
\sphinxhline
\sphinxAtStartPar
coloraln.pl
&
\begin{DUlineblock}{0em}
\item[] Reads a sequence alignment in \sphinxcode{\sphinxupquote{CLUSTAL}} format and a consensus
\item[] secondary structure (which it extracts from a secondary structure
\item[] plot as produced by {\hyperref[\detokenize{man/RNAalifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAalifold}}}}), and produces a postscript figure
\item[] of the alignment annotated using the consensus structure, coloring
\item[] base pair using the same color scheme as \sphinxcode{\sphinxupquote{cmount.pl}}, {\hyperref[\detokenize{man/RNAalifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAalifold}}}}
\item[] and \sphinxcode{\sphinxupquote{alidot}}.
\end{DUlineblock}

\sphinxAtStartPar
Example:

\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
coloraln.pl\PYG{+w}{ }\PYGZhy{}s\PYG{+w}{ }alirna.ps\PYG{+w}{ }file.aln\PYG{+w}{ }\PYGZgt{}\PYG{+w}{ }coloraln.ps
\end{sphinxVerbatimintable}

\noindent{\hspace*{\fill}\sphinxincludegraphics{{TAR_aln}.png}\hspace*{\fill}}
\\
\sphinxhline
\sphinxAtStartPar
colorrna.pl
&
\begin{DUlineblock}{0em}
\item[] Reads a consensus secondary structure plot and a color dot plot
\item[] as produced by {\hyperref[\detokenize{man/RNAalifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAalifold}}}} \sphinxhyphen{}p, and writes a new secondary
\item[] structure plot in which base pairs a colored using the color
\item[] information from the dot plot.
\end{DUlineblock}

\sphinxAtStartPar
Example:

\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
colorrna.pl\PYG{+w}{ }alirna.ps\PYG{+w}{ }alidot.ps\PYG{+w}{ }\PYGZgt{}\PYG{+w}{ }colorRNA.ps
\end{sphinxVerbatimintable}
\\
\sphinxhline
\sphinxAtStartPar
mountain.pl
&
\begin{DUlineblock}{0em}
\item[] Similar to \sphinxcode{\sphinxupquote{b2mt.pl}}, but produces a mountain plot from the
\item[] pair probabilities contained in a PostScript dot plot. It write
\item[] 3 sets of x y data, suitable as input for a plot program. The
\item[] first two sets containing the mountain representation from pair
\item[] probabilities and MFE structure, the third set is the
\item[] “positional entropy” a measure of structural well\sphinxhyphen{}definedness.
\end{DUlineblock}

\sphinxAtStartPar
Example:

\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
mountain.pl\PYG{+w}{ }dot.ps\PYG{+w}{ }\PYG{p}{|}\PYG{+w}{ }xmgrace\PYG{+w}{ }\PYGZhy{}pipe
\end{sphinxVerbatimintable}

\noindent{\hspace*{\fill}\sphinxincludegraphics{{TAR_cmt}.png}\hspace*{\fill}}
\\
\sphinxhline
\sphinxAtStartPar
refold.pl
&
\sphinxAtStartPar
Refold using consensus structure as constraint
\\
\sphinxhline
\sphinxAtStartPar
relplot.pl
&
\begin{DUlineblock}{0em}
\item[] Reads a postscript secondary structure plot and a dot plot
\item[] containing pair probabilities as produced by {\hyperref[\detokenize{man/RNAfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAfold}}}} \sphinxhyphen{}p,
\item[] and produces a new structure plot, color annotated with reliability
\item[] information in the form of either pair probabilities or positional
\item[] entropy (default).
\end{DUlineblock}

\sphinxAtStartPar
Example:

\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
relplot.pl\PYG{+w}{ }foo\PYGZus{}ss.ps\PYG{+w}{ }foo\PYGZus{}dp.ps\PYG{+w}{ }\PYGZgt{}\PYG{+w}{ }foo\PYGZus{}rss.ps
\end{sphinxVerbatimintable}

\noindent{\hspace*{\fill}\sphinxincludegraphics{{5srel}.png}\hspace*{\fill}}
\\
\sphinxhline
\sphinxAtStartPar
rotate\_ss.pl
&
\begin{DUlineblock}{0em}
\item[] Reads a postscript secondary structure plot as produced by
\item[] {\hyperref[\detokenize{man/RNAfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAfold}}}} and produces a new rotated and/or mirrored
\item[] structure plot.
\end{DUlineblock}

\sphinxAtStartPar
Example:

\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
rotate\PYGZus{}ss.pl\PYG{+w}{ }\PYGZhy{}a\PYG{+w}{ }\PYG{l+m}{30}\PYG{+w}{ }\PYGZhy{}m\PYG{+w}{ }foo\PYGZus{}ss.ps\PYG{+w}{ }\PYGZgt{}\PYG{+w}{ }foo\PYGZus{}new\PYGZus{}ss.ps
\end{sphinxVerbatimintable}
\\
\sphinxhline
\sphinxAtStartPar
switch.pl
&
\begin{DUlineblock}{0em}
\item[] Design sequences that can adopt two different structure, i.e.
\item[] design RNA switches. The program will sample the set of sequences
\item[] compatible with two input structures in order to find sequences with
\item[] desired thermodynamic and kinetic properties. In particular it is
\item[] possible to specify two different temperatures such that structure
\item[] 1 is favored at T1 and structure 2 at T2 to design temperature
\item[] sensitive switches (RNA thermometers). The desired height of the
\item[] energy barrier separating the two structures, thus determining
\item[] the refolding time between meta\sphinxhyphen{}stable states.
\end{DUlineblock}
\\
\sphinxhline
\sphinxAtStartPar
RNAdesign.pl
&
\begin{DUlineblock}{0em}
\item[] Flexible design of multi\sphinxhyphen{}stable RNA molecules. An initially random
\item[] sequence is iteratively mutated and evaluated according to an
\item[] objective function (see Option: \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}optfun}}). Whenever a better
\item[] scoring sequence has been found, the mutation is accepted, the
\item[] algorithm terminates once a local minimum is found. This script
\item[] makes heavy use of the \sphinxcode{\sphinxupquote{RNA::Design}} sub\sphinxhyphen{}package that comes
\item[] with the ViennaRNA Package \sphinxcode{\sphinxupquote{Perl 5}} interface.
\end{DUlineblock}
\\
\sphinxbottomrule
\end{tabular}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

\sphinxstepscope


\chapter{Manpages}
\label{\detokenize{manpages:manpages}}\label{\detokenize{manpages::doc}}
\sphinxAtStartPar
The ViennaRNA Package comes with a number of executable
programs that provide command line interfaces to the most
important algorithms implemented in \sphinxstyleemphasis{RNAlib}.

\sphinxAtStartPar
Find an overview of these programs and their corresponding
manual pages below.

\sphinxstepscope


\section{RNA2Dfold}
\label{\detokenize{man/RNA2Dfold:rna2dfold}}\label{\detokenize{man/RNA2Dfold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNA2Dfold}} \sphinxhyphen{} manual page for RNA2Dfold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNA2Dfold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNA2Dfold\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNA2Dfold:description}}
\sphinxAtStartPar
RNA2Dfold 2.7.2

\sphinxAtStartPar
Compute MFE structure, partition function and representative sample structures
of k,l neighborhoods

\sphinxAtStartPar
The program partitions the secondary structure space into (basepair)distance
classes according to two fixed reference structures. It expects a sequence and
two secondary structures in dot\sphinxhyphen{}bracket notation as its inputs. For each
distance class, the MFE representative, Boltzmann probabilities and Gibbs free
energy is computed. Additionally, a stochastic backtracking routine allows one
to produce samples of representative suboptimal secondary structures from each
partition
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNA2Dfold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}numThreads@\spxentry{\sphinxhyphen{}\sphinxhyphen{}numThreads}}\index{\sphinxhyphen{}\sphinxhyphen{}numThreads@\spxentry{\sphinxhyphen{}\sphinxhyphen{}numThreads}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-j}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-numThreads}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}numThreads}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the number of threads used for calculations (only available when compiled with OpenMP support)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNA2Dfold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNA2Dfold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}}\index{\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\index{\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-p}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-partfunc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}p}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}partfunc}}}
\pysigstopsignatures
\sphinxAtStartPar
calculate partition function and thus, Boltzmann probabilities and Gibbs free energy

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}stochBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT}}\index{\sphinxhyphen{}\sphinxhyphen{}stochBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-stochBT}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}stochBT}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
backtrack a certain number of Boltzmann samples from the appropriate k,l neighborhood(s)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}neighborhood@\spxentry{\sphinxhyphen{}\sphinxhyphen{}neighborhood}}\index{\sphinxhyphen{}\sphinxhyphen{}neighborhood@\spxentry{\sphinxhyphen{}\sphinxhyphen{}neighborhood}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-neighborhood}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}neighborhood}}\DUrole{p}{=}\textless{}k\textgreater{}:\textless{}l\textgreater{}}
\pysigstopsignatures
\sphinxAtStartPar
backtrack structures from certain k,l\sphinxhyphen{}neighborhood only, can be specified multiple times (\textless{}k\textgreater{}:\textless{}l\textgreater{},\textless{}m\textgreater{}:\textless{}n\textgreater{},…)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}K@\spxentry{\sphinxhyphen{}K}}\index{\sphinxhyphen{}K@\spxentry{\sphinxhyphen{}K}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxDist1@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxDist1}}\index{\sphinxhyphen{}\sphinxhyphen{}maxDist1@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxDist1}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-K}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-maxDist1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}K}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxDist1}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
maximum distance to first reference structure

\sphinxAtStartPar
If this value is set all structures that exhibit a basepair distance greater
than maxDist1 will be thrown into a distance class denoted by K=L=\sphinxhyphen{}1

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}}\index{\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxDist2@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxDist2}}\index{\sphinxhyphen{}\sphinxhyphen{}maxDist2@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxDist2}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-L}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-maxDist2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}L}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxDist2}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
maximum distance to second reference structure

\sphinxAtStartPar
If this value is set all structures that exhibit a basepair distance greater
than maxDist1 will be thrown into a distance class denoted by K=L=\sphinxhyphen{}1

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-S}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noBT}}\index{\sphinxhyphen{}\sphinxhyphen{}noBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noBT}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-noBT}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noBT}}}
\pysigstopsignatures
\sphinxAtStartPar
do not backtrack structures, calculate energy contributions only

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}}\index{\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-c}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-circ}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}circ}}}
\pysigstopsignatures
\sphinxAtStartPar
Assume a circular (instead of linear) RNA molecule.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNA2Dfold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNA2Dfold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops

\sphinxAtStartPar
(possible values=”0”, “2” default=”2”)

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} dangling energies will be added for the bases adjacent to a helix on
both sides in any case. The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether
(mostly for debugging).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNA2Dfold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNA2Dfold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
R. Lorenz, C. Flamm, I.L. Hofacker (2009),
“2D Projections of RNA folding Landscapes”,
GI, Lecture Notes in Informatics, German Conference on Bioinformatics 2009: 157, pp 11\sphinxhyphen{}20

\sphinxAtStartPar
M. Zuker, P. Stiegler (1981),
“Optimal computer folding of large RNA sequences using thermodynamic and auxiliary information”,
Nucl Acid Res: 9, pp 133\sphinxhyphen{}148

\sphinxAtStartPar
J.S. McCaskill (1990),
“The equilibrium partition function and base pair binding probabilities for RNA secondary structures”,
Biopolymers: 29, pp 1105\sphinxhyphen{}1119

\sphinxAtStartPar
I.L. Hofacker and P.F. Stadler (2006),
“Memory Efficient Folding Algorithms for Circular RNA Secondary Structures”,
Bioinformatics

\sphinxAtStartPar
D. Adams (1979),
“The hitchhiker’s guide to the galaxy”,
Pan Books, London

\sphinxAtStartPar
The calculation of mfe structures is based on dynamic programming algorithm originally developed by M. Zuker and P. Stiegler. The partition function algorithm is based on work by J.S. McCaskill.

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNA2Dfold:author}}
\sphinxAtStartPar
Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNA2Dfold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAaliduplex}
\label{\detokenize{man/RNAaliduplex:rnaaliduplex}}\label{\detokenize{man/RNAaliduplex::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAaliduplex}} \sphinxhyphen{} manual page for RNAaliduplex 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAaliduplex:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAaliduplex\PYG{+w}{ }\PYG{o}{[}options\PYG{o}{]}\PYG{+w}{ }\PYGZlt{}file1.aln\PYGZgt{}\PYG{+w}{ }\PYGZlt{}file2.aln\PYGZgt{}
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAaliduplex:description}}
\sphinxAtStartPar
RNAaliduplex 2.7.2

\sphinxAtStartPar
Predict conserved RNA\sphinxhyphen{}RNA interactions between two alignments

\sphinxAtStartPar
The program reads two alignments of RNA sequences in CLUSTAL format and
predicts optimal and suboptimal binding sites, hybridization energies and the
corresponding structures. The calculation takes only inter\sphinxhyphen{}molecular base pairs
into account, for the general case use RNAcofold. The use of alignments allows
one to focus on binding sites that are evolutionary conserved. Note, that the
two input alignments need to have equal number of sequences and the same order,
i.e. the 1st sequence in file1 will be hybridized to the 1st in file2 etc.

\sphinxAtStartPar
The computed binding sites, energies, and structures are written to stdout, one
structure per line. Each line consist of: The structure in dot bracket format
with a “\&” separating the two strands. The range of the structure in the two
sequences in the format  “from,to : from,to”; the energy of duplex structure
in kcal/mol.
The format is especially useful for computing the hybrid structure between a
small probe sequence and a long target sequence.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAaliduplex:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}}\index{\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}deltaEnergy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}}\index{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-e}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-deltaEnergy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}e}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}}\DUrole{p}{=}range}
\pysigstopsignatures
\sphinxAtStartPar
Compute suboptimal structures with energy in a certain range of the optimum (kcal/mol). Default is calculation of mfe structure only.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}}\index{\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sorted@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sorted}}\index{\sphinxhyphen{}\sphinxhyphen{}sorted@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sorted}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-s}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-sorted}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}s}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sorted}}}
\pysigstopsignatures
\sphinxAtStartPar
Sort output by free energy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAaliduplex:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\index{\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-saltInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Provide salt correction for duplex initialization (in kcal/mol).

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAaliduplex:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAaliduplex.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAaliduplex:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAaliduplex:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAaliduplex:author}}
\sphinxAtStartPar
Ivo L Hofacker, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAaliduplex:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.


\subsection{SEE ALSO}
\label{\detokenize{man/RNAaliduplex:see-also}}
\sphinxAtStartPar
RNAduplex(1) RNAcofold(1) RNAfold(1)

\sphinxstepscope


\section{RNAalifold}
\label{\detokenize{man/RNAalifold:rnaalifold}}\label{\detokenize{man/RNAalifold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAalifold}} \sphinxhyphen{} manual page for RNAalifold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAalifold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAalifold\PYG{+w}{ }\PYG{o}{[}options\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input0.aln\PYGZgt{}\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input1.aln\PYGZgt{}\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAalifold:description}}
\sphinxAtStartPar
RNAalifold 2.7.2

\sphinxAtStartPar
calculate secondary structures for a set of aligned RNAs

\sphinxAtStartPar
Read aligned RNA sequences from stdin or file.aln and calculate their minimum
free energy (mfe) structure, partition function (pf) and base pairing
probability matrix. Currently, input alignments have to be in CLUSTAL,
Stockholm, FASTA, or MAF format. The input format must be set manually in
interactive mode (default is Clustal), but will be determined automagically
from the input file, if not expplicitly set. It returns the mfe structure in
bracket notation, its energy, the free energy of the thermodynamic ensemble and
the frequency of the mfe structure in the ensemble to stdout.  It also produces
Postscript files with plots of the resulting secondary structure graph
(“alirna.ps”) and a “dot plot” of the base pairing matrix (“alidot.ps”).
The file “alifold.out” will contain a list of likely pairs sorted by
credibility, suitable for viewing  with “AliDot.pl”. Be warned that output
file will overwrite any existing files of the same name.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}}\index{\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}quiet@\spxentry{\sphinxhyphen{}\sphinxhyphen{}quiet}}\index{\sphinxhyphen{}\sphinxhyphen{}quiet@\spxentry{\sphinxhyphen{}\sphinxhyphen{}quiet}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-q}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-quiet}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}q}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}quiet}}}
\pysigstopsignatures
\sphinxAtStartPar
Be quiet. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This option can be used to minimize the output of additional information and
non\sphinxhyphen{}severe warnings which otherwise might spam stdout/stderr.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAalifold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format}}\index{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-f}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-input-format}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format}}\DUrole{p}{=}C|S|F|M}
\pysigstopsignatures
\sphinxAtStartPar
File format of the input multiple sequence alignment (MSA).

\sphinxAtStartPar
If this parameter is set, the input is considered to be in a particular file
format. Otherwise, the program tries to determine the file format
automatically, if an input file was provided in the set of parameters. In
case the input MSA is provided in interactive mode, or from a terminal (TTY),
the programs default is to assume CLUSTALW format.
Currently, the following formats are available: ClustalW (\sphinxcode{\sphinxupquote{C}}), Stockholm 1.0
(\sphinxcode{\sphinxupquote{S}}), FASTA/Pearson (\sphinxcode{\sphinxupquote{F}}), and MAF (\sphinxcode{\sphinxupquote{M}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}}\index{\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-mis}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mis}}}
\pysigstopsignatures
\sphinxAtStartPar
Output “most informative sequence” instead of simple consensus: For each column of the alignment output the set of nucleotides with frequency greater than average in IUPAC notation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}}\index{\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-jobs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}\DUrole{p}{{[}}=number\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Split batch input into jobs and start processing in parallel using multiple threads. A value of 0 indicates to use as many parallel threads as computation cores are available.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Default processing of input data is performed in a serial fashion, i.e. one
alignment at a time. Using this switch, a user can instead start the
computation for many alignments in the input in parallel. RNAalifold will
create as many parallel computation slots as specified and assigns input
alignments of the input file(s) to the available slots. Note, that this
increases memory consumption since input alignments have to be kept in memory
until an empty compute slot is available and each running job requires its
own dynamic programming matrices.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}}\index{\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-unordered}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}unordered}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not try to keep output in order with input while parallel processing is in place.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
When parallel input processing ({\hyperref[\detokenize{man/RNAalifold:cmdoption-j}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}}}} flag) is enabled, the order in which
input is processed depends on the host machines job scheduler. Therefore, any
output to stdout or files generated by this program will most likely not
follow the order of the corresponding input data set. The default of
RNAalifold is to use a specialized data structure to still keep the results
output in order with the input data. However, this comes with a trade\sphinxhyphen{}off in
terms of memory consumption, since all output must be kept in memory for as
long as no chunks of consecutive, ordered output are available. By setting
this flag, RNAalifold will not buffer individual results but print them as
soon as they have been computated.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}n@\spxentry{\sphinxhyphen{}n}}\index{\sphinxhyphen{}n@\spxentry{\sphinxhyphen{}n}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids@\spxentry{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids}}\index{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids@\spxentry{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-n}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-continuous-ids}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}n}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids}}}
\pysigstopsignatures
\sphinxAtStartPar
Use continuous alignment ID numbering when no alignment ID can be retrieved from input data.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Due to its past, RNAalifold produces a specific set of output file names for
the first input alignment, “alirna.ps”, “alidot.ps”, etc. But for all
further alignments in the input, it usually adopts a naming scheme based on
IDs, which may be retrieved from the input alignment’s meta\sphinxhyphen{}data, or
generated by a prefix followed by an increasing counter. Setting this flag
instructs RNAalifold to use the ID naming scheme also for the first
alignment.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each alignment.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAalifold is to automatically determine an ID from the
input alignment if the input file format allows to do that. Alignment IDs
are, for instance, usually given in Stockholm 1.0 formatted input. If this
flag is active, RNAalifold ignores any IDs retrieved from the input and
automatically generates an ID for each alignment.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”alignment”)}

\sphinxAtStartPar
If this parameter is set, each alignment will be prefixed with the provided
string. Hence, the output files will obey the following naming scheme:
“prefix\_xxxx\_ss.ps” (secondary structure plot), “prefix\_xxxx\_dp.ps”
(dot\sphinxhyphen{}plot), “prefix\_xxxx\_aln.ps” (annotated alignment), etc. where xxxx is
the alignment number beginning with the second alignment in the input. Use
this setting in conjunction with the {\hyperref[\detokenize{man/RNAalifold:cmdoption-n}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids}}}}} flag to assign IDs
beginning with the first input alignment.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter \sphinxcode{\sphinxupquote{\_}} between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When alignment IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies continuous alignment IDs, i.e. it
activates the {\hyperref[\detokenize{man/RNAalifold:cmdoption-n}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAalifold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}benchmark@\spxentry{\sphinxhyphen{}\sphinxhyphen{}benchmark}}\index{\sphinxhyphen{}\sphinxhyphen{}benchmark@\spxentry{\sphinxhyphen{}\sphinxhyphen{}benchmark}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-benchmark}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}benchmark}}}
\pysigstopsignatures
\sphinxAtStartPar
Perform a prediction performance test (benchmark) based on reference structures taken from the input.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output}}\index{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-bm-output}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Store the performance benchmark results in a file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append}}\index{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-bm-output-append}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append}}}
\pysigstopsignatures
\sphinxAtStartPar
Append performance benchmark data to a file instead of overwriting already existing content.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk}}\index{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-bm-rm-pk}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk}}}
\pysigstopsignatures
\sphinxAtStartPar
Remove pseudo\sphinxhyphen{}knots from the reference structure before computing benchmark.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAalifold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}}\index{\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\index{\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-p}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-partfunc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}p}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\DUrole{p}{{[}}=INT\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the partition function and base pairing probability matrix in addition to the mfe structure. Default is calculation of mfe structure only.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
In addition to the MFE structure we print a coarse representation of the pair
probabilities in form of a pseudo bracket notation, followed by the ensemble
free energy, as well as the centroid structure derived from the pair
probabilities together with its free energy and distance to the ensemble.
Finally it prints the frequency of the mfe structure.

\sphinxAtStartPar
An additionally passed value to this option changes the behavior of partition
function calculation:
\sphinxcode{\sphinxupquote{\sphinxhyphen{}p0}} deactivates the calculation of the pair probabilities, saving about 50\%
in runtime. This prints the ensemble free energy \sphinxcode{\sphinxupquote{dG=\sphinxhyphen{}kT ln(Z)}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\index{\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the scaling of the Boltzmann factors. \sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The argument provided with this option is used to scale the thermodynamic
temperature in the Boltzmann factors independently from the temperature of
the individual loop energy contributions. The Boltzmann factors then become
\sphinxcode{\sphinxupquote{exp(\sphinxhyphen{} dG/(kTn*betaScale))}} where \sphinxcode{\sphinxupquote{k}} is the Boltzmann constant, \sphinxcode{\sphinxupquote{dG}} the
free energy contribution of the state, \sphinxcode{\sphinxupquote{T}} the absolute temperature and \sphinxcode{\sphinxupquote{n}}
the number of sequences.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}MEA@\spxentry{\sphinxhyphen{}\sphinxhyphen{}MEA}}\index{\sphinxhyphen{}\sphinxhyphen{}MEA@\spxentry{\sphinxhyphen{}\sphinxhyphen{}MEA}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-MEA}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}MEA}}\DUrole{p}{{[}}=gamma\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute MEA (maximum expected accuracy) structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The expected accuracy is computed from the pair probabilities: each base pair
\sphinxcode{\sphinxupquote{(i,j)}} receives a score \sphinxcode{\sphinxupquote{2*gamma*p\_ij}} and the score of an unpaired base is
given by the probability of not forming a pair. The parameter gamma tunes the
importance of correctly predicted pairs versus unpaired bases. Thus, for
small values of gamma the MEA structure will contain only pairs with very
high probability. Using {\hyperref[\detokenize{man/RNAalifold:cmdoption-MEA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}MEA}}}}} implies {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} for computing the pair
probabilities.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sci@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sci}}\index{\sphinxhyphen{}\sphinxhyphen{}sci@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sci}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-sci}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sci}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the structure conservation index (SCI) for the MFE consensus structure of the alignment.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}}\index{\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-circ}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}circ}}}
\pysigstopsignatures
\sphinxAtStartPar
Assume a circular (instead of linear) RNA molecule.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\index{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-bppmThreshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\DUrole{p}{=}cutoff}
\pysigstopsignatures
\sphinxAtStartPar
Set the threshold/cutoff for base pair probabilities included in the postscript output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}6”)}

\sphinxAtStartPar
By setting the threshold the base pair probabilities that are included in the
output can be varied. By default only those exceeding \sphinxcode{\sphinxupquote{1e\sphinxhyphen{}6}} in probability
will be shown as squares in the dot plot. Changing the threshold to any other
value allows for increase or decrease of data.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-g}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}}\index{\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}stochBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT}}\index{\sphinxhyphen{}\sphinxhyphen{}stochBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-s}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-stochBT}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}s}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}stochBT}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Stochastic backtrack. Compute a certain number of random structures with a probability dependend on the partition function. See {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} option in RNAsubopt.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}stochBT\_en@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en}}\index{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-stochBT_en}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
same as {\hyperref[\detokenize{man/RNAPKplex:cmdoption-s}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}s}}}}} option but also print out the energies and probabilities of the backtraced structures.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}}\index{\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nonRedundant@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}}\index{\sphinxhyphen{}\sphinxhyphen{}nonRedundant@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-N}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-nonRedundant}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}N}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}}}
\pysigstopsignatures
\sphinxAtStartPar
Enable non\sphinxhyphen{}redundant sampling strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed@\spxentry{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed}}\index{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed@\spxentry{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-random-seed}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the seed for the random number generator

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAalifold:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum base pair span.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}}\index{\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}}\index{\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-C}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-constraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}C}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate structures subject to constraints. The constraining structure will be read from \sphinxcode{\sphinxupquote{stdin}}, the alignment has to be given as a file name on the command line.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=””)}

\sphinxAtStartPar
The program reads first the sequence, then a string containing constraints on
the structure encoded with the symbols:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{.}} (no constraint for this base)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{|}} (the corresponding base has to be paired

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{x}} (the base is unpaired)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textless{}}} (base i is paired with a base j\textgreater{}i)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textgreater{}}} (base i is paired with a base j\textless{}i)

\sphinxAtStartPar
and matching brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} (base i pairs base j)

\sphinxAtStartPar
With the exception of \sphinxcode{\sphinxupquote{|}}, constraints will disallow all pairs conflicting
with the constraint. This is usually sufficient to enforce the constraint,
but occasionally a base may stay unpaired in spite of constraints. PF folding
ignores constraints of type \sphinxcode{\sphinxupquote{|}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}}\index{\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-batch}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}batch}}}
\pysigstopsignatures
\sphinxAtStartPar
Use constraints for all alignment records. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Usually, constraints provided from input file are only applied to a single
sequence alignment. Therefore, RNAalifold will stop its computation and quit
after the first input alignment was processed. Using this switch, RNAalifold
processes all sequence alignments in the input and applies the same provided
constraints to each of them.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}\index{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-enforceConstraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}}
\pysigstopsignatures
\sphinxAtStartPar
Enforce base pairs given by round brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} in structure constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}SS\_cons@\spxentry{\sphinxhyphen{}\sphinxhyphen{}SS\_cons}}\index{\sphinxhyphen{}\sphinxhyphen{}SS\_cons@\spxentry{\sphinxhyphen{}\sphinxhyphen{}SS\_cons}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-SS_cons}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}SS\_cons}}}
\pysigstopsignatures
\sphinxAtStartPar
Use consensus structures from Stockholm file (\sphinxcode{\sphinxupquote{\#=GF SS\_cons}}) as constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Stockholm formatted alignment files have the possibility to store a secondary
structure string in one of if (\sphinxcode{\sphinxupquote{\#=GC}}) column annotation meta tags. The
corresponding tag name is usually \sphinxcode{\sphinxupquote{SS\_cons}}, a consensus secondary structure.
Activating this flag allows one to use this consensus secondary structure
from the input file as structure constraint. Currently, only the following
characters are interpreted:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} {[}mathing parenthesis: column i pairs with column j{]}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textless{}}} \sphinxcode{\sphinxupquote{\textgreater{}}} {[}matching angular brackets: column i pairs with column j{]}

\sphinxAtStartPar
All other characters are not interpreted (yet).
Note: Activating this flag implies {\hyperref[\detokenize{man/RNAalifold:cmdoption-C}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}file1,file2}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\sphinxAtStartPar
Multiple shapefiles for the individual sequences in the alignment may be
specified  as a comma separated list. An optional association of particular
shape files to a specific  sequence in the alignment can be expressed by
prepending the sequence number to the filename,  e.g.
“5=seq5.shape,3=seq3.shape” will assign the reactivity values from file
seq5.shape to  the fifth sequence in the alignment, and the values from file
seq3.shape to sequence 3. If  no assignment is specified, the reactivity
values are assigned to corresponding sequences in  the order they are given.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}D{[}mX{]}{[}bY{]}}
\pysigstopsignatures
\sphinxAtStartPar
Specify the method how to convert SHAPE reactivity data to pseudo energy contributions.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
Currently, the only data conversion method available is that of to Deigan et
al 2009.  This method is the default and is recognized by a capital \sphinxcode{\sphinxupquote{D}} in
the provided parameter, i.e.:  {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting.
The slope \sphinxcode{\sphinxupquote{m}} and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a  non\sphinxhyphen{}default value if
necessary. Otherwise m=1.8 and b=\sphinxhyphen{}0.6 as stated in the paper mentionen
before.  To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7, use a  parameter
string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also provide only one
of the two  parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAalifold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAalifold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} dangling energies will be added for the bases adjacent to a helix on
both sides

\sphinxAtStartPar
in any case.

\sphinxAtStartPar
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}cfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cfactor}}\index{\sphinxhyphen{}\sphinxhyphen{}cfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cfactor}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-cfactor}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}cfactor}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the weight of the covariance term in the energy function

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nfactor}}\index{\sphinxhyphen{}\sphinxhyphen{}nfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nfactor}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-nfactor}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nfactor}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the penalty for non\sphinxhyphen{}compatible sequences in the covariance term of the energy function

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}E@\spxentry{\sphinxhyphen{}E}}\index{\sphinxhyphen{}E@\spxentry{\sphinxhyphen{}E}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}endgaps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}endgaps}}\index{\sphinxhyphen{}\sphinxhyphen{}endgaps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}endgaps}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-E}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-endgaps}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}E}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}endgaps}}}
\pysigstopsignatures
\sphinxAtStartPar
Score pairs with endgaps same as gap\sphinxhyphen{}gap pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}}\index{\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ribosum\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}}\index{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-R}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-ribosum_file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}R}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}}\DUrole{p}{=}ribosumfile}
\pysigstopsignatures
\sphinxAtStartPar
use specified Ribosum Matrix instead of normal

\sphinxAtStartPar
energy model.

\sphinxAtStartPar
Matrixes to use should be 6x6 matrices, the order of the terms is \sphinxcode{\sphinxupquote{AU}}, \sphinxcode{\sphinxupquote{CG}},
\sphinxcode{\sphinxupquote{GC}}, \sphinxcode{\sphinxupquote{GU}}, \sphinxcode{\sphinxupquote{UA}}, \sphinxcode{\sphinxupquote{UG}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}r@\spxentry{\sphinxhyphen{}r}}\index{\sphinxhyphen{}r@\spxentry{\sphinxhyphen{}r}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}}\index{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-r}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-ribosum_scoring}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}r}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}}}
\pysigstopsignatures
\sphinxAtStartPar
use ribosum scoring matrix. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The matrix is chosen according to the minimal and maximal pairwise identities
of the sequences in the file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}old@\spxentry{\sphinxhyphen{}\sphinxhyphen{}old}}\index{\sphinxhyphen{}\sphinxhyphen{}old@\spxentry{\sphinxhyphen{}\sphinxhyphen{}old}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-old}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}old}}}
\pysigstopsignatures
\sphinxAtStartPar
use old energy evaluation, treating gaps as characters.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsubsection{Plotting:}
\label{\detokenize{man/RNAalifold:plotting}}\begin{quote}

\sphinxAtStartPar
Command line options for changing the default behavior of structure layout
and pairing probability plots
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}color@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color}}\index{\sphinxhyphen{}\sphinxhyphen{}color@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-color}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}color}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce a colored version of the consensus structure plot “alirna.ps” (default b\&w only)

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold}}\index{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-color-threshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the threshold of maximum counter examples for coloring consensus structure plot.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
Floating point numbers between 0 and 1 are treated as frequencies among all
sequencesin the alignment. All other will be truncated to integer and used as
absolute number of counter
examples.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat}}\index{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-color-min-sat}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the minimum saturation for coloring consensus structure plot.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0.2”)}

\sphinxAtStartPar
Floating point number \textgreater{}= 0 and smaller than 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln}}\index{\sphinxhyphen{}\sphinxhyphen{}aln@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-aln}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce a colored and structure annotated alignment in PostScript format in the file “aln.ps” in the current directory.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}}\index{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-aln-EPS-cols}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Number of columns in colored EPS alignment output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”60”)}

\sphinxAtStartPar
A value less than 1 indicates that the output should not be wrapped at all.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk}}\index{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-aln-stk}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk}}\DUrole{p}{{[}}=prefix\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Create a multi\sphinxhyphen{}Stockholm formatted output file. \sphinxstyleemphasis{(default=”RNAalifold\_results”)}

\sphinxAtStartPar
The default file name used for the output is “RNAalifold\_results.stk”.
Users may change the filename to “prefix.stk” by specifying the prefix as
optional argument. The file will be create in the current directory if it
does not already exist. In case the file already exists, output will be
appended to it. Note: Any special characters in the filename will be replaced
by the filename delimiter, hence there is no way to pass an entire directory
path through this option yet. (See also the “\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noPS}}\index{\sphinxhyphen{}\sphinxhyphen{}noPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noPS}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-noPS}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noPS}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not produce postscript drawing of the mfe structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noDP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noDP}}\index{\sphinxhyphen{}\sphinxhyphen{}noDP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noDP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-noDP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noDP}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not produce dot\sphinxhyphen{}plot postscript file containing base pair or stack probabilitities.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
In combination with the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} option, this flag turns\sphinxhyphen{}off creation of individual
dot\sphinxhyphen{}plot files. Consequently, computed base pair probability output is
omitted but centroid and MEA structure prediction is still performed.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}}\index{\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type@\spxentry{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}}\index{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type@\spxentry{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-t}}\phantomsection\label{\detokenize{man/RNAalifold:cmdoption-layout-type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}t}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Choose the layout algorithm. \sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
Select the layout algorithm that computes the nucleotide coordinates.
Currently, the following algorithms are available:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{0}}: simple radial layout

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{1}}: Naview layout (Bruccoleri et al. 1988)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{2}}: circular layout

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{3}}: RNAturtle (Wiegreffe et al. 2018)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{4}}: RNApuzzler (Wiegreffe et al. 2018)

\end{fulllineitems}


\sphinxAtStartPar
Caveats:

\sphinxAtStartPar
Sequences are not weighted. If possible, do not mix very similar and dissimilar
sequences. Duplicate sequences, for example, can distort the prediction.


\subsection{REFERENCES}
\label{\detokenize{man/RNAalifold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
The algorithm is a variant of the dynamic programming algorithms of M. Zuker and P. Stiegler (mfe)
and J.S. McCaskill (pf) adapted for sets of aligned sequences with covariance information.

\sphinxAtStartPar
Ivo L. Hofacker, Martin Fekete, and Peter F. Stadler (2002),
“Secondary Structure Prediction for Aligned RNA Sequences”,
J.Mol.Biol.: 319, pp 1059\sphinxhyphen{}1066.

\sphinxAtStartPar
Stephan H. Bernhart, Ivo L. Hofacker, Sebastian Will, Andreas R. Gruber, and Peter F. Stadler (2008),
“RNAalifold: Improved consensus structure prediction for RNA alignments”,
BMC Bioinformatics: 9, pp 474

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{EXAMPLES}
\label{\detokenize{man/RNAalifold:examples}}
\sphinxAtStartPar
A simple call to compute consensus MFE structure, ensemble free energy,
base pair probabilities, centroid structure, and MEA structure for a
multiple sequence alignment (MSA) provided as Stockholm formatted file
alignment.stk might look like:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAalifold \PYGZhy{}p \PYGZhy{}\PYGZhy{}MEA alignment.stk
\end{sphinxVerbatim}

\sphinxAtStartPar
Consider the following MSA file for three sequences

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+c1}{\PYGZsh{} STOCKHOLM 1.0}

\PYG{c+c1}{\PYGZsh{}=GF AC   RF01293}
\PYG{c+c1}{\PYGZsh{}=GF ID   ACA59}
\PYG{c+c1}{\PYGZsh{}=GF DE   Small nucleolar RNA ACA59}
\PYG{c+c1}{\PYGZsh{}=GF AU   Wilkinson A}
\PYG{c+c1}{\PYGZsh{}=GF SE   Predicted; WAR; Wilkinson A}
\PYG{c+c1}{\PYGZsh{}=GF SS   Predicted; WAR; Wilkinson A}
\PYG{c+c1}{\PYGZsh{}=GF GA   43.00}
\PYG{c+c1}{\PYGZsh{}=GF TC   44.90}
\PYG{c+c1}{\PYGZsh{}=GF NC   40.30}
\PYG{c+c1}{\PYGZsh{}=GF TP   Gene; snRNA; snoRNA; HACA\PYGZhy{}box;}
\PYG{c+c1}{\PYGZsh{}=GF BM   cmbuild \PYGZhy{}F CM SEED}
\PYG{c+c1}{\PYGZsh{}=GF CB   cmcalibrate \PYGZhy{}\PYGZhy{}mpi CM}
\PYG{c+c1}{\PYGZsh{}=GF SM   cmsearch \PYGZhy{}\PYGZhy{}cpu 4 \PYGZhy{}\PYGZhy{}verbose \PYGZhy{}\PYGZhy{}nohmmonly \PYGZhy{}E 1000 \PYGZhy{}Z 549862.597050 CM SEQDB}
\PYG{c+c1}{\PYGZsh{}=GF DR   snoRNABase; ACA59;}
\PYG{c+c1}{\PYGZsh{}=GF DR   SO; 0001263; ncRNA\PYGZus{}gene;}
\PYG{c+c1}{\PYGZsh{}=GF DR   GO; 0006396; RNA processing;}
\PYG{c+c1}{\PYGZsh{}=GF DR   GO; 0005730; nucleolus;}
\PYG{c+c1}{\PYGZsh{}=GF RN   [1]}
\PYG{c+c1}{\PYGZsh{}=GF RM   15199136}
\PYG{c+c1}{\PYGZsh{}=GF RT   Human box H/ACA pseudouridylation guide RNA machinery.}
\PYG{c+c1}{\PYGZsh{}=GF RA   Kiss AM, Jady BE, Bertrand E, Kiss T}
\PYG{c+c1}{\PYGZsh{}=GF RL   Mol Cell Biol. 2004;24:5797\PYGZhy{}5807.}
\PYG{c+c1}{\PYGZsh{}=GF WK   Small\PYGZus{}nucleolar\PYGZus{}RNA}
\PYG{c+c1}{\PYGZsh{}=GF SQ   3}


\PYG{n}{AL031296}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{85969}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{86120}     \PYG{n}{CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGUAACAAUACUUACUCUCGUUGGUGAUAAGGAACAGCU}
\PYG{n}{AANU01225121}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{438}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{603}     \PYG{n}{CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGUGACAAUACUUACUCUCGUUGGUGAUAAGGAACAGCU}
\PYG{n}{AAWR02037329}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{29294}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{29150} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{CUCGACACCACU}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{GCCUCGGUUACCCAUCGGUGCAGUGCGGGUAGUAGUACCAAUGCUAAUUAGUUGUGAGGACCAACU}
\PYG{c+c1}{\PYGZsh{}=GC SS\PYGZus{}cons               \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}((((,\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{},,,,\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{},,,,,))))::::::::::::}
\PYG{c+c1}{\PYGZsh{}=GC RF                    CUGCcccaCAaCacuuguGCCUCaGUUACcCauagguGuAGUGaGgGuggcAaUACccaCcCucgUUgGuggUaAGGAaCAgCU}
\PYG{o}{/}\PYG{o}{/}
\end{sphinxVerbatim}

\sphinxAtStartPar
Then, the above program call will produce this output:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{l+m+mi}{3} \PYG{n}{sequences}\PYG{p}{;} \PYG{n}{length} \PYG{n}{of} \PYG{n}{alignment} \PYG{l+m+mf}{84.}
\PYG{o}{\PYGZgt{}}\PYG{n}{ACA59}
\PYG{n}{CUGCCUCACAACAUUUGUGCCUCAGUUACCCAUAGAUGUAGUGAGGGUAACAAUACUUACUCUCGUUGGUGAUAAGGAACAGCU}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{12.54} \PYG{o}{=} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{12.77} \PYG{o}{+}   \PYG{l+m+mf}{0.23}\PYG{p}{)}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{\PYGZob{}}\PYG{p}{\PYGZob{}}\PYG{p}{,}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{\PYGZob{}}\PYG{p}{\PYGZob{}}\PYG{p}{\PYGZob{}}\PYG{p}{\PYGZob{}}\PYG{p}{,}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{\PYGZcb{}}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{[}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{14.38}\PYG{p}{]}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{\PYGZob{}}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{12.44} \PYG{o}{=} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{12.33} \PYG{o}{+}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.10} \PYG{n}{d}\PYG{o}{=}\PYG{l+m+mf}{10.94}\PYG{p}{\PYGZcb{}}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{\PYGZob{}}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{12.44} \PYG{o}{=} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{12.33} \PYG{o}{+}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.10} \PYG{n}{MEA}\PYG{o}{=}\PYG{l+m+mf}{66.65}\PYG{p}{\PYGZcb{}}
\PYG{n}{frequency} \PYG{n}{of} \PYG{n}{mfe} \PYG{n}{structure} \PYG{o+ow}{in} \PYG{n}{ensemble} \PYG{l+m+mf}{0.368739}\PYG{p}{;} \PYG{n}{ensemble} \PYG{n}{diversity} \PYG{l+m+mf}{17.77}
\end{sphinxVerbatim}

\sphinxAtStartPar
Here, the first line is written to \sphinxstyleemphasis{stderr} and simply states the number of sequences and
the length of the alignment. This line can be suppressed using the {\hyperref[\detokenize{man/RNALalifold:cmdoption-q}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}quiet}}}}} option.
The main output then consists of 7 lines, where the first two resemble the FASTA header
with the ID as read from the input data set, followed by the consensus sequence in the
second line. The third line consists of the consensus secondary structure in dot\sphinxhyphen{}bracket
notation followed by the averaged minimum free energy in parenthesis. This energy is
composed of two major contributions, the actual free energies derived from the Nearest
Neighbor model, and the covariance pseudo\sphinxhyphen{}energy term, which are both displayed after
the equal sign. The fourth line shows the base pair propensity in pseudo dot\sphinxhyphen{}bracket
notation followed by the ensemble free energy dG = \sphinxhyphen{}kT ln(Z) in square brackets.
Similarly, the next two lines state the controid\sphinxhyphen{} and the MEA structure in dot\sphinxhyphen{}bracket
notation, followed by their corresponding free energy contributions, the mean distance
(d) to the ensemble as well as the maximum expected accuracy (MEA). Again, the free
energies are split into Nearest Neighbor contribution and the covariance pseudo\sphinxhyphen{}energy
term.

\sphinxAtStartPar
Furthermore, RNAalifold will produce three output files: ACA59\_ss.ps, ACA59\_dp.ps, and
ACA59\_ali.out that contain the secondary structure drawing, the base pair probability
dot\sphinxhyphen{}plot, and a detailed table of base pair probabilities, respectively.


\subsection{THE ALIOUT FILE}
\label{\detokenize{man/RNAalifold:the-aliout-file}}
\sphinxAtStartPar
When computing base pair probabilities ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}partfunc}}}}} option), RNAalifold will produce
a file with the suffix \sphinxtitleref{ali.out}. This file contains the base pairing probabilities between
different alignment columns together with some detailed statistics for the individual
sequences within the alignment. The file is a simple text file with a two line header that
states the number of sequences and length of the alignment. The first couple of lines
of this file may look like:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{l+m+mi}{3} \PYG{n}{sequence}\PYG{p}{;} \PYG{n}{length} \PYG{n}{of} \PYG{n}{alignment} \PYG{l+m+mi}{84}
\PYG{n}{alifold} \PYG{n}{output}
\PYG{l+m+mi}{14}    \PYG{l+m+mi}{36}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{92.7}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.212} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{1}    \PYG{n}{UA}\PYG{p}{:}\PYG{l+m+mi}{2}
\PYG{l+m+mi}{13}    \PYG{l+m+mi}{37}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{92.7}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.218} \PYG{n}{GU}\PYG{p}{:}\PYG{l+m+mi}{1}    \PYG{n}{AU}\PYG{p}{:}\PYG{l+m+mi}{2}
\PYG{l+m+mi}{12}    \PYG{l+m+mi}{38}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{92.7}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.231} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{3}
\PYG{l+m+mi}{15}    \PYG{l+m+mi}{35}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{91.9}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.239} \PYG{n}{UG}\PYG{p}{:}\PYG{l+m+mi}{3}
\PYG{l+m+mi}{16}    \PYG{l+m+mi}{34}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{85.2}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.434} \PYG{n}{UA}\PYG{p}{:}\PYG{l+m+mi}{2}    \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{p}{:}\PYG{l+m+mi}{1}
\PYG{l+m+mi}{8}    \PYG{l+m+mi}{42}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{80.7}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.526} \PYG{n}{AU}\PYG{p}{:}\PYG{l+m+mi}{3}   \PYG{o}{+}
\PYG{l+m+mi}{9}    \PYG{l+m+mi}{41}  \PYG{l+m+mi}{0}  \PYG{l+m+mf}{80.4}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.542} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{3}   \PYG{o}{+}
\PYG{l+m+mi}{7}    \PYG{l+m+mi}{43}  \PYG{l+m+mi}{1}  \PYG{l+m+mf}{80.1}\PYG{o}{\PYGZpc{}}   \PYG{l+m+mf}{0.541} \PYG{n}{CG}\PYG{p}{:}\PYG{l+m+mi}{2}   \PYG{o}{+}
\end{sphinxVerbatim}

\sphinxAtStartPar
Starting with the third row, there are at least six and at most 13 columns separated by
whitespaces stating: (1) the i\sphinxhyphen{}position and (2) the j\sphinxhyphen{}position of a potential base pair
(i, j), followed by (3) the number of counter examples, i.e. the number of sequences in
the alignment that can’t form a canonical base pair with their respective sequence positions.
Next is (4) the base pair probabilitiy in percent, (5) a pseudo entropy measure
S\_ij = S\_i + S\_j \sphinxhyphen{} p\_ij ln(p\_ij), where S\_i and S\_j are the positional entropies for the
two alignment columns i and j, and p\_ij is the base pair probability. Finally, the last
columns (6\sphinxhyphen{}12) state the number of particular base pairs for the individual sequences in
the alignment. Here, we distinguish the base pairs “GC”,”CG”,”AU”,”UA”,”GU”,”UG”, and
the special case “\textendash{}” that represents gaps at both positions i and j.
Finally, base pairs that are not part of the MFE structure are marked by an additional
“+” sign in the last column.


\subsection{AUTHOR}
\label{\detokenize{man/RNAalifold:author}}
\sphinxAtStartPar
Ivo L Hofacker, Stephan Bernhart, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAalifold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.


\subsection{SEE ALSO}
\label{\detokenize{man/RNAalifold:see-also}}
\sphinxAtStartPar
The ALIDOT package \sphinxurl{http://www.tbi.univie.ac.at/RNA/Alidot/}

\sphinxstepscope


\section{RNAcofold}
\label{\detokenize{man/RNAcofold:rnacofold}}\label{\detokenize{man/RNAcofold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAcofold}} \sphinxhyphen{} manual page for RNAcofold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAcofold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAcofold\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...\PYG{+w}{ }\PYG{o}{[}FILE\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAcofold:description}}
\sphinxAtStartPar
RNAcofold 2.7.2

\sphinxAtStartPar
calculate secondary structures of two RNAs with dimerization

\sphinxAtStartPar
The program works much like RNAfold, but allows one to specify two RNA
sequences which are then allowed to form a dimer structure. RNA sequences are
read from stdin in the usual format, i.e. each line of input corresponds to one
sequence, except for lines starting with \sphinxcode{\sphinxupquote{\textgreater{}}} which contain the name of the next
sequence.
To compute the hybrid structure of two molecules, the two sequences must be
concatenated using the \sphinxcode{\sphinxupquote{\&}} character as separator.
RNAcofold can compute minimum free energy (mfe) structures, as well as
partition function (pf) and base pairing probability matrix (using the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}
switch)
Since dimer formation is concentration dependent, RNAcofold can be used to
compute equilibrium concentrations for all five monomer and (homo/hetero)\sphinxhyphen{}dimer
species, given input concentrations for the monomers.
Output consists of the mfe structure in bracket notation as well as PostScript
structure plots and “dot plot” files containing the pair probabilities, see
the RNAfold man page for details. In the dot plots a cross marks the chain
break between the two concatenated sequences.
The program will continue to read new sequences until a line consisting of the
single character \sphinxcode{\sphinxupquote{@}} or an end of file condition is encountered.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAcofold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format}}\index{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-output-format}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format}}\DUrole{p}{=}format\sphinxhyphen{}character}
\pysigstopsignatures
\sphinxAtStartPar
Change the default output format.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”V”)}

\sphinxAtStartPar
The following output formats are currently supported:

\sphinxAtStartPar
ViennaRNA format (\sphinxcode{\sphinxupquote{V}}), Delimiter\sphinxhyphen{}separated format (\sphinxcode{\sphinxupquote{D}}) also known as \sphinxcode{\sphinxupquote{CSV}}

\sphinxAtStartPar
format.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-csv-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}delim}}\DUrole{p}{=}delimiter}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character for Delimiter\sphinxhyphen{}separated output format, such as \sphinxcode{\sphinxupquote{CSV}}.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”,”)}

\sphinxAtStartPar
Delimiter\sphinxhyphen{}separated output defaults to comma separated values (\sphinxcode{\sphinxupquote{CSV}}), i.e.
all data in one data set is delimited by a comma character. This option
allows one to change the delimiting character to something else. Note, to
switch to tab\sphinxhyphen{}separated data, use \sphinxcode{\sphinxupquote{\$\textquotesingle{}\textbackslash{}t\textquotesingle{}}} as delimiting character.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}noheader@\spxentry{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}noheader}}\index{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}noheader@\spxentry{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}noheader}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-csv-noheader}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}csv\sphinxhyphen{}noheader}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print header for Delimiter\sphinxhyphen{}separated output, such as CSV.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}}\index{\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-jobs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}\DUrole{p}{{[}}=number\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Split batch input into jobs and start processing in parallel using multiple threads. A value of 0 indicates to use as many parallel threads as computation cores are available.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Default processing of input data is performed in a serial fashion, i.e. one
sequence pair at a time. Using this switch, a user can instead start the
computation for many sequence pairs in the input in parallel. RNAcofold will
create as many parallel computation slots as specified and assigns input
sequences of the input file(s) to the available slots. Note, that this
increases memory consumption since input alignments have to be kept in memory
until an empty compute slot is available and each running job requires its
own dynamic programming matrices.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}}\index{\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-unordered}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}unordered}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not try to keep output in order with input while parallel processing is in place.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
When parallel input processing ({\hyperref[\detokenize{man/RNAalifold:cmdoption-j}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}}}} flag) is enabled, the order in which
input is processed depends on the host machines job scheduler. Therefore, any
output to stdout or files generated by this program will most likely not
follow the order of the corresponding input data set. The default of
RNAcofold is to use a specialized data structure to still keep the results
output in order with the input data. However, this comes with a trade\sphinxhyphen{}off in
terms of memory consumption, since all output must be kept in memory for as
long as no chunks of consecutive, ordered output are available. By setting
this flag, RNAcofold will not buffer individual results but print them as
soon as they have been computated.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAcofold is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAcofold ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequence will be prefixed with the provided
string. Hence, the output files will obey the following naming scheme:
“prefix\_xxxx\_ss.ps” (secondary structure plot), “prefix\_xxxx\_dp.ps”
(dot\sphinxhyphen{}plot), “prefix\_xxxx\_dp2.ps” (stack probabilities), etc. where xxxx is
the sequence number. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-filename-full}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}}
\pysigstopsignatures
\sphinxAtStartPar
Use full FASTA header to create filenames. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This parameter can be used to deactivate the default behavior of limiting
output filenames to the first word of the sequence ID. Consider the following
example: An input with FASTA header \sphinxcode{\sphinxupquote{\textgreater{}NM\_0001 Homo Sapiens some gene}} usually
produces output files with the prefix “NM\_0001” without the additional data
available in the FASTA header, e.g. “NM\_0001\_ss.ps” for secondary structure
plots. With this flag set, no truncation of the output filenames is done,
i.e. output filenames receive the full FASTA header data as prefixes. Note,
however, that invalid characters (such as whitespace) will be substituted by
a delimiting character or simply removed, (see also the parameter option
{\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAcofold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAcofold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}}\index{\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\index{\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-p}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-partfunc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}p}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\DUrole{p}{{[}}=INT\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the partition function and base pairing probability matrix in addition to the mfe structure. Default is calculation of mfe structure only.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
In addition to the MFE structure we print a coarse representation of the pair
probabilities in form of a pseudo bracket notation, followed by the ensemble
free energy, as well as the centroid structure derived from the pair
probabilities together with its free energy and distance to the ensemble.
Finally it prints the frequency of the mfe structure, and the structural
diversity (mean distance between the structures in the ensemble).
See the description of pf\_fold() and mean\_bp\_dist() and centroid() in the
RNAlib documentation for details.
Note that unless you also specify \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} or \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}}, the partition function and mfe
calculations will use a slightly different energy model. See the discussion
of dangling end options below.

\sphinxAtStartPar
An additionally passed value to this option changes the behavior of partition
function calculation:

\sphinxAtStartPar
In order to calculate the partition function but not the pair probabilities

\sphinxAtStartPar
use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}p0}} option and save about

\sphinxAtStartPar
50\% in runtime. This prints the ensemble free energy \sphinxcode{\sphinxupquote{dG=\sphinxhyphen{}kT ln(Z)}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}}\index{\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}all\_pf@\spxentry{\sphinxhyphen{}\sphinxhyphen{}all\_pf}}\index{\sphinxhyphen{}\sphinxhyphen{}all\_pf@\spxentry{\sphinxhyphen{}\sphinxhyphen{}all\_pf}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-a}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-all_pf}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}a}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}all\_pf}}\DUrole{p}{{[}}=INT\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function and free energies not only of the hetero\sphinxhyphen{}dimer consisting of the two input sequences (the \sphinxcode{\sphinxupquote{AB dimer}}), but also of the homo\sphinxhyphen{}dimers AA and BB as well as A and B monomers.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
The output will contain the free energies for each of these species, as well
as 5 dot plots containing the conditional pair probabilities, called
“ABname5.ps”, “AAname5.ps” and so on. For later use, these dot plot files
also contain the free energy of the ensemble as a comment. Using {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}}
automatically switches on the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} option. Base pair probability computations
may be turned off altogether by providing \sphinxcode{\sphinxupquote{0}} as an argument to this
parameter. In that case, no dot plot files will be generated.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\index{\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the scaling of the Boltzmann factors. \sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The argument provided with this option is used to scale the thermodynamic
temperature in the Boltzmann factors independently from the temperature of
the individual loop energy contributions. The Boltzmann factors then become
\sphinxcode{\sphinxupquote{exp(\sphinxhyphen{} dG/(kT*betaScale))}} where \sphinxcode{\sphinxupquote{k}} is the Boltzmann constant, \sphinxcode{\sphinxupquote{dG}} the free
energy contribution of the state and \sphinxcode{\sphinxupquote{T}} the absolute temperature.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}concentrations@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concentrations}}\index{\sphinxhyphen{}\sphinxhyphen{}concentrations@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concentrations}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-concentrations}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}concentrations}}}
\pysigstopsignatures
\sphinxAtStartPar
In addition to everything listed under the {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} option, read in initial monomer concentrations and compute the expected equilibrium concentrations of the 5 possible species (AB, AA, BB, A, B).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Start concentrations are read from stdin (unless the {\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} option is used) in
{[}mol/l{]}, equilibrium concentrations are given realtive to the sum of the two
inputs. An arbitrary number of initial concentrations can be specified (one
pair of concentrations per line).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}concfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concfile}}\index{\sphinxhyphen{}\sphinxhyphen{}concfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concfile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-f}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-concfile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}concfile}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Specify a file with initial concentrations for the two sequences.

\sphinxAtStartPar
The table consits of arbitrary many lines with just two numbers (the
concentration of sequence A and B). This option will automatically toggle the
{\hyperref[\detokenize{man/RNA2Dfold:cmdoption-c}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}c}}}}} (and thus {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} and {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}) options (see above).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}centroid@\spxentry{\sphinxhyphen{}\sphinxhyphen{}centroid}}\index{\sphinxhyphen{}\sphinxhyphen{}centroid@\spxentry{\sphinxhyphen{}\sphinxhyphen{}centroid}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-centroid}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}centroid}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the centroid structure. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Additionally to the MFE structure, compute the centroid representative of the
structure ensemble. Here, we apply the base pair distance as distance
measure, and report the structure that minimizes its Boltzmann weighted base
pair distance to the rest of the ensemble. Computing the centroid structure
requires equilibrium base pair probabilities. Therefore, this option implies
the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} switch. For historical reasons, the centroid structure output is
deactivated by default.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}MEA@\spxentry{\sphinxhyphen{}\sphinxhyphen{}MEA}}\index{\sphinxhyphen{}\sphinxhyphen{}MEA@\spxentry{\sphinxhyphen{}\sphinxhyphen{}MEA}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-MEA}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}MEA}}\DUrole{p}{{[}}=gamma\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute MEA (maximum expected accuracy) structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The expected accuracy is computed from the pair probabilities: each base pair
\sphinxcode{\sphinxupquote{(i,j)}} receives a score \sphinxcode{\sphinxupquote{2*gamma*p\_ij}} and the score of an unpaired base is
given by the probability of not forming a pair. The parameter gamma tunes the
importance of correctly predicted pairs versus unpaired bases. Thus, for
small values of gamma the MEA structure will contain only pairs with very
high probability. Using {\hyperref[\detokenize{man/RNAalifold:cmdoption-MEA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}MEA}}}}} implies {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} for computing the pair
probabilities.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\index{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-bppmThreshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\DUrole{p}{=}cutoff}
\pysigstopsignatures
\sphinxAtStartPar
Set the threshold/cutoff for base pair probabilities included in the postscript output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}5”)}

\sphinxAtStartPar
By setting the threshold the base pair probabilities that are included in the
output can be varied. By default only those exceeding \sphinxcode{\sphinxupquote{1e\sphinxhyphen{}5}} in probability
will be shown as squares in the dot plot. Changing the threshold to any other
value allows for increase or decrease of data.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-g}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAcofold:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum base pair span.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}}\index{\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}}\index{\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-C}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-constraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}C}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate structures subject to constraints. \sphinxstyleemphasis{(default=””)}

\sphinxAtStartPar
The program reads first the sequence, then a string containing constraints on
the structure encoded with the symbols:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{.}} (no constraint for this base)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{|}} (the corresponding base has to be paired

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{x}} (the base is unpaired)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textless{}}} (base i is paired with a base j\textgreater{}i)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textgreater{}}} (base i is paired with a base j\textless{}i)

\sphinxAtStartPar
and matching brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} (base i pairs base j)

\sphinxAtStartPar
With the exception of \sphinxcode{\sphinxupquote{|}}, constraints will disallow all pairs conflicting
with the constraint. This is usually sufficient to enforce the constraint,
but occasionally a base may stay unpaired in spite of constraints. PF folding
ignores constraints of type \sphinxcode{\sphinxupquote{|}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}}\index{\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-batch}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}batch}}}
\pysigstopsignatures
\sphinxAtStartPar
Use constraints for multiple sequences. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Usually, constraints provided from input file only apply to a single input
sequence. Therefore, RNAcofold will stop its computation and quit after the
first input sequence was processed. Using this switch, RNAcofold processes
multiple input sequences and applies the same provided constraints to each of
them.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}}\index{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-canonicalBPonly}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}}}
\pysigstopsignatures
\sphinxAtStartPar
Remove non\sphinxhyphen{}canonical base pairs from the structure constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}\index{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-enforceConstraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}}
\pysigstopsignatures
\sphinxAtStartPar
Enforce base pairs given by round brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} in structure constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select SHAPE reactivity data incorporation strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following methods can be used to convert SHAPE reactivities into pseudo
energy contributions.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Convert by using the linear equation according to Deigan et al 2009.

\sphinxAtStartPar
Derived pseudo energy terms will be applied for every nucleotide involved in
a stacked pair. This method is recognized by a capital \sphinxcode{\sphinxupquote{D}} in the provided
parameter, i.e.: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting. The slope \sphinxcode{\sphinxupquote{m}}
and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a non\sphinxhyphen{}default value if necessary,
otherwise m=1.8 and b=\sphinxhyphen{}0.6. To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7,
use a parameter string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also
provide only one of the two parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Convert SHAPE reactivities to pseudo energies according to Zarringhalam

\sphinxAtStartPar
et al 2012. SHAPE reactivities will be converted to pairing probabilities by
using linear mapping. Aberration from the observed pairing probabilities will
be penalized during the folding recursion. The magnitude of the penalties can
affected by adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012. Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-shapeConversion}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select method for SHAPE reactivity conversion.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”O”)}

\sphinxAtStartPar
This parameter is useful when dealing with the SHAPE incorporation according
to Zarringhalam et al. The following methods can be used to convert SHAPE
reactivities into the probability for a certain nucleotide to be unpaired.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}: Use linear mapping according to Zarringhalam et al.
\sphinxcode{\sphinxupquote{C}}: Use a cutoff\sphinxhyphen{}approach to divide into paired and unpaired nucleotides
(e.g. “C0.25”)
\sphinxcode{\sphinxupquote{S}}: Skip the normalizing step since the input data already represents
probabilities for being unpaired rather than raw reactivity values
\sphinxcode{\sphinxupquote{L}}: Use a linear model to convert the reactivity into a probability for
being unpaired (e.g. “Ls0.68i0.2” to use a slope of 0.68 and an intercept
of 0.2)
\sphinxcode{\sphinxupquote{O}}: Use a linear model to convert the log of the reactivity into a
probability for being unpaired (e.g. “Os1.6i\sphinxhyphen{}2.29” to use a slope of 1.6
and an intercept of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.29)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}}\index{\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-commands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read additional commands from file

\sphinxAtStartPar
Commands include hard and soft constraints, but also structure motifs in
hairpin and internal loops that need to be treeted differently. Furthermore,
commands can be set for unstructured and structured domains.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAcofold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\index{\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-saltInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Provide salt correction for duplex initialization (in kcal/mol).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}}\index{\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}}\index{\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-m}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-modifications}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}m}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}modifications}}\DUrole{p}{{[}}=STRING\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Allow for modified bases within the RNA sequence string.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”7I6P9D”)}

\sphinxAtStartPar
Treat modified bases within the RNA sequence differently, i.e. use
corresponding energy corrections and/or pairing partner rules if available.
For that, the modified bases in the input sequence must be marked by their
corresponding one\sphinxhyphen{}letter code. If no additional arguments are supplied, all
available corrections are performed. Otherwise, the user may limit the
modifications to a particular subset of modifications, resp. one\sphinxhyphen{}letter
codes, e.g. \sphinxcode{\sphinxupquote{\sphinxhyphen{}mP6}} will only correct for pseudouridine and m6A bases.

\sphinxAtStartPar
Currently supported one\sphinxhyphen{}letter codes and energy corrections are:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{7}}: 7\sphinxhyphen{}deaza\sphinxhyphen{}adenonsine (7DA)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{I}}: Inosine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{6}}: N6\sphinxhyphen{}methyladenosine (m6A)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}}: Pseudouridine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{9}}: Purine (a.k.a. nebularine)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Dihydrouridine

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-mod-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Use additional modified base data from JSON file.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAcofold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsubsection{Plotting:}
\label{\detokenize{man/RNAcofold:plotting}}\begin{quote}

\sphinxAtStartPar
Command line options for changing the default behavior of structure layout
and pairing probability plots
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noPS}}\index{\sphinxhyphen{}\sphinxhyphen{}noPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noPS}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAcofold:cmdoption-noPS}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noPS}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not produce postscript drawing of the mfe structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAcofold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
S.H.Bernhart, Ch. Flamm, P.F. Stadler, I.L. Hofacker, (2006),
“Partition Function and Base Pairing Probabilities of RNA Heterodimers”,
Algorithms Mol. Biol.

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAcofold:author}}
\sphinxAtStartPar
Ivo L Hofacker, Peter F Stadler, Stephan Bernhart, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAcofold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAdistance}
\label{\detokenize{man/RNAdistance:rnadistance}}\label{\detokenize{man/RNAdistance::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAdistance}} \sphinxhyphen{} manual page for RNAdistance 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAdistance:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAdistance\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAdistance:description}}
\sphinxAtStartPar
RNAdistance 2.7.2

\sphinxAtStartPar
Calculate distances between RNA secondary structures

\sphinxAtStartPar
This program reads RNA secondary structures from stdin and calculates one or
more measures for their dissimilarity, based on tree or string editing
(alignment). In addition it calculates a “base pair distance” given by the
number of base pairs present in one structure, but not the other. For
structures of different length base pair distance is not recommended.

\sphinxAtStartPar
RNAdistance accepts structures in bracket format, where matching brackets
symbolize base pairs and unpaired bases are represented by a dot \sphinxcode{\sphinxupquote{.}},
or coarse grained representations where hairpins, interior loops,
bulges, multiloops, stacks and external bases are represented by
(H), (I), (B), (M), (S), and (E), respectively. These can be optionally
weighted. Full structures can be represented in the same fashion using
the identifiers (U) and (P) for unpaired and paired bases, respectively.
We call this the HIT representation (you don’t want to know what this means).
For example the following structure consists of 2 hairpins joined by
a multiloop:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}       \PYG{n}{full} \PYG{n}{structure} \PYG{p}{(}\PYG{n}{usual} \PYG{n+nb}{format}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U2}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U3}\PYG{p}{)}\PYG{n}{P3}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U2}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U2}\PYG{p}{)}\PYG{n}{P2}\PYG{p}{)}\PYG{n}{P2}\PYG{p}{)} \PYG{n}{HIT} \PYG{n}{structure}\PYG{p}{;}
\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}  \PYG{o+ow}{or}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}              \PYG{n}{coarse} \PYG{n}{grained} \PYG{n}{structure}\PYG{p}{;}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H3}\PYG{p}{)}\PYG{n}{S3}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H2}\PYG{p}{)}\PYG{n}{S2}\PYG{p}{)}\PYG{n}{M4}\PYG{p}{)}\PYG{n}{S2}\PYG{p}{)}\PYG{n}{E2}\PYG{p}{)}    \PYG{n}{weighted} \PYG{n}{coarse} \PYG{n}{grained}\PYG{o}{.}
\end{sphinxVerbatim}

\sphinxAtStartPar
The program will continue to read new structures until a line consisting
of the single character \sphinxcode{\sphinxupquote{@}} or an end of file condition is encountered. Input
lines neither containing a valid structure nor starting with \sphinxcode{\sphinxupquote{\textgreater{}}} are ignored.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}D@\spxentry{\sphinxhyphen{}D}}\index{\sphinxhyphen{}D@\spxentry{\sphinxhyphen{}D}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}distance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}distance}}\index{\sphinxhyphen{}\sphinxhyphen{}distance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}distance}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-D}}\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-distance}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}D}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}distance}}\DUrole{p}{=}fhwcFHWCP}
\pysigstopsignatures
\sphinxAtStartPar
Specify the distance representation to be used in calculations.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”f”)}

\sphinxAtStartPar
Use the full, HIT, weighted coarse, or coarse representation to calculate the
distance. Capital letters indicate string alignment otherwise tree editing is
used.
Any combination of distances can bespecified.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}X@\spxentry{\sphinxhyphen{}X}}\index{\sphinxhyphen{}X@\spxentry{\sphinxhyphen{}X}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}compare@\spxentry{\sphinxhyphen{}\sphinxhyphen{}compare}}\index{\sphinxhyphen{}\sphinxhyphen{}compare@\spxentry{\sphinxhyphen{}\sphinxhyphen{}compare}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-X}}\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-compare}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}X}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}compare}}\DUrole{p}{=}p|m|f|c}
\pysigstopsignatures
\sphinxAtStartPar
Specify the comparison directive. \sphinxstyleemphasis{(default=”p”)}

\sphinxAtStartPar
Possible arguments for this option are: \sphinxcode{\sphinxupquote{\sphinxhyphen{}Xp}} compare the structures pairwise
(p), i.e. first with 2nd, third with 4th etc.
\sphinxcode{\sphinxupquote{\sphinxhyphen{}Xm}} calculate the distance matrix between all structures. The output is
formatted as a lower triangle matrix.
\sphinxcode{\sphinxupquote{\sphinxhyphen{}Xf}} compare each structure to the first one.
\sphinxcode{\sphinxupquote{\sphinxhyphen{}Xc}} compare continuously, that is i\sphinxhyphen{}th with (i+1)th structure.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapiro@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapiro}}\index{\sphinxhyphen{}\sphinxhyphen{}shapiro@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapiro}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-shapiro}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapiro}}}
\pysigstopsignatures
\sphinxAtStartPar
Use the Bruce Shapiro’s cost matrix for comparing coarse structures.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}B@\spxentry{\sphinxhyphen{}B}}\index{\sphinxhyphen{}B@\spxentry{\sphinxhyphen{}B}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backtrack@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backtrack}}\index{\sphinxhyphen{}\sphinxhyphen{}backtrack@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backtrack}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-B}}\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-backtrack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}B}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backtrack}}\DUrole{p}{{[}}=\textless{}filename\textgreater{}\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print an “alignment” with gaps of the structures, to show matching substructures. The aligned structures are written to \textless{}filename\textgreater{}, if specified.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”none”)}

\sphinxAtStartPar
If \textless{}filename\textgreater{} is not specified, the output is written to stdout, unless the
\sphinxcode{\sphinxupquote{\sphinxhyphen{}Xm}} option is set in which case “backtrack.file” is used.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAdist.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdistance:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAdistance:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
B.A. Shapiro (1988),
“An algorithm for comparing multiple RNA secondary structures”
CABIOS: 4, pp 381\sphinxhyphen{}393

\sphinxAtStartPar
B.A. Shapiro, K. Zhang (1990),
“Comparing multiple RNA secondary structures using tree comparison”,
CABIOS: 6, pp 309\sphinxhyphen{}318

\sphinxAtStartPar
W. Fontana, D.A.M. Konings, P.F. Stadler and P. Schuster P (1993),
“Statistics of RNA secondary structures”,
Biopolymers: 33, pp 1389\sphinxhyphen{}1404

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAdistance:author}}
\sphinxAtStartPar
Walter Fontana, Ivo L Hofacker, Peter F Stadler


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAdistance:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAdos}
\label{\detokenize{man/RNAdos:rnados}}\label{\detokenize{man/RNAdos::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAdos}} \sphinxhyphen{} manual page for RNAdos 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAdos:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAdos\PYG{+w}{ }\PYG{o}{[}OPTIONS\PYG{o}{]}
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAdos:description}}
\sphinxAtStartPar
RNAdos 2.7.2

\sphinxAtStartPar
Calculate the density of states for each energy band of an RNA

\sphinxAtStartPar
The program reads an RNA sequence and computes the density of states for each
energy band.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAdos:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}}\index{\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sequence@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sequence}}\index{\sphinxhyphen{}\sphinxhyphen{}sequence@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sequence}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-s}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-sequence}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}s}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sequence}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
The RNA sequence (ACGU).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}numThreads@\spxentry{\sphinxhyphen{}\sphinxhyphen{}numThreads}}\index{\sphinxhyphen{}\sphinxhyphen{}numThreads@\spxentry{\sphinxhyphen{}\sphinxhyphen{}numThreads}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-numThreads}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}numThreads}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the number of threads used for calculations (only available when compiled with OpenMP support)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAdos.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAdos:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}}\index{\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}max\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}max\sphinxhyphen{}energy}}\index{\sphinxhyphen{}\sphinxhyphen{}max\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}max\sphinxhyphen{}energy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-e}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-max-energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}e}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}max\sphinxhyphen{}energy}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Structures are only counted until this threshold is reached. Default is 0 kcal/mol.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}}\index{\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}hashtable\sphinxhyphen{}bits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}hashtable\sphinxhyphen{}bits}}\index{\sphinxhyphen{}\sphinxhyphen{}hashtable\sphinxhyphen{}bits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}hashtable\sphinxhyphen{}bits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-b}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-hashtable-bits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}b}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}hashtable\sphinxhyphen{}bits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the size of the hash table for each cell in the dp\sphinxhyphen{}matrices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”20”)}

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAdos:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAdos:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAdos:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAdos:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAdos:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
J. Cupal, I.L. Hofacker, P.F. Stadler (1996),
“Dynamic programming algorithm for the density of states of RNA secondary structures”
Computer Science and Biology 96, Proc. German Conf. on Bioinformatics 1996, pp. 184\sphinxhyphen{}186.

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAdos:author}}
\sphinxAtStartPar
Gregor Entzian, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAdos:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.


\subsection{SEE ALSO}
\label{\detokenize{man/RNAdos:see-also}}
\sphinxAtStartPar
RNAsubopt(1)

\sphinxstepscope


\section{RNAduplex}
\label{\detokenize{man/RNAduplex:rnaduplex}}\label{\detokenize{man/RNAduplex::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAduplex}} \sphinxhyphen{} manual page for RNAduplex 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAduplex:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAduplex\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAduplex:description}}
\sphinxAtStartPar
RNAduplex 2.7.2

\sphinxAtStartPar
Compute the structure upon hybridization of two RNA strands

\sphinxAtStartPar
reads two RNA sequences from stdin or \textless{}filename\textgreater{} and computes optimal and
suboptimal secondary structures for their hybridization. The calculation is
simplified by allowing only inter\sphinxhyphen{}molecular base pairs, for the general case
use RNAcofold.
The computed optimal and suboptimal structure are written to stdout, one
structure per line. Each line consist of: The structure in dot bracket format
with a \sphinxcode{\sphinxupquote{\&}} separating the two strands. The range of the structure in the two
sequences in the format  “from,to : from,to”; the energy of duplex structure
in kcal/mol.
The format is especially useful for computing the hybrid structure between a
small probe sequence and a long target sequence.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAduplex:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}}\index{\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sorted@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sorted}}\index{\sphinxhyphen{}\sphinxhyphen{}sorted@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sorted}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-s}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-sorted}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}s}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sorted}}}
\pysigstopsignatures
\sphinxAtStartPar
Sort the printed output by free energy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAduplex.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAduplex:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}}\index{\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}deltaEnergy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}}\index{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-e}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-deltaEnergy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}e}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}}\DUrole{p}{=}range}
\pysigstopsignatures
\sphinxAtStartPar
Compute suboptimal structures with energy in a certain range of the optimum (kcal/mol). Default is calculation of mfe structure only.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAduplex:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\index{\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-saltInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Provide salt correction for duplex initialization (in kcal/mol).

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAduplex:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAduplex:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAduplex:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAduplex:author}}
\sphinxAtStartPar
Ivo L Hofacker, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAduplex:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.


\subsection{SEE ALSO}
\label{\detokenize{man/RNAduplex:see-also}}
\sphinxAtStartPar
RNAcofold(l) RNAfold(l)

\sphinxstepscope


\section{RNAeval}
\label{\detokenize{man/RNAeval:rnaeval}}\label{\detokenize{man/RNAeval::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAeval}} \sphinxhyphen{} manual page for RNAeval 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAeval:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAeval\PYG{+w}{ }\PYG{o}{[}OPTIONS\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input0\PYGZgt{}\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input1\PYGZgt{}\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAeval:description}}
\sphinxAtStartPar
RNAeval 2.7.2

\sphinxAtStartPar
Determine the free energy of a (consensus) secondary structure for (an
alignment of) RNA sequence(s)

\sphinxAtStartPar
Evaluates the free energy of a particular (consensus) secondary structure for
an (an alignment of) RNA molecule(s). The energy unit is kcal/mol and contains
a covariance pseudo\sphinxhyphen{}energy term for multiple sequence alignments ({\hyperref[\detokenize{man/RNAeval:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}msa}}}}} option)
and corresponding consensus structures.
The program will continue to read new sequences and structures until a line
consisting of the single character \sphinxcode{\sphinxupquote{@}} or an end of file condition is
encountered.
If the input sequence or structure contains the separator character \sphinxcode{\sphinxupquote{\&}} the
program calculates the energy of the co\sphinxhyphen{}folding of two RNA strands, where the
\sphinxcode{\sphinxupquote{\&}} marks the boundary between the two strands.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose and print out energy contribution of each loop in the structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAeval:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}}\index{\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}}\index{\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-i}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-infile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}i}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}infile}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read a file instead of reading from stdin.

\sphinxAtStartPar
The default behavior of RNAeval is to read input from stdin or the file(s)
that follow(s) the RNAeval command. Using this parameter the user can specify
input file names where data is read from. Note, that any additional files
supplied to RNAeval are still processed as well.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}}\index{\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}msa@\spxentry{\sphinxhyphen{}\sphinxhyphen{}msa}}\index{\sphinxhyphen{}\sphinxhyphen{}msa@\spxentry{\sphinxhyphen{}\sphinxhyphen{}msa}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-a}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-msa}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}a}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}msa}}}
\pysigstopsignatures
\sphinxAtStartPar
Input is multiple sequence alignment in Stockholm 1.0 format.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Using this flag indicates that the input is a multiple sequence alignment
(MSA) instead of (a) single sequence(s). Note, that only STOCKHOLM format
allows one to specify a consensus structure. Therefore, this is the only
supported MSA format for now!

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}}\index{\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-mis}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mis}}}
\pysigstopsignatures
\sphinxAtStartPar
Output “most informative sequence” instead of simple consensus: For each column of the alignment output the set of nucleotides with frequency greater than average in IUPAC notation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}}\index{\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-jobs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}\DUrole{p}{{[}}=number\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Split batch input into jobs and start processing in parallel using multiple threads. A value of 0 indicates to use as many parallel threads as computation cores are available.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Default processing of input data is performed in a serial fashion, i.e. one
sequence at a time. Using this switch, a user can instead start the
computation for many sequences in the input in parallel. RNAeval will create
as many parallel computation slots as specified and assigns input sequences
of the input file(s) to the available slots. Note, that this increases memory
consumption since input alignments have to be kept in memory until an empty
compute slot is available and each running job requires its own dynamic
programming matrices.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}}\index{\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-unordered}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}unordered}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not try to keep output in order with input while parallel processing is in place.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
When parallel input processing ({\hyperref[\detokenize{man/RNAalifold:cmdoption-j}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}}}} flag) is enabled, the order in which
input is processed depends on the host machines job scheduler. Therefore, any
output to stdout or files generated by this program will most likely not
follow the order of the corresponding input data set. The default of RNAeval
is to use a specialized data structure to still keep the results output in
order with the input data. However, this comes with a trade\sphinxhyphen{}off in terms of
memory consumption, since all output must be kept in memory for as long as no
chunks of consecutive, ordered output are available. By setting this flag,
RNAeval will not buffer individual results but print them as soon as they
have been computated.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAeval is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAeval ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequence will be prefixed with the provided
string. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter \sphinxcode{\sphinxupquote{\_}} between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAeval.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAeval:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithmic details which should be included in the
calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}}\index{\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-circ}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}circ}}}
\pysigstopsignatures
\sphinxAtStartPar
Assume a circular (instead of linear) RNA molecule.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-g}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAeval:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select SHAPE reactivity data incorporation strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following methods can be used to convert SHAPE reactivities into pseudo
energy contributions.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Convert by using the linear equation according to Deigan et al 2009.

\sphinxAtStartPar
Derived pseudo energy terms will be applied for every nucleotide involved in
a stacked pair. This method is recognized by a capital \sphinxcode{\sphinxupquote{D}} in the provided
parameter, i.e.: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting. The slope \sphinxcode{\sphinxupquote{m}}
and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a non\sphinxhyphen{}default value if necessary,
otherwise m=1.8 and b=\sphinxhyphen{}0.6. To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7,
use a parameter string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also
provide only one of the two parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Convert SHAPE reactivities to pseudo energies according to Zarringhalam

\sphinxAtStartPar
et al 2012. SHAPE reactivities will be converted to pairing probabilities by
using linear mapping. Aberration from the observed pairing probabilities will
be penalized during the folding recursion. The magnitude of the penalties can
affected by adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012.Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-shapeConversion}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select method for SHAPE reactivity conversion.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”O”)}

\sphinxAtStartPar
This parameter is useful when dealing with the SHAPE incorporation according
to Zarringhalam et al. The following methods can be used to convert SHAPE
reactivities into the probability for a certain nucleotide to be unpaired.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}: Use linear mapping according to Zarringhalam et al.
\sphinxcode{\sphinxupquote{C}}: Use a cutoff\sphinxhyphen{}approach to divide into paired and unpaired nucleotides
(e.g. “C0.25”)
\sphinxcode{\sphinxupquote{S}}: Skip the normalizing step since the input data already represents
probabilities for being unpaired rather than raw reactivity values
\sphinxcode{\sphinxupquote{L}}: Use a linear model to convert the reactivity into a probability for
being unpaired (e.g. “Ls0.68i0.2” to use a slope of 0.68 and an intercept
of 0.2)
\sphinxcode{\sphinxupquote{O}}: Use a linear model to convert the log of the reactivity into a
probability for being unpaired (e.g. “Os1.6i\sphinxhyphen{}2.29” to use a slope of 1.6
and an intercept of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.29)

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAeval:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAeval:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding.
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}logML@\spxentry{\sphinxhyphen{}\sphinxhyphen{}logML}}\index{\sphinxhyphen{}\sphinxhyphen{}logML@\spxentry{\sphinxhyphen{}\sphinxhyphen{}logML}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-logML}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}logML}}}
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energies of structures using a logarithmic energy function for multi\sphinxhyphen{}loops before output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This option does not effect structure generation, only the energies that are
printed out. Since logML lowers energies somewhat, some structures may be
missing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}cfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cfactor}}\index{\sphinxhyphen{}\sphinxhyphen{}cfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cfactor}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-cfactor}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}cfactor}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the weight of the covariance term in the energy function

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nfactor}}\index{\sphinxhyphen{}\sphinxhyphen{}nfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nfactor}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-nfactor}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nfactor}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the penalty for non\sphinxhyphen{}compatible sequences in the covariance term of the energy function

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}}\index{\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ribosum\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}}\index{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-R}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-ribosum_file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}R}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}}\DUrole{p}{=}ribosumfile}
\pysigstopsignatures
\sphinxAtStartPar
use specified Ribosum Matrix instead of normal

\sphinxAtStartPar
energy model.

\sphinxAtStartPar
Matrixes to use should be 6x6 matrices, the order of the terms is \sphinxcode{\sphinxupquote{AU}}, \sphinxcode{\sphinxupquote{CG}},
\sphinxcode{\sphinxupquote{GC}}, \sphinxcode{\sphinxupquote{GU}}, \sphinxcode{\sphinxupquote{UA}}, \sphinxcode{\sphinxupquote{UG}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}r@\spxentry{\sphinxhyphen{}r}}\index{\sphinxhyphen{}r@\spxentry{\sphinxhyphen{}r}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}}\index{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-r}}\phantomsection\label{\detokenize{man/RNAeval:cmdoption-ribosum_scoring}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}r}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}}}
\pysigstopsignatures
\sphinxAtStartPar
use ribosum scoring matrix. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The matrix is chosen according to the minimal and maximal pairwise identities
of the sequences in the file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}old@\spxentry{\sphinxhyphen{}\sphinxhyphen{}old}}\index{\sphinxhyphen{}\sphinxhyphen{}old@\spxentry{\sphinxhyphen{}\sphinxhyphen{}old}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-old}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}old}}}
\pysigstopsignatures
\sphinxAtStartPar
use old energy evaluation, treating gaps as characters.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAeval:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAeval:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAeval:author}}
\sphinxAtStartPar
Ivo L Hofacker, Peter F Stadler, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAeval:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAfold}
\label{\detokenize{man/RNAfold:rnafold}}\label{\detokenize{man/RNAfold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAfold}} \sphinxhyphen{} manual page for RNAfold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAfold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAfold\PYG{+w}{ }\PYG{o}{[}OPTIONS\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input0.fa\PYGZgt{}\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input1.fa\PYGZgt{}\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAfold:description}}
\sphinxAtStartPar
RNAfold 2.7.2

\sphinxAtStartPar
Calculate minimum free energy secondary structures and partition function of
RNAs

\sphinxAtStartPar
The program reads RNA sequences, calculates their minimum free energy (mfe)
structure and prints the mfe structure in bracket notation and its free energy.
If not specified differently using commandline arguments, input is accepted
from stdin or read from an input file, and output printed to stdout. If the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}
option was given it also computes the partition function (pf) and base pairing
probability matrix, and prints the free energy of the thermodynamic ensemble,
the frequency of the mfe structure in the ensemble, and the ensemble diversity
to stdout.

\sphinxAtStartPar
It also produces PostScript files with plots of the resulting secondary
structure graph and a “dot plot” of the base pairing matrix.
The dot plot shows a matrix of squares with area proportional to the pairing
probability in the upper right half, and one square for each pair in the
minimum free energy structure in the lower left half. For each pair i\sphinxhyphen{}j with
probability p\textgreater{}10E\sphinxhyphen{}6 there is a line of the form

\sphinxAtStartPar
i  j  sqrt(p)  ubox

\sphinxAtStartPar
in the PostScript file, so that the pair probabilities can be easily extracted.

\sphinxAtStartPar
Sequences may be provided in a simple text format where each sequence occupies
a single line. Output files are named “rna.ps” and “dot.ps”. Existing files
of the same name will be overwritten.

\sphinxAtStartPar
It is also possible to provide sequence data in FASTA format. In this case, the
first word of the FASTA header will be used as prefix for output file names.
PostScript files “prefix\_ss.ps” and “prefix\_dp.ps” are produced for the
structure and dot plot, respectively. Note, however, that once FASTA input was
provided all following sequences must be in FASTA format too.

\sphinxAtStartPar
To avoid problems with certain operating systems and/or file systems the prefix
will ALWAYS be sanitized! This step substitutes any special character in the
prefix by a filename delimiter. See the {\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}} option to change the
delimiting character according to your requirements.

\sphinxAtStartPar
The program will continue to read new sequences until a line consisting of the
single character \sphinxcode{\sphinxupquote{@}} or an end of file (EOF) condition is encountered.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAfold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}}\index{\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}}\index{\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-i}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-infile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}i}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}infile}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read a file instead of reading from stdin.

\sphinxAtStartPar
The default behavior of RNAfold is to read input from stdin or the file(s)
that follow(s) the RNAfold command. Using this parameter the user can specify
input file names where data is read from. Note, that any additional files
supplied to RNAfold are still processed as well.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}}\index{\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}outfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}outfile}}\index{\sphinxhyphen{}\sphinxhyphen{}outfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}outfile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-o}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-outfile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}o}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}outfile}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print output to file instead of stdout.

\sphinxAtStartPar
This option may be used to write all output to output files rather than
printing to stdout. The default filename is “RNAfold\_output.fold” if no
FASTA header precedes the input sequences and the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} feature is
inactive. Otherwise, output files with the scheme “prefix.fold” are
generated, where the “prefix” is taken from the sequence id, e.g. the FASTA
header. The user may specify a single output file name for all data generated
from the input by supplying a filename as argument following immediately
after this parameter.
In case a file with the same filename already exists, any output of the
program will be appended to it. Note: Any special characters in the filename
will be replaced by the filename delimiter, hence there is no way to pass an
entire directory path through this option (yet). (See also the
“\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}}\index{\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-jobs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}\DUrole{p}{{[}}=number\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Split batch input into jobs and start processing in parallel using multiple threads. A value of 0 indicates to use as many parallel threads as computation cores are available.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Default processing of input data is performed in a serial fashion, i.e. one
sequence at a time. Using this switch, a user can instead start the
computation for many sequences in the input in parallel. RNAfold will create
as many parallel computation slots as specified and assigns input sequences
of the input file(s) to the available slots. Note, that this increases memory
consumption since input alignments have to be kept in memory until an empty
compute slot is available and each running job requires its own dynamic
programming matrices.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}}\index{\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-unordered}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}unordered}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not try to keep output in order with input while parallel processing is in place.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
When parallel input processing ({\hyperref[\detokenize{man/RNAalifold:cmdoption-j}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}}}} flag) is enabled, the order in which
input is processed depends on the host machines job scheduler. Therefore, any
output to stdout or files generated by this program will most likely not
follow the order of the corresponding input data set. The default of RNAfold
is to use a specialized data structure to still keep the results output in
order with the input data. However, this comes with a trade\sphinxhyphen{}off in terms of
memory consumption, since all output must be kept in memory for as long as no
chunks of consecutive, ordered output are available. By setting this flag,
RNAfold will not buffer individual results but print them as soon as they
have been computated.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAfold is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAfold ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequence will be prefixed with the provided
string. Hence, the output files will obey the following naming scheme:
“prefix\_xxxx\_ss.ps” (secondary structure plot), “prefix\_xxxx\_dp.ps”
(dot\sphinxhyphen{}plot), “prefix\_xxxx\_dp2.ps” (stack probabilities), etc. where xxxx is
the sequence number. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-filename-full}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}}
\pysigstopsignatures
\sphinxAtStartPar
Use full FASTA header to create filenames. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This parameter can be used to deactivate the default behavior of limiting
output filenames to the first word of the sequence ID. Consider the following
example: An input with FASTA header \sphinxcode{\sphinxupquote{\textgreater{}NM\_0001 Homo Sapiens some gene}} usually
produces output files with the prefix “NM\_0001” without the additional data
available in the FASTA header, e.g. “NM\_0001\_ss.ps” for secondary structure
plots. With this flag set, no truncation of the output filenames is done,
i.e. output filenames receive the full FASTA header data as prefixes. Note,
however, that invalid characters (such as whitespace) will be substituted by
a delimiting character or simply removed, (see also the parameter option
{\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAfold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}benchmark@\spxentry{\sphinxhyphen{}\sphinxhyphen{}benchmark}}\index{\sphinxhyphen{}\sphinxhyphen{}benchmark@\spxentry{\sphinxhyphen{}\sphinxhyphen{}benchmark}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-benchmark}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}benchmark}}}
\pysigstopsignatures
\sphinxAtStartPar
Perform a prediction performance test (benchmark) based on reference structures taken from the input.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output}}\index{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-bm-output}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Store the performance benchmark results in a file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append}}\index{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-bm-output-append}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}output\sphinxhyphen{}append}}}
\pysigstopsignatures
\sphinxAtStartPar
Append performance benchmark data to a file instead of overwriting already existing content.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk}}\index{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-bm-rm-pk}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}pk}}}
\pysigstopsignatures
\sphinxAtStartPar
Remove pseudo\sphinxhyphen{}knots from the reference structure before computing benchmark.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}nc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}nc}}\index{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}nc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}nc}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-bm-rm-nc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bm\sphinxhyphen{}rm\sphinxhyphen{}nc}}}
\pysigstopsignatures
\sphinxAtStartPar
Remove non\sphinxhyphen{}canonical base pairs from the reference structure before computing benchmark.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAfold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}}\index{\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\index{\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-p}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-partfunc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}p}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\DUrole{p}{{[}}=INT\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the partition function and base pairing probability matrix.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
In addition to the MFE structure we print a coarse representation of the pair
probabilities in form of a pseudo bracket notation followed by the ensemble
free energy. This notation makes use of the letters \sphinxcode{\sphinxupquote{.}}, \sphinxcode{\sphinxupquote{,}}, \sphinxcode{\sphinxupquote{|}}, \sphinxcode{\sphinxupquote{\{}}, \sphinxcode{\sphinxupquote{\}}},
\sphinxcode{\sphinxupquote{(}}, and \sphinxcode{\sphinxupquote{)}} denoting bases that are essentially unpaired, weakly paired,
strongly paired without preference, weakly upstream (downstream) paired, or
strongly up\sphinxhyphen{} (down\sphinxhyphen{})stream paired bases, respectively. On the next line the
centroid structure as derived from the pair probabilities together with its
free energy and distance to the ensemble is shown. Finally it prints the
frequency of the mfe structure, and the structural diversity (mean distance
between the structures in the ensemble).
See the description of \sphinxcode{\sphinxupquote{vrna\_pf()}} and \sphinxcode{\sphinxupquote{mean\_bp\_dist()}} and \sphinxcode{\sphinxupquote{vrna\_centroid()}}
in the RNAlib documentation for details.
Note that unless you also specify \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} or \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}}, the partition function and mfe
calculations will use a slightly different energy model. See the discussion
of dangling end options below.

\sphinxAtStartPar
An additionally passed value to this option changes the behavior of partition
function calculation:
\sphinxcode{\sphinxupquote{\sphinxhyphen{}p0}} Calculate the partition function but not the pair probabilities, saving
about 50\% in runtime. This prints the ensemble free energy \sphinxcode{\sphinxupquote{dG=\sphinxhyphen{}kT ln(Z)}}.
\sphinxcode{\sphinxupquote{\sphinxhyphen{}p2}} Compute stack probabilities, i.e. the probability that a pair \sphinxcode{\sphinxupquote{(i,j)}} and
the immediately enclosed pair \sphinxcode{\sphinxupquote{(i+1,j\sphinxhyphen{}1)}} are formed simultaneously in
addition to pair probabilities. A second postscript dot plot named
“name\_dp2.ps”, or “dot2.ps” (if the sequence does not have a name), is
produced that contains pair probabilities in the upper right half and stack
probabilities in the lower left.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\index{\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the scaling of the Boltzmann factors. \sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The argument provided with this option is used to scale the thermodynamic
temperature in the Boltzmann factors independently from the temperature of
the individual loop energy contributions. The Boltzmann factors then become
\sphinxcode{\sphinxupquote{exp(\sphinxhyphen{} dG/(kT*betaScale))}} where \sphinxcode{\sphinxupquote{k}} is the Boltzmann constant, \sphinxcode{\sphinxupquote{dG}} the free
energy contribution of the state and \sphinxcode{\sphinxupquote{T}} the absolute temperature.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}MEA@\spxentry{\sphinxhyphen{}\sphinxhyphen{}MEA}}\index{\sphinxhyphen{}\sphinxhyphen{}MEA@\spxentry{\sphinxhyphen{}\sphinxhyphen{}MEA}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-MEA}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}MEA}}\DUrole{p}{{[}}=gamma\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute MEA (maximum expected accuracy) structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The expected accuracy is computed from the pair probabilities: each base pair
\sphinxcode{\sphinxupquote{(i,j)}} receives a score \sphinxcode{\sphinxupquote{2*gamma*p\_ij}} and the score of an unpaired base is
given by the probability of not forming a pair. The parameter gamma tunes the
importance of correctly predicted pairs versus unpaired bases. Thus, for
small values of gamma the MEA structure will contain only pairs with very
high probability. Using {\hyperref[\detokenize{man/RNAalifold:cmdoption-MEA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}MEA}}}}} implies {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} for computing the pair
probabilities.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}}\index{\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-circ}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}circ}}}
\pysigstopsignatures
\sphinxAtStartPar
Assume a circular (instead of linear) RNA molecule.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ImFeelingLucky@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ImFeelingLucky}}\index{\sphinxhyphen{}\sphinxhyphen{}ImFeelingLucky@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ImFeelingLucky}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-ImFeelingLucky}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ImFeelingLucky}}}
\pysigstopsignatures
\sphinxAtStartPar
Return exactly one stochastically backtracked structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This function computes the partition function and returns exactly one
secondary structure stochastically sampled from the Boltzmann equilibrium
according to its probability in the ensemble

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\index{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-bppmThreshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\DUrole{p}{=}cutoff}
\pysigstopsignatures
\sphinxAtStartPar
Set the threshold/cutoff for base pair probabilities included in the postscript output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}5”)}

\sphinxAtStartPar
By setting the threshold the base pair probabilities that are included in the
output can be varied. By default only those exceeding \sphinxcode{\sphinxupquote{1e\sphinxhyphen{}5}} in probability
will be shown as squares in the dot plot. Changing the threshold to any other
value allows for increase or decrease of data.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-g}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAfold:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum base pair span.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}}\index{\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}}\index{\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-C}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-constraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}C}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate structures subject to constraints. \sphinxstyleemphasis{(default=””)}

\sphinxAtStartPar
The program reads first the sequence, then a string containing constraints on
the structure encoded with the symbols:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{.}} (no constraint for this base)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{|}} (the corresponding base has to be paired

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{x}} (the base is unpaired)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textless{}}} (base i is paired with a base j\textgreater{}i)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textgreater{}}} (base i is paired with a base j\textless{}i)

\sphinxAtStartPar
and matching brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} (base i pairs base j)

\sphinxAtStartPar
With the exception of \sphinxcode{\sphinxupquote{|}}, constraints will disallow all pairs conflicting
with the constraint. This is usually sufficient to enforce the constraint,
but occasionally a base may stay unpaired in spite of constraints. PF folding
ignores constraints of type \sphinxcode{\sphinxupquote{|}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}}\index{\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-batch}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}batch}}}
\pysigstopsignatures
\sphinxAtStartPar
Use constraints for multiple sequences. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Usually, constraints provided from input file only apply to a single input
sequence. Therefore, RNAfold will stop its computation and quit after the
first input sequence was processed. Using this switch, RNAfold processes
multiple input sequences and applies the same provided constraints to each of
them.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}}\index{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-canonicalBPonly}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}}}
\pysigstopsignatures
\sphinxAtStartPar
Remove non\sphinxhyphen{}canonical base pairs from the structure constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}\index{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-enforceConstraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}}
\pysigstopsignatures
\sphinxAtStartPar
Enforce base pairs given by round brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} in structure constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}motif@\spxentry{\sphinxhyphen{}\sphinxhyphen{}motif}}\index{\sphinxhyphen{}\sphinxhyphen{}motif@\spxentry{\sphinxhyphen{}\sphinxhyphen{}motif}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-motif}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}motif}}\DUrole{p}{=}SEQUENCE,STRUCTURE,ENERGY}
\pysigstopsignatures
\sphinxAtStartPar
Specify stabilizing energy of a ligand binding

\sphinxAtStartPar
to a particular sequence/structure motif.

\sphinxAtStartPar
Some ligands binding to RNAs require and/or induce particular sequence and
structure motifs. For instance they bind to an internal loop, or small
hairpin loop. If for such cases a binding free energy is known, the binding
and therefore stabilizing effect of the ligand can be included in the folding
recursions. Interior loop motifs are specified as concatenations of 5\textasciigrave{}\textasciigrave{} and 3\textasciigrave{}\textasciigrave{}
motif, separated by an \sphinxcode{\sphinxupquote{\&}} character.

\sphinxAtStartPar
Energy contributions must be specified in kcal/mol.

\sphinxAtStartPar
See the manpage for an example usage of this option.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}}\index{\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-commands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read additional commands from file

\sphinxAtStartPar
Commands include hard and soft constraints, but also structure motifs in
hairpin and internal loops that need to be treeted differently. Furthermore,
commands can be set for unstructured and structured domains.

\end{fulllineitems}



\subsubsection{Experimental Structure Probing Data:}
\label{\detokenize{man/RNAfold:experimental-structure-probing-data}}\begin{quote}

\sphinxAtStartPar
The following arguments and siwtches control various implementations that
allow for guiding the structure prediction with the help of additional
(experimental) RNA structure probing data, such as SHAPE, DMS, etc.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}}\index{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-sp-data}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read structure probing data from an input file and guide the predictions accordingly. Must precede the strategy, i.e. a data file must be specified before the corresponding {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}}}} option!

\sphinxAtStartPar
This option and its argument only specifies the file name with the
(reactivity) data. What kind of data the file contains and how the data is
actually used during the predictions can be specified by the {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}}}}
and {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-preprocess}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}}}}} options.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}\index{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-sp-strategy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}\DUrole{p}{=}strategy}
\pysigstopsignatures
\sphinxAtStartPar
Select the strategy how the probing data is used to guide the structure predictions.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following strategies (methods) are available to convert structure probing
data into pseudo energy contributions:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Deigan et al 2009 strategy.

\sphinxAtStartPar
Here, probing data is converted into pseudo energy terms using a linear

\sphinxAtStartPar
model. The derived energies are then applied for every nucleotide involved in
a stacked pair. The default slope and intercept variables of the linear model
are \sphinxcode{\sphinxupquote{m=1.8}} and \sphinxcode{\sphinxupquote{b=\sphinxhyphen{}0.6}}, respectively. To change these parameters, e.g. to
\sphinxcode{\sphinxupquote{m=1.9}} and \sphinxcode{\sphinxupquote{b=\sphinxhyphen{}0.7}}, use a parameter string like this:
{\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. Note the precedence of \sphinxcode{\sphinxupquote{m}} over \sphinxcode{\sphinxupquote{b}}. You may
also provide only one of the two variables like: {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{E}}: Eddy 2014 strategy.

\sphinxAtStartPar
This strategy distinguishes two structural states (classes) for each base,

\sphinxAtStartPar
paired and unpaired. Based on a list of prior distributions for each of the
classes, the posterior probability for observing a probing reactivity of a
base is estimated and then converted into a respective pseudo energy
contribution. Thermodynamic temperature T is taken from the model settings as
specified by {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-T}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}}}} but can be changed to any other value, either in degrees
Celcius (\sphinxcode{\sphinxupquote{c}} or \sphinxcode{\sphinxupquote{t}}) or Kelvin (\sphinxcode{\sphinxupquote{k}}). Use one of the following parameter
strings to change the temperature to 25 degree Celcius:
{\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Ec=25” or {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Ek=298.15”. By default, built\sphinxhyphen{}in
prior distributions are used with this strategy. This can be changed if the
user passes additional probing data files via the {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}}}}} option and then
selects the prior distribution specifier (\sphinxcode{\sphinxupquote{P}}) as strategy (see below).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}}: Use probing data as prior distribution for Eddy 2014 strategy.

\sphinxAtStartPar
This indicates that the most recent probing data file actually contains a

\sphinxAtStartPar
prior distribution of probing data for a particular structure class, i.e.
unpaired or paired bases. The prior distribution then replaces the default
priors in the Eddy 2014 (\sphinxcode{\sphinxupquote{E}}) strategy. Use the lower case characters \sphinxcode{\sphinxupquote{u}} and
\sphinxcode{\sphinxupquote{p}} to indicate which class, unpaired or paired, the prior distribution
represents, e.g. {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Pp” will be interpreted as prior
distribution for paired nucleotides.
Note, that this option must follow after the {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”E” and before
any further {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}}}} options that do not specify other prior
distributions!

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Zarringhalam et al 2012 strategy.

\sphinxAtStartPar
Here, the probing data is first converted into pairing probabilities and

\sphinxAtStartPar
aberration from the observed pairing probabilities will be penalized during
the folding recursion. The magnitude of the penalties can affected by
adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012. Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}}\index{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-sp-preprocess}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select a method to pre\sphinxhyphen{}process the structure probing data before it undergoes conversion by a strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”I”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select SHAPE reactivity data incorporation strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following methods can be used to convert SHAPE reactivities into pseudo
energy contributions.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Convert by using the linear equation according to Deigan et al 2009.

\sphinxAtStartPar
Derived pseudo energy terms will be applied for every nucleotide involved in
a stacked pair. This method is recognized by a capital \sphinxcode{\sphinxupquote{D}} in the provided
parameter, i.e.: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting. The slope \sphinxcode{\sphinxupquote{m}}
and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a non\sphinxhyphen{}default value if necessary,
otherwise m=1.8 and b=\sphinxhyphen{}0.6. To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7,
use a parameter string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also
provide only one of the two parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Convert SHAPE reactivities to pseudo energies according to Zarringhalam

\sphinxAtStartPar
et al 2012. SHAPE reactivities will be converted to pairing probabilities by
using linear mapping. Aberration from the observed pairing probabilities will
be penalized during the folding recursion. The magnitude of the penalties can
affected by adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012. Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-shapeConversion}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select method for SHAPE reactivity conversion.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”O”)}

\sphinxAtStartPar
This parameter is useful when dealing with the SHAPE incorporation according
to Zarringhalam et al. The following methods can be used to convert SHAPE
reactivities into the probability for a certain nucleotide to be unpaired.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}: Use linear mapping according to Zarringhalam et al.
\sphinxcode{\sphinxupquote{C}}: Use a cutoff\sphinxhyphen{}approach to divide into paired and unpaired nucleotides
(e.g. “C0.25”)
\sphinxcode{\sphinxupquote{S}}: Skip the normalizing step since the input data already represents
probabilities for being unpaired rather than raw reactivity values
\sphinxcode{\sphinxupquote{L}}: Use a linear model to convert the reactivity into a probability for
being unpaired (e.g. “Ls0.68i0.2” to use a slope of 0.68 and an intercept
of 0.2)
\sphinxcode{\sphinxupquote{O}}: Use a linear model to convert the log of the reactivity into a
probability for being unpaired (e.g. “Os1.6i\sphinxhyphen{}2.29” to use a slope of 1.6
and an intercept of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.29)

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAfold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}}\index{\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}}\index{\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-m}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-modifications}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}m}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}modifications}}\DUrole{p}{{[}}=STRING\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Allow for modified bases within the RNA sequence string.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”7I6P9D”)}

\sphinxAtStartPar
Treat modified bases within the RNA sequence differently, i.e. use
corresponding energy corrections and/or pairing partner rules if available.
For that, the modified bases in the input sequence must be marked by their
corresponding one\sphinxhyphen{}letter code. If no additional arguments are supplied, all
available corrections are performed. Otherwise, the user may limit the
modifications to a particular subset of modifications, resp. one\sphinxhyphen{}letter
codes, e.g. \sphinxcode{\sphinxupquote{\sphinxhyphen{}mP6}} will only correct for pseudouridine and m6A bases.

\sphinxAtStartPar
Currently supported one\sphinxhyphen{}letter codes and energy corrections are:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{7}}: 7\sphinxhyphen{}deaza\sphinxhyphen{}adenonsine (7DA)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{I}}: Inosine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{6}}: N6\sphinxhyphen{}methyladenosine (m6A)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}}: Pseudouridine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{9}}: Purine (a.k.a. nebularine)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Dihydrouridine

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-mod-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Use additional modified base data from JSON file.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAfold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsubsection{Plotting:}
\label{\detokenize{man/RNAfold:plotting}}\begin{quote}

\sphinxAtStartPar
Command line options for changing the default behavior of structure layout
and pairing probability plots
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noPS}}\index{\sphinxhyphen{}\sphinxhyphen{}noPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noPS}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-noPS}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noPS}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not produce postscript drawing of the mfe structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noDP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noDP}}\index{\sphinxhyphen{}\sphinxhyphen{}noDP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noDP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-noDP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noDP}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not produce dot\sphinxhyphen{}plot postscript file containing base pair or stack probabilitities.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
In combination with the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} option, this flag turns\sphinxhyphen{}off creation of individual
dot\sphinxhyphen{}plot files. Consequently, computed base pair probability output is
omitted but centroid and MEA structure prediction is still performed.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}}\index{\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type@\spxentry{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}}\index{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type@\spxentry{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAfold:cmdoption-t}}\phantomsection\label{\detokenize{man/RNAfold:cmdoption-layout-type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}t}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Choose the layout algorithm. \sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
Select the layout algorithm that computes the nucleotide coordinates.
Currently, the following algorithms are available:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{0}}: simple radial layout

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{1}}: Naview layout (Bruccoleri et al. 1988)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{2}}: circular layout

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{3}}: RNAturtle (Wiegreffe et al. 2018)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{4}}: RNApuzzler (Wiegreffe et al. 2018)

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAfold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
M. Zuker, P. Stiegler (1981),
“Optimal computer folding of large RNA sequences using thermodynamic and auxiliary information”,
Nucl Acid Res: 9, pp 133\sphinxhyphen{}148

\sphinxAtStartPar
J.S. McCaskill (1990),
“The equilibrium partition function and base pair binding probabilities for RNA secondary structures”,
Biopolymers: 29, pp 1105\sphinxhyphen{}1119

\sphinxAtStartPar
I.L. Hofacker \& P.F. Stadler (2006),
“Memory Efficient Folding Algorithms for Circular RNA Secondary Structures”,
Bioinformatics

\sphinxAtStartPar
A.F. Bompfuenewerer, R. Backofen, S.H. Bernhart, J. Hertel, I.L. Hofacker, P.F. Stadler, S. Will (2007),
“Variations on \{RNA\} Folding and Alignment: Lessons from Benasque”,
J. Math. Biol.

\sphinxAtStartPar
D. Adams (1979),
“The hitchhiker’s guide to the galaxy”,
Pan Books, London

\sphinxAtStartPar
The calculation of mfe structures is based on dynamic programming algorithm originally developed by M. Zuker and P. Stiegler. The partition function algorithm is based on work by J.S. McCaskill.

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{EXAMPLES}
\label{\detokenize{man/RNAfold:examples}}
\sphinxAtStartPar
Single line sequence input and calculation of partition function and MEA structure

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}MEA \PYGZhy{}d2 \PYGZhy{}p
\end{sphinxVerbatim}

\sphinxAtStartPar
The program will then prompt for sequence input. Using the example sequence
“CGACGTAGATGCTAGCTGACTCGATGC” and pressing ENTER the output of the program will be
similar to

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CGACGUAGAUGCUAGCUGACUCGAUGC}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\PYG{n}{minimum} \PYG{n}{free} \PYG{n}{energy} \PYG{o}{=}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.90} \PYG{n}{kcal}\PYG{o}{/}\PYG{n}{mol}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{\PYGZcb{}}\PYG{p}{,}\PYG{p}{\PYGZcb{}}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\PYG{n}{free} \PYG{n}{energy} \PYG{n}{of} \PYG{n}{ensemble} \PYG{o}{=}  \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{2.86} \PYG{n}{kcal}\PYG{o}{/}\PYG{n}{mol}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{\PYGZob{}}  \PYG{l+m+mf}{0.80} \PYG{n}{d}\PYG{o}{=}\PYG{l+m+mf}{2.81}\PYG{p}{\PYGZcb{}}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{\PYGZob{}} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.90} \PYG{n}{MEA}\PYG{o}{=}\PYG{l+m+mf}{22.32}\PYG{p}{\PYGZcb{}}
\PYG{n}{frequency} \PYG{n}{of} \PYG{n}{mfe} \PYG{n}{structure} \PYG{o+ow}{in} \PYG{n}{ensemble} \PYG{l+m+mf}{0.20997}\PYG{p}{;} \PYG{n}{ensemble} \PYG{n}{diversity} \PYG{l+m+mf}{4.19}
\end{sphinxVerbatim}

\sphinxAtStartPar
Here, the first line just repeats the sequence input. The second line contains a
MFE structure in dot bracket notation followed by the minimum free energy. After
this, the pairing probabilities for each nucleotide are shown in a pseudo dot\sphinxhyphen{}bracket
notation followed by the free energy of ensemble. The next two lines show the centroid
structure with its free energy and its distance to the ensemble as well as the MEA structure,
its free energy and the maximum expected accuracy, respectively. The last line finally
contains the frequency of the MFE representative in the complete ensemble of secondary
structures and the ensemble diversity. For further details about the calculation and
interpretation of the given output refer to the reference manual of RNAlib.

\sphinxAtStartPar
Since version 2.0 it is also possible to provide FASTA file sequence input. Assume
you have a file containing two sequences in FASTA format, e.g

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat sequences.fa
\PYGZgt{}seq1
CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUG
GAACGAUCUAUAACACGACUUCACUCUU
\PYGZgt{}seq2
GAAUGACCCGAUAACCCCGUAAUAUUUGGAACGAUCUA
UAACACGACUUCACUCUU
\end{sphinxVerbatim}

\sphinxAtStartPar
In order to compute the MFE for the two sequences the user can use the following
command

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZlt{} sequences.fa
\end{sphinxVerbatim}

\sphinxAtStartPar
which would result in an output like this

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{seq1}
\PYG{n}{CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUGGAACGAUCUAUAACACGACUUCACUCUU}
\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{(} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{5.40}\PYG{p}{)}
\PYG{o}{\PYGZgt{}}\PYG{n}{seq2}
\PYG{n}{GAAUGACCCGAUAACCCCGUAAUAUUUGGAACGAUCUAUAACACGACUUCACUCUU}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{(} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{2.00}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{CONSTRAINT EXAMPLES}
\label{\detokenize{man/RNAfold:constraint-examples}}
\sphinxAtStartPar
Secondary structure constraints may be given in addition to the sequence information, too.
Using the first sequence of the previous example and restricting the nucleotides of the
outermost helix to be unpaired, i.e. base pairs (2,47) and (3,46) the input file should
have the following form

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat sequence\PYGZus{}unpaired.fa
\PYGZgt{}seq1
CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUG
GAACGAUCUAUAACACGACUUCACUCUU
.xx...................................
.......xx...................
\end{sphinxVerbatim}

\sphinxAtStartPar
Calling RNAfold with the structure constraint option \sphinxhyphen{}C it shows the following result

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}C \PYGZlt{} sequence\PYGZus{}unpaired.fa
\PYGZgt{}seq1
CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUGGAACGAUCUAUAACACGACUUCACUCUU
....(((...((((..(((((........)))))))))...)))...................... ( \PYGZhy{}4.20)
\end{sphinxVerbatim}

\sphinxAtStartPar
This represents the minimum free energy and a structure representative of the RNA
sequence given that nucleotides 2,3,46 and 47 must not be involved in any base pair.
For further information about constrained folding refer to the details of the \sphinxhyphen{}C option
and the reference manual of RNAlib.

\sphinxAtStartPar
Since version 2.2 the ViennaRNA Package distinguishes hard and soft constraints.
As a consequence, structure predictions are easily amenable to a versatile set of constraints,
such as maximal base pair span, incorporation of SHAPE reactivity data, and RNA\sphinxhyphen{}ligand binding
to hairpin, or interior loop motifs.

\sphinxAtStartPar
\sphinxstyleemphasis{Restricting the maximal span of a base pair}

\sphinxAtStartPar
A convenience commandline option allows you to easily limit the distance (j \sphinxhyphen{} i + 1) between
two nucleotides i and j that form a basepair. For instance a limit of 600nt can be accomplished
using:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}maxBPspan 600
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Complex structure constraints and grammar extensions}

\sphinxAtStartPar
Structure constraints beyond those that can be expressed with a pseudo\sphinxhyphen{}dot bracket notation
may be provided in a so\sphinxhyphen{}called command file:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}commands=constraints.txt \PYGZlt{} sequence.fa
\end{sphinxVerbatim}

\sphinxAtStartPar
The command file syntax is a generalization of constraints as used in
UNAfold/mfold. Each line starts with a one or two letter command followed
by command parameters. For structure constraints, this amounts to a single
command character followed by three or four numbers. In addition, optional
auxiliary modifier characters may be used to limit the constraint to specific
loop types. For base pair specific constraints,
we currently distinguish pairs in exterior loops (E), closing pairs of hairpin
loops (H), closing (I) and enclosed (i) pairs of interior loops, and closing (M)
and enclosed (m) pairs of multibranch loops. Nucleotide\sphinxhyphen{}wise constraints may be
limited to their loop context using the corresponding uppercase characters. The
default is to apply a constraint to all (A) loop types. Furthermore, pairing
constraints for single nucleotides may be limited to upstream (U), or downstream (D)
orientation. The command file specification is as follows:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{F} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{p}{[}\PYG{n}{ORIENTATION}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Force nucleotides i...i+k\PYGZhy{}1 to be paired}
\PYG{n}{F} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Force helix of size k starting with (i,j) to be formed}
\PYG{n}{P} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Prohibit nucleotides i...i+k\PYGZhy{}1 to be paired}
\PYG{n}{P} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Prohibit pairs (i,j),...,(i+k\PYGZhy{}1,j\PYGZhy{}k+1)}
\PYG{n}{P} \PYG{n}{i}\PYG{o}{\PYGZhy{}}\PYG{n}{j} \PYG{n}{k}\PYG{o}{\PYGZhy{}}\PYG{n}{l} \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Prohibit pairing between two ranges}
\PYG{n}{C} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k}   \PYG{p}{[}\PYG{n}{TYPE}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Nucleotides i,...,i+k\PYGZhy{}1 must appear in context TYPE}
\PYG{n}{C} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k}          \PYG{c+c1}{\PYGZsh{} Remove pairs conflicting with (i,j),...,(i+k\PYGZhy{}1,j\PYGZhy{}k+1)}
\PYG{n}{E} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k} \PYG{n}{e}        \PYG{c+c1}{\PYGZsh{} Add pseudo\PYGZhy{}energy e to nucleotides i...i+k\PYGZhy{}1}
\PYG{n}{E} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k} \PYG{n}{e}        \PYG{c+c1}{\PYGZsh{} Add pseudo\PYGZhy{}energy e to pairs (i,j),...,(i+k\PYGZhy{}1,j\PYGZhy{}k+1)}
\PYG{n}{UD} \PYG{n}{m} \PYG{n}{e}    \PYG{p}{[}\PYG{n}{LOOP}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} Add ligand binding to unstructured domains with motif}
\PYG{c+c1}{\PYGZsh{} m and binding free energy e}

\PYG{c+c1}{\PYGZsh{} [LOOP]        = \PYGZob{} E, H, I, M, A \PYGZcb{}}
\PYG{c+c1}{\PYGZsh{} [TYPE]        = [LOOP] + \PYGZob{} i, m \PYGZcb{}}
\PYG{c+c1}{\PYGZsh{} [ORIENTATION] = \PYGZob{} U, D \PYGZcb{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Again, RNAfold by default only processes the first sequence in the input sequence
when provided with constraints in a command file. To apply the exact same constraints
to each of the input sequences in a multi FASTA file, use the batch mode commandline
option:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}constraint=constraints.txt \PYGZhy{}\PYGZhy{}batch \PYGZlt{} sequences.fa
\end{sphinxVerbatim}


\subsection{EXPERIMENTAL STRUCTURE PROBING DATA}
\label{\detokenize{man/RNAfold:id1}}
\sphinxAtStartPar
Structure predictions can be guided by additional structure probing data. Such data
may be derived from SHAPE, DMS, or similar techniques. In our software we implement
different strategies that convert the probing data (reactivities) into pseudo energy
contributions that guide the predictions.

\sphinxAtStartPar
Probing reactivities have to be provided in the form of a two column text file
with sequence positions (1\sphinxhyphen{}based) and (normalized) reactivity values (usually
between 0 and 2. Missing values may be left out, or assigned a negative score,
e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat reactivities.dat
9    \PYGZhy{}999       \PYGZsh{} No reactivity information
10   \PYGZhy{}999
11   0.042816   \PYGZsh{} normalized SHAPE reactivity
12   0          \PYGZsh{} also a valid SHAPE reactivity
15   0.15027    \PYGZsh{} Missing data for pos. 13\PYGZhy{}14
...
42   0.16201
\end{sphinxVerbatim}

\sphinxAtStartPar
A simple example using the default strategy (Deigan et al. 2009) assuming SHAPE
reactivity data in \sphinxcode{\sphinxupquote{reactivities.dat}} may look like:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}shape=reactivities.dat \PYGZlt{} sequence.fa
\end{sphinxVerbatim}

\sphinxAtStartPar
Another example using the Eddy 2014 strategy with non\sphinxhyphen{}default prior distribution
for unpaired bases located in file \sphinxcode{\sphinxupquote{pu.txt}} may look like:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}sp\PYGZhy{}data=reactivities.dat \PYGZhy{}\PYGZhy{}sp\PYGZhy{}strategy=E \PYGZhy{}\PYGZhy{}sp\PYGZhy{}data=pu.txt \PYGZhy{}\PYGZhy{}sp\PYGZhy{}strategy=Pu
\end{sphinxVerbatim}

\sphinxAtStartPar
Note, that RNAfold will only process the first sequence in the input file, when provided
with SHAPE reactivity data!


\subsection{POST\sphinxhyphen{}TRANSCRIPTIONAL MODIFICATION EXAMPLES}
\label{\detokenize{man/RNAfold:post-transcriptional-modification-examples}}
\sphinxAtStartPar
Many RNA molecules harbor (post\sphinxhyphen{}transcriptional) modifications. These modified base
often change the pairing behavior or energy contribution for the loops they are part of.
To accommodate for that effect (to a certain degree) one may use additional correcting
energy parameters for loops with the respective modified bases. In literature, a few
stacking\sphinxhyphen{} and some terminal mismatch energies can be found. Some of them are already provided
within the ViennaRNA Package. The \textendash{}modification and \textendash{}mod\sphinxhyphen{}file command line parameters can be
used to apply these parameters in the predictions. While the former allows one to select a
subset of implemented modified base corrections, the latter enables the prediction programs
to read energy parameters for modified bases from a user\sphinxhyphen{}provided JSON file.

\sphinxAtStartPar
Consider, for instance, the following tRNA sequence with dihydrouridines and pseudouridines
annotated by their respective one\sphinxhyphen{}letter codes D and P:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat tRNAphe.fa
\PYGZgt{}tRNAphe
GCCGAAAUAGCUCAGDDGGGAGAGCGPPAGACUGAAGAPCUAAAGGDCCCUGGUPCGAUCCCGGGUUUCGGCACCA
\end{sphinxVerbatim}

\sphinxAtStartPar
Now, a prediction that includes support for the destabilizing effect of D and the stabilizing
effects of P within base pair stacks can be done as follows:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}modifications=DP \PYGZlt{} tRNAphe.fa
\PYGZgt{}tRNAphe
GCCGAAAUAGCUCAGDDGGGAGAGCGPPAGACUGAAGAPCUAAAGGDCCCUGGUPCGAUCCCGGGUUUCGGCACCA
(((((((..((((........)))).(((((.......)))))....(((.((......)).)))))))))).... (\PYGZhy{}23.37)
\end{sphinxVerbatim}


\subsection{LIGAND BINDING}
\label{\detokenize{man/RNAfold:ligand-binding}}
\sphinxAtStartPar
\sphinxstyleemphasis{Ligand binding contributions to specific hairpin/interior loop motifs}

\sphinxAtStartPar
A convenience function allows one to specify a hairping/interior loop motif where a ligand
is binding with a particular binding free energy dG.
Here is an example that adds a theophylline binding motif. Free energy contribution of
this motif of dG=\sphinxhyphen{}9.22kcal/mol is derived from k\_d=0.32umol/l, taken from Jenison et al.
1994. Although the structure motif consists of a symmetric interior loop of size 6,
followed by a small helix of 3 basepairs, and a bulge of 3 nucleotides, the entire
structure can still be represented by one interior loop.
See the below mofif description where the \sphinxcode{\sphinxupquote{\&}} character splits the motif into a 5’ and
a 3’ part. The first line gives the sequences motif, the second line shows the actual
structure motif of the aptamer pocket, and the third line is the interior loop motif
that fully encapsulates the theophylline aptamer:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{GAUACCAG}\PYG{o}{\PYGZam{}}\PYG{n}{CCCUUGGCAGC}
\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}
\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
To use the above information in the folding recursions of RNAfold, one only needs to
provide the motif itself, and binding free energy:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}motif=\PYGZdq{}GAUACCAG\PYGZam{}CCCUUGGCAGC,(...((((\PYGZam{})...)))...),\PYGZhy{}9.22\PYGZdq{} \PYGZlt{} sequences.fa
\end{sphinxVerbatim}

\sphinxAtStartPar
Adding the \textendash{}verbose option to the above call of RNAfold also prints the sequence
position of each motif found in the MFE structure. In case interior\sphinxhyphen{}loop like motifs
are provided, two intervals are printed denoting the 5\textasciigrave{}\textasciigrave{} and 3\textasciigrave{}\textasciigrave{} part, respectively.

\sphinxAtStartPar
\sphinxstyleemphasis{Ligand binding contributions to unpaired segments of the RNA structure}

\sphinxAtStartPar
The extension of the RNA folding grammar with unstructured domains allows for an easy
incorporation of ligands that bind to unpaired stretches of an RNA structure. To
model such interactions only two parameters are required: (i) a sequence motif in
IUPAC notation that specifies where the ligand binds to, and (ii) a binding free
energy that can be derived from the association/dissociation constant of the ligand.
With these two parameters in hand, the modification of RNAfold to include the competition
of regular intramolecular base pairing and ligand interaction is as easy as writing
a simple command file of the form:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{UD} \PYG{n}{m} \PYG{n}{e}    \PYG{p}{[}\PYG{n}{LOOP}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
where m is the motif string in upper\sphinxhyphen{}case IUPAC notation, and e the binding free energy
in kcal/mol and optional loop type restriction {[}LOOP{]}. See also the command file specification as defined above.

\sphinxAtStartPar
For instance, having a protein with a 4\sphinxhyphen{}nucleotide footprint binding \sphinxcode{\sphinxupquote{AAAA}}, a
binding free energy e = \sphinxhyphen{}5.0 kcal/mol, and a binding restriction to exterior\sphinxhyphen{} and
multibranch loops results in a command file:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} cat commands.txt
UD AAAA \PYGZhy{}5.0  ME
\end{sphinxVerbatim}

\sphinxAtStartPar
and the corresponding call to RNAfold to compute MFE and equilibrium probabilities becomes:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAfold \PYGZhy{}\PYGZhy{}commands=commands.txt \PYGZhy{}p \PYGZlt{} sequence.fa
\end{sphinxVerbatim}

\sphinxAtStartPar
The resulting MFE plot will be annotated to display the binding site(s) of the ligand,
and the base pair probability dot\sphinxhyphen{}plot is extended to include the probability that
a particular nucleotide is bound by the ligand.


\subsection{AUTHOR}
\label{\detokenize{man/RNAfold:author}}
\sphinxAtStartPar
Ivo L Hofacker, Walter Fontana, Sebastian Bonhoeffer, Peter F Stadler, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAfold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAheat}
\label{\detokenize{man/RNAheat:rnaheat}}\label{\detokenize{man/RNAheat::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAheat}} \sphinxhyphen{} manual page for RNAheat 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAheat:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAheat\PYG{+w}{ }\PYG{o}{[}OPTIONS\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input0\PYGZgt{}\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input1\PYGZgt{}\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAheat:description}}
\sphinxAtStartPar
RNAheat 2.7.2

\sphinxAtStartPar
calculate specific heat of RNAs

\sphinxAtStartPar
Reads RNA sequences from stdin or input files and calculates their specific
heat in the temperature range t1 to t2, from the partition function by numeric
differentiation. The result is written to stdout as a list of pairs of
temperature in C and specific heat in kcal/(mol*K).
The program will continue to read new sequences until a line consisting of the
single character \sphinxcode{\sphinxupquote{@}} or an end of file condition is encountered.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAheat:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}}\index{\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}}\index{\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-i}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-infile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}i}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}infile}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read a file instead of reading from stdin

\sphinxAtStartPar
The default behavior of RNAheat is to read input from stdin or the file(s)
that follow(s) the RNAheat command. Using this parameter the user can specify
input file names where data is read from. Note, that any additional files
supplied to RNAheat are still processed as well.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}}\index{\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-jobs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}\DUrole{p}{{[}}=number\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Split batch input into jobs and start processing in parallel using multiple threads. A value of 0 indicates to use as many parallel threads as computation cores are available.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Default processing of input data is performed in a serial fashion, i.e. one
sequence at a time. Using this switch, a user can instead start the
computation for many sequences in the input in parallel. RNAheat will create
as many parallel computation slots as specified and assigns input sequences
of the input file(s) to the available slots. Note, that this increases memory
consumption since input alignments have to be kept in memory until an empty
compute slot is available and each running job requires its own dynamic
programming matrices.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}}\index{\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-unordered}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}unordered}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not try to keep output in order with input while parallel processing is in place.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
When parallel input processing ({\hyperref[\detokenize{man/RNAalifold:cmdoption-j}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}}}} flag) is enabled, the order in which
input is processed depends on the host machines job scheduler. Therefore, any
output to stdout or files generated by this program will most likely not
follow the order of the corresponding input data set. The default of RNAheat
is to use a specialized data structure to still keep the results output in
order with the input data. However, this comes with a trade\sphinxhyphen{}off in terms of
memory consumption, since all output must be kept in memory for as long as no
chunks of consecutive, ordered output are available. By setting this flag,
RNAheat will not buffer individual results but print them as soon as they
have been computated.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAheat is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAheat ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names)

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequences’ FASTA id will be prefixed with the
provided string. FASTA ids then take the form “\textgreater{}prefix\_xxxx” where xxxx is
the sequence number. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAheat.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAheat:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}Tmin@\spxentry{\sphinxhyphen{}\sphinxhyphen{}Tmin}}\index{\sphinxhyphen{}\sphinxhyphen{}Tmin@\spxentry{\sphinxhyphen{}\sphinxhyphen{}Tmin}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-Tmin}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}Tmin}}\DUrole{p}{=}t1}
\pysigstopsignatures
\sphinxAtStartPar
Lowest temperature.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}Tmax@\spxentry{\sphinxhyphen{}\sphinxhyphen{}Tmax}}\index{\sphinxhyphen{}\sphinxhyphen{}Tmax@\spxentry{\sphinxhyphen{}\sphinxhyphen{}Tmax}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-Tmax}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}Tmax}}\DUrole{p}{=}t2}
\pysigstopsignatures
\sphinxAtStartPar
Highest temperature.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”100”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}stepsize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stepsize}}\index{\sphinxhyphen{}\sphinxhyphen{}stepsize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stepsize}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-stepsize}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}stepsize}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Calculate partition function every stepsize degrees C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}}\index{\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ipoints@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ipoints}}\index{\sphinxhyphen{}\sphinxhyphen{}ipoints@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ipoints}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-m}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-ipoints}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}m}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ipoints}}\DUrole{p}{=}ipoints}
\pysigstopsignatures
\sphinxAtStartPar
The program fits a parabola to 2*ipoints+1 data points to calculate 2nd derivatives. Increasing this parameter produces a smoother curve.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}}\index{\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-circ}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}circ}}}
\pysigstopsignatures
\sphinxAtStartPar
Assume a circular (instead of linear) RNA molecule.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-g}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAheat:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum base pair span.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAheat:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAheat:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAheat:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} dangling energies will be added for the bases adjacent to a helix on
both sides in any case

\end{fulllineitems}


\sphinxAtStartPar
.HP
\sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAheat:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAheat:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAheat:author}}
\sphinxAtStartPar
Ivo L Hofacker, Peter F Stadler, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAheat:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.


\subsection{SEE ALSO}
\label{\detokenize{man/RNAheat:see-also}}
\sphinxAtStartPar
RNAfold(1)

\sphinxstepscope


\section{RNAinverse}
\label{\detokenize{man/RNAinverse:rnainverse}}\label{\detokenize{man/RNAinverse::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAinverse}} \sphinxhyphen{} manual page for RNAinverse 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAinverse:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAinverse\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAinverse:description}}
\sphinxAtStartPar
RNAinverse 2.7.2

\sphinxAtStartPar
Find RNA sequences with given secondary structure

\sphinxAtStartPar
The program searches for sequences folding into a predefined structure, thereby
inverting the folding algorithm. Target structures (in bracket notation) and
starting sequences for the search are read alternately from stdin.
Characters in the start sequence other than “AUGC” (or the alphabet specified
with {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}}) will be treated as wild cards and replaced by a random character. Any
lower case characters in the start sequence will be kept fixed during the
search. If necessary, the sequence will be elongated to the length of the
structure. Thus a string of “N”s as well as a blank line specify a random
start sequence.
For each search the best sequence found and its Hamming distance to the start
sequence are printed to stdout. If the the search was unsuccessful, a structure
distance to the target is appended.
The \sphinxcode{\sphinxupquote{\sphinxhyphen{}Fp}} and {\hyperref[\detokenize{man/RNALalifold:cmdoption-R}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}R}}}}} options can modify the output format, see commandline options
below.
The program will continue to read new structures and sequences until a line
consisting of the single character “@” or an end of file condition is
encountered.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
In conjunction with a negative value supplied to {\hyperref[\detokenize{man/RNALalifold:cmdoption-R}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}R}}}}}, print the last subsequence and substructure for each unsuccessful search.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAinverse.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAinverse:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}F@\spxentry{\sphinxhyphen{}F}}\index{\sphinxhyphen{}F@\spxentry{\sphinxhyphen{}F}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}function@\spxentry{\sphinxhyphen{}\sphinxhyphen{}function}}\index{\sphinxhyphen{}\sphinxhyphen{}function@\spxentry{\sphinxhyphen{}\sphinxhyphen{}function}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-F}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-function}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}F}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}function}}\DUrole{p}{=}mp}
\pysigstopsignatures
\sphinxAtStartPar
Use minimum energy (\sphinxcode{\sphinxupquote{\sphinxhyphen{}Fm}}), partition function folding (\sphinxcode{\sphinxupquote{\sphinxhyphen{}Fp}}) or both (\sphinxcode{\sphinxupquote{\sphinxhyphen{}Fmp}}).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”m”)}

\sphinxAtStartPar
In partition function mode, the probability of the target structure
exp(\sphinxcode{\sphinxupquote{\sphinxhyphen{}E\textasciigrave{}(S)/kT)/Q is maximized. This probability is written in brackets after
the found sequence and Hamming distance. In most cases you\textquotesingle{}ll want to use the
:option:}}\sphinxhyphen{}f\textasciigrave{} option in conjunction with \sphinxcode{\sphinxupquote{\sphinxhyphen{}Fp}}, see below.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}final@\spxentry{\sphinxhyphen{}\sphinxhyphen{}final}}\index{\sphinxhyphen{}\sphinxhyphen{}final@\spxentry{\sphinxhyphen{}\sphinxhyphen{}final}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-f}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-final}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}final}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
In combination with \sphinxcode{\sphinxupquote{\sphinxhyphen{}Fp}} stop search when sequence is found with E(s)\sphinxhyphen{}F is smaller than final, where F=\sphinxhyphen{}kT*ln(Q).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}}\index{\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}repeat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}repeat}}\index{\sphinxhyphen{}\sphinxhyphen{}repeat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}repeat}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-R}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-repeat}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}R}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}repeat}}\DUrole{p}{{[}}=INT\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Search repeatedly for the same structure. If an argument is supplied to this option it must follow the option flag immediately. E.g.: \sphinxcode{\sphinxupquote{\sphinxhyphen{}R5}}

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
If repeats is negative search until \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}repeats}} exact solutions are found, no
output is done for unsuccessful searches. Be aware, that the program will not
terminate if the target structure can not be found.
If no value is supplied with this option, the default value is used.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}}\index{\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}alphabet@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alphabet}}\index{\sphinxhyphen{}\sphinxhyphen{}alphabet@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alphabet}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-a}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-alphabet}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}a}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}alphabet}}\DUrole{p}{=}ALPHABET}
\pysigstopsignatures
\sphinxAtStartPar
Find sequences using only nucleotides from a given alphabet.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAinverse:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. When passing the
placeholder file name “DNA”, DNA parameters are loaded without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAinverse:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs.
e.g. RNAfold \sphinxcode{\sphinxupquote{\sphinxhyphen{}nsp}} \sphinxcode{\sphinxupquote{\sphinxhyphen{}GA}}  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAinverse:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAinverse:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
D.H. Turner, N. Sugimoto, S.M. Freier (1988),
“RNA structure prediction”,
Ann Rev Biophys Biophys Chem: 17, pp 167\sphinxhyphen{}192

\sphinxAtStartPar
M. Zuker, P. Stiegler (1981),
“Optimal computer folding of large RNA sequences using thermodynamic and auxiliary information”,
Nucl Acid Res: 9, pp 133\sphinxhyphen{}148

\sphinxAtStartPar
J.S. McCaskill (1990),
“The equilibrium partition function and base pair binding probabilities for RNA secondary structures”,
Biopolymers: 29, pp 1105\sphinxhyphen{}1119

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{EXAMPLES}
\label{\detokenize{man/RNAinverse:examples}}
\sphinxAtStartPar
To search 5 times for sequences forming a simple hairpin structure interrupted by one GA mismatch call

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYGZdl{} RNAinverse \PYGZhy{}R 5
\end{sphinxVerbatim}

\sphinxAtStartPar
and enter the lines

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}
\PYG{n}{NNNgNNNNNNNNNNaNNN}
\end{sphinxVerbatim}


\subsection{AUTHOR}
\label{\detokenize{man/RNAinverse:author}}
\sphinxAtStartPar
Ivo L Hofacker


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAinverse:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNALalifold}
\label{\detokenize{man/RNALalifold:rnalalifold}}\label{\detokenize{man/RNALalifold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNALalifold}} \sphinxhyphen{} manual page for RNALalifold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNALalifold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNALalifold\PYG{+w}{ }\PYG{o}{[}options\PYG{o}{]}\PYG{+w}{ }\PYGZlt{}file1.aln\PYGZgt{}
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNALalifold:description}}
\sphinxAtStartPar
RNALalifold 2.7.2

\sphinxAtStartPar
calculate locally stable secondary structures for a set of aligned RNAs

\sphinxAtStartPar
reads aligned RNA sequences from stdin or file.aln and calculates locally
stable RNA secondary structure with a maximal base pair span. For a sequence of
length n and a base pair span of L the algorithm uses only O(n+L*L) memory and
O(n*L*L) CPU time. Thus it is practical to “scan” very large genomes for
short RNA
\begin{quote}

\sphinxAtStartPar
structures.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}}\index{\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}quiet@\spxentry{\sphinxhyphen{}\sphinxhyphen{}quiet}}\index{\sphinxhyphen{}\sphinxhyphen{}quiet@\spxentry{\sphinxhyphen{}\sphinxhyphen{}quiet}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-q}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-quiet}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}q}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}quiet}}}
\pysigstopsignatures
\sphinxAtStartPar
Be quiet. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This option can be used to minimize the output of additional information and
non\sphinxhyphen{}severe warnings which otherwise might spam stdout/stderr.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNALalifold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format}}\index{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-f}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-input-format}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}input\sphinxhyphen{}format}}\DUrole{p}{=}C|S|F|M}
\pysigstopsignatures
\sphinxAtStartPar
File format of the input multiple sequence alignment (MSA).

\sphinxAtStartPar
If this parameter is set, the input is considered to be in a particular file
format. Otherwise, the program tries to determine the file format
automatically, if an input file was provided in the set of parameters. In
case the input MSA is provided in interactive mode, or from a terminal (TTY),
the programs default is to assume CLUSTALW format.
Currently, the following formats are available: ClustalW (\sphinxcode{\sphinxupquote{C}}), Stockholm 1.0
(\sphinxcode{\sphinxupquote{S}}), FASTA/Pearson (\sphinxcode{\sphinxupquote{F}}), and MAF (\sphinxcode{\sphinxupquote{M}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}csv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}csv}}\index{\sphinxhyphen{}\sphinxhyphen{}csv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}csv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-csv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}csv}}}
\pysigstopsignatures
\sphinxAtStartPar
Create comma separated output (csv)

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln}}\index{\sphinxhyphen{}\sphinxhyphen{}aln@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-aln}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln}}\DUrole{p}{{[}}=prefix\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce output alignments and secondary structure plots for each hit found.

\sphinxAtStartPar
This option tells the program to produce, for each hit, a colored and
structure annotated (sub)alignment and secondary structure plot in PostScript
format. It also adds the subalignment hit into a multi\sphinxhyphen{}Stockholm formatted
file “RNALalifold\_results.stk”. The postscript output file names are
“aln\_start\_end.eps” and “ss\_start\_end.eps”. All files will be created in
the current directory. The optional argument string can be used to set a
specific prefix that is used to name the output files. The file names then
become “prefix\_aln\_start\_end.eps”, “prefix\_ss\_start\_end.eps”, and
“prefix.stk”. Note: Any special characters in the prefix will be replaced
by the filename delimiter, hence there is no way to pass an entire directory
path through this option yet. (See also the “\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk}}\index{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-aln-stk}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}stk}}\DUrole{p}{{[}}=prefix\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Add hits to a multi\sphinxhyphen{}Stockholm formatted output file.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”RNALalifold\_results”)}

\sphinxAtStartPar
The default file name used for the output is “RNALalifold\_results.stk”.
Users may change the filename to “prefix.stk” by specifying the prefix as
optional argument. The file will be create in the current directory if it
does not already exist. In case the file already exists, output will be
appended to it. Note: Any special characters in the prefix will be replaced
by the filename delimiter, hence there is no way to pass an entire directory
path through this option yet. (See also the “\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}}\index{\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-mis}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mis}}}
\pysigstopsignatures
\sphinxAtStartPar
Output “most informative sequence” instead of simple consensus: For each column of the alignment output the set of nucleotides with frequency greater than average in IUPAC notation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}split\sphinxhyphen{}contributions@\spxentry{\sphinxhyphen{}\sphinxhyphen{}split\sphinxhyphen{}contributions}}\index{\sphinxhyphen{}\sphinxhyphen{}split\sphinxhyphen{}contributions@\spxentry{\sphinxhyphen{}\sphinxhyphen{}split\sphinxhyphen{}contributions}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-split-contributions}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}split\sphinxhyphen{}contributions}}}
\pysigstopsignatures
\sphinxAtStartPar
Split the free energy contributions into separate parts

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
By default, only the total energy contribution for each hit is returned.
Using this option, this contribution is split into individual parts, i.e. the
Nearest Neighbor model energy, the covariance pseudo energy, and if
applicable, a remaining pseudo energy derived from special constraints, such
as probing signals like SHAPE.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each alignment.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNALalifold is to automatically determine an ID from the
input alignment if the input file format allows to do that. Alignment IDs
are, for instance, usually given in Stockholm 1.0 formatted input. If this
flag is active, RNALalifold ignores any IDs retrieved from the input and
automatically generates an ID for each alignment.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”alignment”)}

\sphinxAtStartPar
If this parameter is set, each alignment will be prefixed with the provided
string. Hence, the output files will obey the following naming scheme:
“prefix\_xxxx\_ss.ps” (secondary structure plot), “prefix\_xxxx\_dp.ps”
(dot\sphinxhyphen{}plot), “prefix\_xxxx\_aln.ps” (annotated alignment), etc. where xxxx is
the alignment number beginning with the second alignment in the input. Use
this setting in conjunction with the {\hyperref[\detokenize{man/RNAalifold:cmdoption-n}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids}}}}} flag to assign IDs
beginning with the first input alignment.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When alignment IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies continuous alignment IDs, i.e. it
activates the {\hyperref[\detokenize{man/RNAalifold:cmdoption-n}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}continuous\sphinxhyphen{}ids}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNALalifold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNALalifold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}}\index{\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-L}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}L}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum allowed separation of a base pair to span. I.e. no pairs (i,j) with j\sphinxhyphen{}i\textgreater{}span will be allowed.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”70”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}threshold}}\index{\sphinxhyphen{}\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}threshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-threshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}threshold}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Energy threshold in kcal/mol per nucleotide above which secondary structure hits are omitted in the output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}0.1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-g}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNALalifold:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}file1,file2}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\sphinxAtStartPar
Multiple shapefiles for the individual sequences in the alignment may be
specified  as a comma separated list. An optional association of particular
shape files to a specific  sequence in the alignment can be expressed by
prepending the sequence number to the filename,  e.g.
“5=seq5.shape,3=seq3.shape” will assign the reactivity values from file
seq5.shape to  the fifth sequence in the alignment, and the values from file
seq3.shape to sequence 3. If  no assignment is specified, the reactivity
values are assigned to corresponding sequences in  the order they are given.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}D{[}mX{]}{[}bY{]}}
\pysigstopsignatures
\sphinxAtStartPar
Specify the method how to convert SHAPE reactivity data to pseudo energy contributions.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
Currently, the only data conversion method available is that of to Deigan et
al 2009.  This method is the default and is recognized by a capital \sphinxcode{\sphinxupquote{D}} in
the provided parameter, i.e.:  {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting.
The slope \sphinxcode{\sphinxupquote{m}} and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a  non\sphinxhyphen{}default value if
necessary. Otherwise m=1.8 and b=\sphinxhyphen{}0.6 as stated in the paper mentionen
before.  To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7, use a  parameter
string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also provide only one
of the two  parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNALalifold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNALalifold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}cfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cfactor}}\index{\sphinxhyphen{}\sphinxhyphen{}cfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cfactor}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-cfactor}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}cfactor}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the weight of the covariance term in the energy function

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nfactor}}\index{\sphinxhyphen{}\sphinxhyphen{}nfactor@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nfactor}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-nfactor}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nfactor}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the penalty for non\sphinxhyphen{}compatible sequences in the covariance term of the energy function

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}}\index{\sphinxhyphen{}R@\spxentry{\sphinxhyphen{}R}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ribosum\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}}\index{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-R}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-ribosum_file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}R}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ribosum\_file}}\DUrole{p}{=}ribosumfile}
\pysigstopsignatures
\sphinxAtStartPar
use specified Ribosum Matrix instead of normal

\sphinxAtStartPar
energy model.

\sphinxAtStartPar
Matrixes to use should be 6x6 matrices, the order of the terms is \sphinxcode{\sphinxupquote{AU}}, \sphinxcode{\sphinxupquote{CG}},
\sphinxcode{\sphinxupquote{GC}}, \sphinxcode{\sphinxupquote{GU}}, \sphinxcode{\sphinxupquote{UA}}, \sphinxcode{\sphinxupquote{UG}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}r@\spxentry{\sphinxhyphen{}r}}\index{\sphinxhyphen{}r@\spxentry{\sphinxhyphen{}r}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}}\index{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-r}}\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-ribosum_scoring}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}r}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ribosum\_scoring}}}
\pysigstopsignatures
\sphinxAtStartPar
use ribosum scoring matrix. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The matrix is chosen according to the minimal and maximal pairwise identities
of the sequences in the file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsubsection{Plotting:}
\label{\detokenize{man/RNALalifold:plotting}}\begin{quote}

\sphinxAtStartPar
Command line options for changing the default behavior of structure layout
and pairing probability plots
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS}}\index{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-aln-EPS}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS}}\DUrole{p}{{[}}=prefix\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce colored and structure annotated subalignment for each hit.

\sphinxAtStartPar
The default file name used for the output is “aln\_start\_end.eps” where
“start” and “end” denote the first and last column of the subalignment
relative to the input (1\sphinxhyphen{}based). Users may change the filename to
“prefix\_aln\_start\_end.eps” by specifying the prefix as optional argument.
Files will be create in the current directory. Note: Any special characters
in the prefix will be replaced by the filename delimiter, hence there is no
way to pass an entire directory path through this option yet. (See also the
“\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}}\index{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-aln-EPS-cols}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Number of columns in colored EPS alignment output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”60”)}

\sphinxAtStartPar
A value less than 1 indicates that the output should not be wrapped at all.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}ss@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}ss}}\index{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}ss@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}ss}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-aln-EPS-ss}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}ss}}\DUrole{p}{{[}}=prefix\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce colored consensus secondary structure plots in PostScript format.

\sphinxAtStartPar
The default file name used for the output is “ss\_start\_end.eps” where
“start” and “end” denote the first and last column of the subalignment
relative to the input (1\sphinxhyphen{}based). Users may change the filename to
“prefix\_ss\_start\_end.eps” by specifying the prefix as optional argument.
Files will be create in the current directory. Note: Any special characters
in the prefix will be replaced by the filename delimiter, hence there is no
way to pass an entire directory path through this option yet. (See also the
“\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold}}\index{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-color-threshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}threshold}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the threshold of maximum counter examples for coloring consensus structure plot.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
Floating point numbers between 0 and 1 are treated as frequencies among all
sequencesin the alignment. All other will be truncated to integer and used as
absolute number of counter
examples.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat}}\index{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALalifold:cmdoption-color-min-sat}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}color\sphinxhyphen{}min\sphinxhyphen{}sat}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the minimum saturation for coloring consensus structure plot.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0.2”)}

\sphinxAtStartPar
Floating point number \textgreater{}= 0 and smaller than 1.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNALalifold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
I.L. Hofacker, B. Priwitzer, and P.F. Stadler (2004),
“Prediction of Locally Stable RNA Secondary Structures for Genome\sphinxhyphen{}Wide Surveys”,
Bioinformatics: 20, pp 186\sphinxhyphen{}190

\sphinxAtStartPar
Stephan H. Bernhart, Ivo L. Hofacker, Sebastian Will, Andreas R. Gruber, and Peter F. Stadler (2008),
“RNAalifold: Improved consensus structure prediction for RNA alignments”,
BMC Bioinformatics: 9, pp 474

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNALalifold:author}}
\sphinxAtStartPar
Ivo L Hofacker, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNALalifold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNALfold}
\label{\detokenize{man/RNALfold:rnalfold}}\label{\detokenize{man/RNALfold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNALfold}} \sphinxhyphen{} manual page for RNALfold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNALfold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNALfold\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNALfold:description}}
\sphinxAtStartPar
RNALfold 2.7.2

\sphinxAtStartPar
calculate locally stable secondary structures of RNAs

\sphinxAtStartPar
Compute locally stable RNA secondary structure with a maximal base pair span.
For a sequence of length n and a base pair span of L the algorithm uses only
O(n+L*L) memory and O(n*L*L) CPU time. Thus it is practical to “scan” very
large genomes for short RNA structures.
Output consists of a list of secondary structure components of size \textless{}= L, one
entry per line. Each output line contains the predicted local structure its
energy in kcal/mol and the starting position of the local structure.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNALfold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}}\index{\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}}\index{\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-i}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-infile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}i}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}infile}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read a file instead of reading from stdin

\sphinxAtStartPar
The default behavior of RNALfold is to read input from stdin. Using this
parameter the user can specify an input file name where data is read from.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}}\index{\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}outfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}outfile}}\index{\sphinxhyphen{}\sphinxhyphen{}outfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}outfile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-o}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-outfile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}o}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}outfile}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print output to file instead of stdout.

\sphinxAtStartPar
This option may be used to write all output to output files rather than
printing to stdout. The number of output files created for batch input
(multiple sequences) depends on three conditions: (i) In case an optional
filename is given as parameter argument, a single file with the specified
filename will be written into. If the optional argument is omitted, (ii)
FASTA input or an active {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} switch will write to multiple files that
follow the naming scheme “prefix.lfold”. Here, “prefix” is taken from the
sequence id as specified in the FASTA header. Lastly, (iii) single\sphinxhyphen{}line
sequence input without FASTA header will be written to a single file
“RNALfold\_output.lfold”. In case an output file already exists, any output
of the program will be appended to it.
Since the filename argument is optional, it must immediately follow the short
option flag to not be mistaken as new parameter to the program. For instance
\textasciigrave{}\textasciigrave{}\sphinxhyphen{}ornafold.out\textasciigrave{}\textasciigrave{} will write to a file “rnafold.out”.
Note: Any special characters in the filename will be replaced by the filename
delimiter, hence there is no way to pass an entire directory path through
this option yet. (See also the “\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNALfold is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNALfold ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequence will be prefixed with the provided
string. Hence, the output files will obey the following naming scheme:
“prefix\_xxxx.lfold” where xxxx is the sequence number. Note: Setting this
parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-filename-full}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}}
\pysigstopsignatures
\sphinxAtStartPar
Use full FASTA header to create filenames. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This parameter can be used to deactivate the default behavior of limiting
output filenames to the first word of the sequence ID. Consider the following
example: An input with FASTA header \sphinxcode{\sphinxupquote{\textgreater{}NM\_0001 Homo Sapiens some gene}} usually
produces output files with the prefix “NM\_0001” without the additional data
available in the FASTA header, e.g. “NM\_0001\_ss.ps” for secondary structure
plots. With this flag set, no truncation of the output filenames is done,
i.e. output filenames receive the full FASTA header data as prefixes. Note,
however, that invalid characters (such as whitespace) will be substituted by
a delimiting character or simply removed, (see also the parameter option
{\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNALfold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNALfold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}}\index{\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}span@\spxentry{\sphinxhyphen{}\sphinxhyphen{}span}}\index{\sphinxhyphen{}\sphinxhyphen{}span@\spxentry{\sphinxhyphen{}\sphinxhyphen{}span}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-L}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-span}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}L}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}span}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum distance between any two pairing nucleotides.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”150”)}

\sphinxAtStartPar
This option specifies the window length L and therefore the upper limit for
the distance between the bases i and j of any pair (i, j), i.e. (j \sphinxhyphen{} i + 1)
\textless{}= L.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}z@\spxentry{\sphinxhyphen{}z}}\index{\sphinxhyphen{}z@\spxentry{\sphinxhyphen{}z}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}zscore@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zscore}}\index{\sphinxhyphen{}\sphinxhyphen{}zscore@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zscore}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-z}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-zscore}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}z}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}zscore}}\DUrole{p}{{[}}=DOUBLE\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Limit the output to predictions with a Z\sphinxhyphen{}score below a threshold.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}2”)}

\sphinxAtStartPar
This option activates z\sphinxhyphen{}score regression using a trained SVM. Any predicted
structure that exceeds the specified threshold will be ommited from the
output.
Since the Z\sphinxhyphen{}score threshold is given as a negative number, it must
immediately preceed the short option to not be mistaken as a separate
argument, e.g. \sphinxcode{\sphinxupquote{\sphinxhyphen{}z\sphinxhyphen{}2}}.9 sets the threshold to a value of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.9

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}pre\sphinxhyphen{}filter@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}pre\sphinxhyphen{}filter}}\index{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}pre\sphinxhyphen{}filter@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}pre\sphinxhyphen{}filter}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-zscore-pre-filter}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}pre\sphinxhyphen{}filter}}}
\pysigstopsignatures
\sphinxAtStartPar
Apply the z\sphinxhyphen{}score filtering in the forward recursions.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of z\sphinxhyphen{}score filtering considers the entire structure space to
decide whether or not a locally optimal structure at any position i is
reported or not. When using this post\sphinxhyphen{}filtering step, however, alternative
locally optimal structures

\sphinxAtStartPar
starting at i with higher energy but lower z\sphinxhyphen{}score can be easily missed. The

\sphinxAtStartPar
pre\sphinxhyphen{}filter

\sphinxAtStartPar
option restricts the structure space already in the forward recursions, such

\sphinxAtStartPar
that

\sphinxAtStartPar
only optimal solution among those candidates that satisfy the z\sphinxhyphen{}score

\sphinxAtStartPar
threshold are considered. Therefore, good results according to the z\sphinxhyphen{}score
threshold criterion are less likely to be superseded by results with better
energy but worse z\sphinxhyphen{}score. Note, that activating this switch results in higher
computation time which scales linear in the window length.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}report\sphinxhyphen{}subsumed@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}report\sphinxhyphen{}subsumed}}\index{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}report\sphinxhyphen{}subsumed@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}report\sphinxhyphen{}subsumed}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-zscore-report-subsumed}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}report\sphinxhyphen{}subsumed}}}
\pysigstopsignatures
\sphinxAtStartPar
Report subsumed structures if their z\sphinxhyphen{}score is less than that of the enclosing structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
In default mode, RNALfold only reports locally optimal structures if they are
no constituents of another, larger structure with less free energy. In
z\sphinxhyphen{}score mode, however, such a larger structure may have a higher z\sphinxhyphen{}score,
thus may be less informative than the smaller substructure. Using this switch
activates reporting both, the smaller and the larger structure if the z\sphinxhyphen{}score
of the smaller is lower than that of the larger.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}}\index{\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backtrack\sphinxhyphen{}global@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backtrack\sphinxhyphen{}global}}\index{\sphinxhyphen{}\sphinxhyphen{}backtrack\sphinxhyphen{}global@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backtrack\sphinxhyphen{}global}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-b}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-backtrack-global}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}b}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backtrack\sphinxhyphen{}global}}}
\pysigstopsignatures
\sphinxAtStartPar
Backtrack a global MFE structure. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Instead of just reporting the locally stable secondary structure a global MFE
structure can be constructed that only consists of locally optimal
substructures. This switch activates a post\sphinxhyphen{}processing step that takes the
locally optimal structures to generate the global MFE structure which
constitutes the MFE value reported in the last line. The respective global
MFE structure is printed just after the inut sequence part on the last line,
preceding the global MFE score.
Note, that this option implies {\hyperref[\detokenize{man/RNALfold:cmdoption-o}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}o}}}}}/\textendash{}outfile since the locally optimal
structures must be read after the regular prediction step! Also note, that
using this option in combination with {\hyperref[\detokenize{man/RNALfold:cmdoption-z}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}z}}}}}/\textendash{}zscore implies {\hyperref[\detokenize{man/RNALfold:cmdoption-zscore-pre-filter}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}pre\sphinxhyphen{}filter}}}}}
to ensure proper construction of the global MFE structure!

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-g}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNALfold:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select SHAPE reactivity data incorporation strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following methods can be used to convert SHAPE reactivities into pseudo
energy contributions.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Convert by using the linear equation according to Deigan et al 2009.

\sphinxAtStartPar
Derived pseudo energy terms will be applied for every nucleotide involved in
a stacked pair. This method is recognized by a capital \sphinxcode{\sphinxupquote{D}} in the provided
parameter, i.e.: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting. The slope \sphinxcode{\sphinxupquote{m}}
and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a non\sphinxhyphen{}default value if necessary,
otherwise m=1.8 and b=\sphinxhyphen{}0.6. To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7,
use a parameter string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also
provide only one of the two parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Convert SHAPE reactivities to pseudo energies according to Zarringhalam

\sphinxAtStartPar
et al 2012. SHAPE reactivities will be converted to pairing probabilities by
using linear mapping. Aberration from the observed pairing probabilities will
be penalized during the folding recursion. The magnitude of the penalties can
affected by adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012. Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-shapeConversion}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select method for SHAPE reactivity conversion.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”O”)}

\sphinxAtStartPar
This parameter is useful when dealing with the SHAPE incorporation according
to Zarringhalam et al. The following methods can be used to convert SHAPE
reactivities into the probability for a certain nucleotide to be unpaired.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}: Use linear mapping according to Zarringhalam et al.
\sphinxcode{\sphinxupquote{C}}: Use a cutoff\sphinxhyphen{}approach to divide into paired and unpaired nucleotides
(e.g. “C0.25”)
\sphinxcode{\sphinxupquote{S}}: Skip the normalizing step since the input data already represents
probabilities for being unpaired rather than raw reactivity values
\sphinxcode{\sphinxupquote{L}}: Use a linear model to convert the reactivity into a probability for
being unpaired (e.g. “Ls0.68i0.2” to use a slope of 0.68 and an intercept
of 0.2)
\sphinxcode{\sphinxupquote{O}}: Use a linear model to convert the log of the reactivity into a
probability for being unpaired (e.g. “Os1.6i\sphinxhyphen{}2.29” to use a slope of 1.6
and an intercept of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.29)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}}\index{\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-commands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read additional commands from file

\sphinxAtStartPar
Commands include hard and soft constraints, but also structure motifs in
hairpin and internal loops that need to be treeted differently. Furthermore,
commands can be set for unstructured and structured domains.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNALfold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}}\index{\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}}\index{\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-m}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-modifications}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}m}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}modifications}}\DUrole{p}{{[}}=STRING\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Allow for modified bases within the RNA sequence string.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”7I6P9D”)}

\sphinxAtStartPar
Treat modified bases within the RNA sequence differently, i.e. use
corresponding energy corrections and/or pairing partner rules if available.
For that, the modified bases in the input sequence must be marked by their
corresponding one\sphinxhyphen{}letter code. If no additional arguments are supplied, all
available corrections are performed. Otherwise, the user may limit the
modifications to a particular subset of modifications, resp. one\sphinxhyphen{}letter
codes, e.g. \sphinxcode{\sphinxupquote{\sphinxhyphen{}mP6}} will only correct for pseudouridine and m6A bases.

\sphinxAtStartPar
Currently supported one\sphinxhyphen{}letter codes and energy corrections are:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{7}}: 7\sphinxhyphen{}deaza\sphinxhyphen{}adenonsine (7DA)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{I}}: Inosine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{6}}: N6\sphinxhyphen{}methyladenosine (m6A)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}}: Pseudouridine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{9}}: Purine (a.k.a. nebularine)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Dihydrouridine

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-mod-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Use additional modified base data from JSON file.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNALfold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNALfold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNALfold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNALfold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
I.L. Hofacker, B. Priwitzer, and P.F. Stadler (2004),
“Prediction of Locally Stable RNA Secondary Structures for Genome\sphinxhyphen{}Wide Surveys”,
Bioinformatics: 20, pp 186\sphinxhyphen{}190

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNALfold:author}}
\sphinxAtStartPar
Ivo L Hofacker, Peter F Stadler, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNALfold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.


\subsection{SEE ALSO}
\label{\detokenize{man/RNALfold:see-also}}
\sphinxAtStartPar
RNAplfold(1) RNALalifold(1)

\sphinxstepscope


\section{RNAmultifold}
\label{\detokenize{man/RNAmultifold:rnamultifold}}\label{\detokenize{man/RNAmultifold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAmultifold}} \sphinxhyphen{} manual page for RNAmultifold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAmultifold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAmultifold\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...\PYG{+w}{ }\PYG{o}{[}FILE\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAmultifold:description}}
\sphinxAtStartPar
RNAmultifold 2.7.2

\sphinxAtStartPar
Compute secondary structures of multiple interacting RNAs

\sphinxAtStartPar
The program works much like RNAfold, but allows one to specify multiple RNA
sequences which are then allowed to form conncected components. RNA sequences
are read from stdin in the usual format, i.e. each line of input corresponds to
one sequence, except for lines starting with “\textgreater{}” which contain the name of
the next sequence(s).
Multiple strands must be concatenated using the \textasciigrave{}\textasciigrave{}\&\textasciigrave{}\textasciigrave{} character as separator.
RNAmultifold can compute MFE, partition function, corresponding ensemble free
energy and base pairing probabilities. These properties are either computed for
a particular arrangement (concatenation) of sequences, for the full ensemble of
the complex of input RNAs, or all complexes formed by the input sequences up to
a specified number of interacting sequences.
Output consists of a PostScript “dot plot” file containing the pair
probabilities, see the RNAfold man page for details.
The program will continue to read new sequences until a line consisting of the
single character \sphinxcode{\sphinxupquote{@}} or an end of file condition is encountered.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAmultifold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}}\index{\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-jobs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}\DUrole{p}{{[}}=number\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Split batch input into jobs and start processing in parallel using multiple threads. A value of 0 indicates to use as many parallel threads as computation cores are available.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Default processing of input data is performed in a serial fashion, i.e. one
sequence pair at a time. Using this switch, a user can instead start the
computation for many sequence pairs in the input in parallel. RNAmultifold
will create as many parallel computation slots as specified and assigns input
sequences of the input file(s) to the available slots. Note, that this
increases memory consumption since input alignments have to be kept in memory
until an empty compute slot is available and each running job requires its
own dynamic programming matrices.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}}\index{\sphinxhyphen{}\sphinxhyphen{}unordered@\spxentry{\sphinxhyphen{}\sphinxhyphen{}unordered}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-unordered}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}unordered}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not try to keep output in order with input while parallel processing is in place.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
When parallel input processing ({\hyperref[\detokenize{man/RNAalifold:cmdoption-j}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}}}} flag) is enabled, the order in which
input is processed depends on the host machines job scheduler. Therefore, any
output to stdout or files generated by this program will most likely not
follow the order of the corresponding input data set. The default of
RNAmultifold is to use a specialized data structure to still keep the results
output in order with the input data. However, this comes with a trade\sphinxhyphen{}off in
terms of memory consumption, since all output must be kept in memory for as
long as no chunks of consecutive, ordered output are available. By setting
this flag, RNAmultifold will not buffer individual results but print them as
soon as they have been computated.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAmultifold is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAmultifold ignores any IDs retrieved from the input and
automatically generates an ID for each sequence. This ID consists of a prefix
and an increasing number. This flag can also be used to add a FASTA header to
the output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequence will be prefixed with the provided
string. Hence, the output files will obey the following naming scheme:
“prefix\_xxxx\_ss.ps” (secondary structure plot), “prefix\_xxxx\_dp.ps”
(dot\sphinxhyphen{}plot), “prefix\_xxxx\_dp2.ps” (stack probabilities), etc. where xxxx is
the sequence number. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-filename-full}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}}
\pysigstopsignatures
\sphinxAtStartPar
Use full FASTA header to create filenames. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This parameter can be used to deactivate the default behavior of limiting
output filenames to the first word of the sequence ID. Consider the following
example: An input with FASTA header \sphinxcode{\sphinxupquote{\textgreater{}NM\_0001 Homo Sapiens some gene}} usually
produces output files with the prefix “NM\_0001” without the additional data
available in the FASTA header, e.g. “NM\_0001\_ss.ps” for secondary structure
plots. With this flag set, no truncation of the output filenames is done,
i.e. output filenames receive the full FASTA header data as prefixes. Note,
however, that invalid characters (such as whitespace) will be substituted by
a delimiting character or simply removed, (see also the parameter option
{\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAmultifold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAmultifold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}}\index{\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\index{\sphinxhyphen{}\sphinxhyphen{}partfunc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}partfunc}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-p}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-partfunc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}p}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}partfunc}}\DUrole{p}{{[}}=INT\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the partition function and base pairing probability matrix in addition to the MFE structure. Default is calculation of mfe structure only.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
In addition to the MFE structure we print a coarse representation of the pair
probabilities in form of a pseudo bracket notation, followed by the ensemble
free energy.
Note that unless you also specify \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} or \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}}, the partition function and mfe
calculations will use a slightly different energy model. See the discussion
of dangling end options below.

\sphinxAtStartPar
An additionally passed value to this option changes the behavior of partition
function calculation:

\sphinxAtStartPar
In order to calculate the partition function but not the pair probabilities

\sphinxAtStartPar
use the \sphinxcode{\sphinxupquote{\sphinxhyphen{}p0}} option and save about

\sphinxAtStartPar
50\% in runtime. This prints the ensemble free energy \sphinxcode{\sphinxupquote{dG=\sphinxhyphen{}kT ln(Z)}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}}\index{\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}all\_pf@\spxentry{\sphinxhyphen{}\sphinxhyphen{}all\_pf}}\index{\sphinxhyphen{}\sphinxhyphen{}all\_pf@\spxentry{\sphinxhyphen{}\sphinxhyphen{}all\_pf}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-a}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-all_pf}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}a}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}all\_pf}}\DUrole{p}{{[}}=INT\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function and free energies not only for the complex formed by the input sequences (the “ABC… mutimer”), but also of all complexes formed by the input sequences up to the number of input sequences, e.g. AAA, AAB, ABB, BBB, etc.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
The output will contain the free energies for each of these species. Using {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}}
automatically switches on the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} option.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}concentrations@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concentrations}}\index{\sphinxhyphen{}\sphinxhyphen{}concentrations@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concentrations}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-concentrations}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}concentrations}}}
\pysigstopsignatures
\sphinxAtStartPar
In addition to everything listed under the {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} option, read in initial monomer concentrations and compute the expected equilibrium concentrations of all possible species (A, B, AA, BB, AB, etc).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Start concentrations are read from stdin (unless the {\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} option is used) in
{[}mol/l{]}, equilibrium concentrations are given realtive to the sum of the
inputs. An arbitrary number of initial concentrations can be specified (one
tuple of concentrations per line).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}concfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concfile}}\index{\sphinxhyphen{}\sphinxhyphen{}concfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}concfile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-f}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-concfile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}concfile}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Specify a file with initial concentrations for the input sequences.

\sphinxAtStartPar
The table consits of arbitrary many lines with multiple numbers separated by
whitespace (the concentration of the input sequences A, B, C, etc.). This
option will automatically toggle the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-c}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}c}}}}} (and thus {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} and {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}) options (see
above).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}absolute\sphinxhyphen{}concentrations@\spxentry{\sphinxhyphen{}\sphinxhyphen{}absolute\sphinxhyphen{}concentrations}}\index{\sphinxhyphen{}\sphinxhyphen{}absolute\sphinxhyphen{}concentrations@\spxentry{\sphinxhyphen{}\sphinxhyphen{}absolute\sphinxhyphen{}concentrations}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-absolute-concentrations}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}absolute\sphinxhyphen{}concentrations}}\DUrole{w}{ }Report absolute instead of relative}
\pysigstopsignatures
\sphinxAtStartPar
concentrations

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\index{\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the scaling of the Boltzmann factors. \sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The argument provided with this option is used to scale the thermodynamic
temperature in the Boltzmann factors independently from the temperature of
the individual loop energy contributions. The Boltzmann factors then become
\sphinxcode{\sphinxupquote{exp(\sphinxhyphen{} dG/(kT*betaScale))}} where \sphinxcode{\sphinxupquote{k}} is the Boltzmann constant, \sphinxcode{\sphinxupquote{dG}} the free
energy contribution of the state and \sphinxcode{\sphinxupquote{T}} the absolute temperature.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\index{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-bppmThreshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}bppmThreshold}}\DUrole{p}{=}cutoff}
\pysigstopsignatures
\sphinxAtStartPar
Set the threshold/cutoff for base pair probabilities included in the postscript output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}5”)}

\sphinxAtStartPar
By setting the threshold the base pair probabilities that are included in the
output can be varied. By default only those exceeding \sphinxcode{\sphinxupquote{1e\sphinxhyphen{}5}} in probability
will be shown as squares in the dot plot. Changing the threshold to any other
value allows for increase or decrease of data.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-g}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation into the structure prediction algorithm.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Note, only intramolecular G\sphinxhyphen{}quadruplexes are considered.

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAmultifold:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum base pair span.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}}\index{\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-commands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read additional commands from file

\sphinxAtStartPar
Commands include hard and soft constraints, but also structure motifs in
hairpin and internal loops that need to be treeted differently. Furthermore,
commands can be set for unstructured and structured domains.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAmultifold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAmultifold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAmultifold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAmultifold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAmultifold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNApaln}
\label{\detokenize{man/RNApaln:rnapaln}}\label{\detokenize{man/RNApaln::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNApaln}} \sphinxhyphen{} manual page for RNApaln 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNApaln:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNApaln\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNApaln:description}}
\sphinxAtStartPar
RNApaln 2.7.2

\sphinxAtStartPar
RNA alignment based on sequence base pairing propensities

\sphinxAtStartPar
Uses string\sphinxhyphen{}alignment techniques to perform fast pairwise structural alignments
of RNAs. Similar to RNApdist secondary structure is incorporated in an
approximate manner by computing base pair probabilities, which are then reduced
to a vector holding the probability that a base is paired upstream, downstream,
or remains unpaired. Such pair propsensity vectors can then be compared using
standard alignment algorithms. In contrast to RNApdist, RNApaln performs
similarity (instead of distance) alignments, considers both sequence and
structure information, and uses affine (rather than linear) gap costs. RNApaln
can perform semi\sphinxhyphen{}local alignments by using free end gaps, a true local
alignment mode is planned.

\sphinxAtStartPar
The same approach has since been used in the StraL program from Gerhard
Steeger’s group. Since StraL has optimized parameters and a multiple alignment
mode, it be be currently the better option.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-h}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-V}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-v}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNApaln:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}B@\spxentry{\sphinxhyphen{}B}}\index{\sphinxhyphen{}B@\spxentry{\sphinxhyphen{}B}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}printAlignment@\spxentry{\sphinxhyphen{}\sphinxhyphen{}printAlignment}}\index{\sphinxhyphen{}\sphinxhyphen{}printAlignment@\spxentry{\sphinxhyphen{}\sphinxhyphen{}printAlignment}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-B}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-printAlignment}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}B}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}printAlignment}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print an “alignment” with gaps of the

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!profiles@\spxentry{profiles}}\index{profiles@\spxentry{profiles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-arg-profiles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{profiles}}}
\pysigstopsignatures
\sphinxAtStartPar
The aligned structures are written to filename, if specified Otherwise output is written to stdout, unless the \sphinxcode{\sphinxupquote{\sphinxhyphen{}Xm}} option is set in which case “backtrack.file” is used.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”stdout”)}

\sphinxAtStartPar
The following symbols are used:

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!(@\spxentry{(}}\index{(@\spxentry{(}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-arg-0}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{(}}}
\pysigstopsignatures
\sphinxAtStartPar
) essentially upstream (downstream) paired bases

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxleftcurlybrace{}@\spxentry{\sphinxleftcurlybrace{}}}\index{\sphinxleftcurlybrace{}@\spxentry{\sphinxleftcurlybrace{}}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-arg-1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\{}}}
\pysigstopsignatures
\sphinxAtStartPar
\} weakly upstream (downstream) paired bases

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\textbar{}@\spxentry{\textbar{}}}\index{\textbar{}@\spxentry{\textbar{}}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-arg-2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{|}}}
\pysigstopsignatures
\sphinxAtStartPar
strongly paired bases without preference

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!,@\spxentry{,}}\index{,@\spxentry{,}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-arg-3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{,}}}
\pysigstopsignatures
\sphinxAtStartPar
weakly paired bases without preference

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!.@\spxentry{.}}\index{.@\spxentry{.}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-arg-.}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{.}}}
\pysigstopsignatures
\sphinxAtStartPar
essentially unpaired bases.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNApaln.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNApaln:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}X@\spxentry{\sphinxhyphen{}X}}\index{\sphinxhyphen{}X@\spxentry{\sphinxhyphen{}X}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mode}}\index{\sphinxhyphen{}\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mode}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-X}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-mode}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}X}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mode}}\DUrole{p}{=}pmfc}
\pysigstopsignatures
\sphinxAtStartPar
Set the alignment mode to be used.

\sphinxAtStartPar
The alignment mode is passed as a single character value. The following
options are available:
\sphinxcode{\sphinxupquote{p}} \sphinxhyphen{} Compare the structures pairwise, that is first with 2nd, third with 4th
etc. This is the default.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\textasciigrave{}\textasciigrave{}m\textasciigrave{}\textasciigrave{}@\spxentry{\textasciigrave{}\textasciigrave{}m\textasciigrave{}\textasciigrave{}}}\index{\textasciigrave{}\textasciigrave{}m\textasciigrave{}\textasciigrave{}@\spxentry{\textasciigrave{}\textasciigrave{}m\textasciigrave{}\textasciigrave{}}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-arg-m}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\textasciigrave{}\textasciigrave{}m\textasciigrave{}\textasciigrave{}}}}
\pysigstopsignatures\begin{itemize}
\item {} 
\sphinxAtStartPar
Calculate the distance matrix between all structures. The output is

\end{itemize}

\sphinxAtStartPar
formatted as a lower triangle matrix.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{f}} \sphinxhyphen{} Compare each structure to the first one.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{c}} \sphinxhyphen{} Compare continuously, that is i\sphinxhyphen{}th with (i+1)th structure.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gapo@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gapo}}\index{\sphinxhyphen{}\sphinxhyphen{}gapo@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gapo}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-gapo}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gapo}}\DUrole{p}{=}open}
\pysigstopsignatures
\sphinxAtStartPar
Set the gap open penalty

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gape}}\index{\sphinxhyphen{}\sphinxhyphen{}gape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-gape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gape}}\DUrole{p}{=}ext}
\pysigstopsignatures
\sphinxAtStartPar
Set the gap extension penalty

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}seqw@\spxentry{\sphinxhyphen{}\sphinxhyphen{}seqw}}\index{\sphinxhyphen{}\sphinxhyphen{}seqw@\spxentry{\sphinxhyphen{}\sphinxhyphen{}seqw}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-seqw}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}seqw}}\DUrole{p}{=}w}
\pysigstopsignatures
\sphinxAtStartPar
Set the weight of sequence (compared to structure) in the scoring function.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}endgaps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}endgaps}}\index{\sphinxhyphen{}\sphinxhyphen{}endgaps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}endgaps}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-endgaps}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}endgaps}}}
\pysigstopsignatures
\sphinxAtStartPar
Use free end\sphinxhyphen{}gaps

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNApaln:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-T}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-P}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. When passing the
placeholder file name “DNA”, DNA parameters are loaded without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-4}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNApaln:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-d}}\phantomsection\label{\detokenize{man/RNApaln:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs.
e.g. RNAfold \sphinxcode{\sphinxupquote{\sphinxhyphen{}nsp}} \sphinxcode{\sphinxupquote{\sphinxhyphen{}GA}}  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApaln:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNApaln:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
Bonhoeffer S, McCaskill J S, Stadler P F, Schuster P (1993),
“RNA multi\sphinxhyphen{}structure landscapes”,
Euro Biophys J: 22, pp 13\sphinxhyphen{}24

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNApaln:author}}
\sphinxAtStartPar
Peter F Stadler, Ivo L Hofacker, Sebastian Bonhoeffer


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNApaln:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAparconv}
\label{\detokenize{man/RNAparconv:rnaparconv}}\label{\detokenize{man/RNAparconv::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAparconv}} \sphinxhyphen{} manual page for RNAparconv 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAparconv:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAparconv\PYG{+w}{ }\PYG{o}{[}options\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input\PYG{+w}{ }file\PYGZgt{}\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}output\PYG{+w}{ }file\PYGZgt{}\PYG{o}{]}
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAparconv:description}}
\sphinxAtStartPar
RNAparconv 2.7.2

\sphinxAtStartPar
Convert energy parameter files from ViennaRNA 1.8.4 to 2.0 format

\sphinxAtStartPar
Converts energy parameter files from “old” ViennaRNAPackage 1.8.4 format to
the new format used since ViennaRNAPackage 2.0.
The Program reads a valid energy parameter file or valid energy parameters from
stdin and prints the converted energy parameters to stdout or a specified
output file. Per default, the converted output file contains the whole set of
energy parameters used throughout ViennaRNAPackage 1.8.4. The user can specify
sets of energy parameters that should not be included in the output.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAparconv:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}}\index{\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}input@\spxentry{\sphinxhyphen{}\sphinxhyphen{}input}}\index{\sphinxhyphen{}\sphinxhyphen{}input@\spxentry{\sphinxhyphen{}\sphinxhyphen{}input}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-i}}\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-input}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}i}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}input}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Specify an input file name. If argument is missing the energy parameter input can be supplied via \sphinxcode{\sphinxupquote{stdin}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}}\index{\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output}}\index{\sphinxhyphen{}\sphinxhyphen{}output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-o}}\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-output}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}o}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}output}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Specify an output file name. If argument is missing the converted energy parameters are printed to \sphinxcode{\sphinxupquote{stdout}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}vanilla@\spxentry{\sphinxhyphen{}\sphinxhyphen{}vanilla}}\index{\sphinxhyphen{}\sphinxhyphen{}vanilla@\spxentry{\sphinxhyphen{}\sphinxhyphen{}vanilla}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-vanilla}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}vanilla}}}
\pysigstopsignatures
\sphinxAtStartPar
Print just as much as needed to represent the given energy parameters data set. This option overrides all other output settings!

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dump@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dump}}\index{\sphinxhyphen{}\sphinxhyphen{}dump@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dump}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-dump}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dump}}}
\pysigstopsignatures
\sphinxAtStartPar
Just dump Vienna 1.8.4 energy parameters in format used since 2.0. This option skips any energy parameter input!

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}silent@\spxentry{\sphinxhyphen{}\sphinxhyphen{}silent}}\index{\sphinxhyphen{}\sphinxhyphen{}silent@\spxentry{\sphinxhyphen{}\sphinxhyphen{}silent}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-silent}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}silent}}}
\pysigstopsignatures
\sphinxAtStartPar
Print just energy parameters and appropriate comment lines but suppress all other output

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}HairpinE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}HairpinE}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}HairpinE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}HairpinE}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-HairpinE}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}HairpinE}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted hairpin energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}StackE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}StackE}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}StackE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}StackE}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-StackE}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}StackE}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted stacking energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}IntE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}IntE}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}IntE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}IntE}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-IntE}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}IntE}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted internal loop energies, enthalpies and asymetry factors

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}BulgeE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}BulgeE}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}BulgeE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}BulgeE}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-BulgeE}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}BulgeE}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted bulge loop energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MultiE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MultiE}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MultiE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MultiE}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-MultiE}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MultiE}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted multi loop energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchE}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchE@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchE}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-MismatchE}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchE}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted exterior loop mismatch energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchH@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchH}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchH@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchH}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-MismatchH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchH}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted hairpin mismatch energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchI@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchI}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchI@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchI}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-MismatchI}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchI}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted internal loop mismatch energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchM@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchM}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchM@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchM}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-MismatchM}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}MismatchM}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted multi loop mismatch energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle5@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle5}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle5@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle5}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-Dangle5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle5}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted 5’ dangle energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle3@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle3}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle3@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle3}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-Dangle3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Dangle3}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted 3’ dangle energies and enthalpies

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Misc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Misc}}\index{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Misc@\spxentry{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Misc}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-without-Misc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}Misc}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not print converted Misc energies and enthalpies (TerminalAU, DuplexInit, lxc)

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAparconv.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAparconv:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAparconv:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAparconv:author}}
\sphinxAtStartPar
Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAparconv:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNApdist}
\label{\detokenize{man/RNApdist:rnapdist}}\label{\detokenize{man/RNApdist::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNApdist}} \sphinxhyphen{} manual page for RNApdist 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNApdist:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNApdist\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNApdist:description}}
\sphinxAtStartPar
RNApdist 2.7.2

\sphinxAtStartPar
Calculate distances between thermodynamic RNA secondary structures ensembles

\sphinxAtStartPar
This program reads RNA sequences from stdin and calculates structure distances
between the thermodynamic ensembles of their secondary structures.

\sphinxAtStartPar
To do this the partition function and matrix of base pairing probabilities is
computed for each sequence. The probability matrix is then condensed into a
vector holding for each base the probabilities of being unpaired, paired
upstream, or paired downstream, respectively. These profiles are compared
by a standard alignment algorithm.

\sphinxAtStartPar
The base pair probabilities are also saved as postscript “dot plots” (as in
RNAfold) in the files  “name\_dp.ps”, where name is the name of the sequence,
or a number if unnamed.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-h}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-V}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-v}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNApdist:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNApdist.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNApdist:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}X@\spxentry{\sphinxhyphen{}X}}\index{\sphinxhyphen{}X@\spxentry{\sphinxhyphen{}X}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}compare@\spxentry{\sphinxhyphen{}\sphinxhyphen{}compare}}\index{\sphinxhyphen{}\sphinxhyphen{}compare@\spxentry{\sphinxhyphen{}\sphinxhyphen{}compare}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-X}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-compare}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}X}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}compare}}\DUrole{p}{=}p|m|f|c}
\pysigstopsignatures
\sphinxAtStartPar
Specify the comparison directive. \sphinxstyleemphasis{(default=”p”)}

\sphinxAtStartPar
Possible arguments for this option are: \sphinxcode{\sphinxupquote{\sphinxhyphen{}Xp}} compare the structures pairwise
(p), i.e. first with 2nd, third with 4th etc.
\sphinxcode{\sphinxupquote{\sphinxhyphen{}Xm}} calculate the distance matrix between all structures. The output is
formatted as a lower triangle matrix.
\sphinxcode{\sphinxupquote{\sphinxhyphen{}Xf}} compare each structure to the first one.
\sphinxcode{\sphinxupquote{\sphinxhyphen{}Xc}} compare continuously, that is i\sphinxhyphen{}th with (i+1)th structure.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}B@\spxentry{\sphinxhyphen{}B}}\index{\sphinxhyphen{}B@\spxentry{\sphinxhyphen{}B}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backtrack@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backtrack}}\index{\sphinxhyphen{}\sphinxhyphen{}backtrack@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backtrack}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-B}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-backtrack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}B}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backtrack}}\DUrole{p}{{[}}=\textless{}filename\textgreater{}\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print an “alignment” with gaps of the profiles. The aligned structures are written to \textless{}filename\textgreater{}, if specified.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”none”)}

\sphinxAtStartPar
Within the profile output, the following symbols will be used:

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!()@\spxentry{()}}\index{()@\spxentry{()}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-arg-0}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{()}}}
\pysigstopsignatures
\sphinxAtStartPar
essentially upstream (downstream) paired bases

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxleftcurlybrace{}\sphinxrightcurlybrace{}@\spxentry{\sphinxleftcurlybrace{}\sphinxrightcurlybrace{}}}\index{\sphinxleftcurlybrace{}\sphinxrightcurlybrace{}@\spxentry{\sphinxleftcurlybrace{}\sphinxrightcurlybrace{}}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-arg-1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\{\}}}}
\pysigstopsignatures
\sphinxAtStartPar
weakly upstream (downstream) paired bases

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\textbar{}@\spxentry{\textbar{}}}\index{\textbar{}@\spxentry{\textbar{}}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-arg-2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{|}}}
\pysigstopsignatures
\sphinxAtStartPar
strongly paired bases without preference

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!,@\spxentry{,}}\index{,@\spxentry{,}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-arg-3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{,}}}
\pysigstopsignatures
\sphinxAtStartPar
weakly paired bases without preference

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!.@\spxentry{.}}\index{.@\spxentry{.}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-arg-.}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{.}}}
\pysigstopsignatures
\sphinxAtStartPar
essentially unpaired bases.

\sphinxAtStartPar
If \textless{}filename\textgreater{} is not specified, the output is written to stdout, unless the

\sphinxAtStartPar
“\sphinxhyphen{}Xm” option is set in which case “backtrack.file” is used.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNApdist:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-T}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-P}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. When passing the
placeholder file name “DNA”, DNA parameters are loaded without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-4}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNApdist:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-d}}\phantomsection\label{\detokenize{man/RNApdist:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
set energy model for treatment of dangling bases.

\sphinxAtStartPar
(possible values=”0”, “2” default=”2”)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs.
e.g. RNAfold \sphinxcode{\sphinxupquote{\sphinxhyphen{}nsp}} \sphinxcode{\sphinxupquote{\sphinxhyphen{}GA}}  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApdist:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNApdist:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
S. Bonhoeffer, J.S. McCaskill, P.F. Stadler, P. Schuster (1993),
“RNA multi\sphinxhyphen{}structure landscapes”,
Euro Biophys J:22, pp 13\sphinxhyphen{}24

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNApdist:author}}
\sphinxAtStartPar
Peter F Stadler, Ivo L Hofacker, Sebastian Bonhoeffer.


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNApdist:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAPKplex}
\label{\detokenize{man/RNAPKplex:rnapkplex}}\label{\detokenize{man/RNAPKplex::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAPKplex}} \sphinxhyphen{} manual page for RNAPKplex 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAPKplex:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAPKplex\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAPKplex:description}}
\sphinxAtStartPar
RNAPKplex 2.7.2

\sphinxAtStartPar
predicts RNA secondary structures including pseudoknots

\sphinxAtStartPar
Computes RNA secondary structures by first making two sequence intervals
accessible and unpaired using the algorithm of RNAplfold and then calculating
the energy of the interaction of those two intervals. The algorithm uses
O(n\textasciicircum{}2*w\textasciicircum{}4) CPU time and O(n*w\textasciicircum{}2) memory space.
The algorithm furthermore always considers dangle=2 model.

\sphinxAtStartPar
It  also  produces a PostScript file with a plot of the pseudoknot\sphinxhyphen{}free
secondary structure graph, in which the bases  forming  the  pseuodknot
are marked red.

\sphinxAtStartPar
Sequences are read in a simple text format where each sequence occupies
a single line. Each sequence may be preceded by a line of the form
.. code:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}} \PYG{n}{name}
\end{sphinxVerbatim}

\sphinxAtStartPar
to assign a name to the sequence. If a name is given in the input, the
PostScript file “name.ps” is produced for the structure graph.  Other\sphinxhyphen{}
wise  the  file  name defaults to PKplex.ps. Existing files of the same
name will be overwritten.
The input format is similar to fasta except that  even  long  sequences
may  not  be  interrupted  by  line  breaks,  and  the header lines are
optional.  The program will continue to read new sequences until a line
consisting  of  the  single  character @ or an end of file condition is
encountered.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAPKplex:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAPKplex.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAPKplex:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}cutoff@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cutoff}}\index{\sphinxhyphen{}\sphinxhyphen{}cutoff@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cutoff}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-cutoff}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}cutoff}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Only consider unpaired probabities \textgreater{} cutoff for putative PK sites.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}6”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}}\index{\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyCutoff@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyCutoff}}\index{\sphinxhyphen{}\sphinxhyphen{}energyCutoff@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyCutoff}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-e}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-energyCutoff}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}e}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyCutoff}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Energy cutoff or pseudoknot initiation cost. Minimum energy gain of a pseudoknot interaction for it to be returned. Pseudoknots with smaller energy gains are rejected.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}8.10”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}}\index{\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}subopts@\spxentry{\sphinxhyphen{}\sphinxhyphen{}subopts}}\index{\sphinxhyphen{}\sphinxhyphen{}subopts@\spxentry{\sphinxhyphen{}\sphinxhyphen{}subopts}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-s}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-subopts}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}s}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}subopts}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
print suboptimal structures whose energy difference of the pseudoknot to the optimum pseudoknot is smaller than the given value.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0.0”)}

\sphinxAtStartPar
NOTE: The final energy of a structure is calculated as the sum of the
pseudoknot interaction energy, the penalty for initiating a  pseudoknot and
the energy of the pseudoknot\sphinxhyphen{}free part of the structure. The {\hyperref[\detokenize{man/RNAPKplex:cmdoption-s}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}s}}}}} option only
takes the pseudoknot interaction energy into account, so the final energy
differences may be bigger than the specified value \sphinxstyleemphasis{(default=0.)}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\index{\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the scaling of the Boltzmann factors. \sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The argument provided with this option is used to scale the thermodynamic
temperature in the Boltzmann factors independently from the temperature of
the individual loop energy contributions. The Boltzmann factors then become
\sphinxcode{\sphinxupquote{exp(\sphinxhyphen{} dG/(kT*betaScale))}} where \sphinxcode{\sphinxupquote{k}} is the Boltzmann constant, \sphinxcode{\sphinxupquote{dG}} the free
energy contribution of the state and \sphinxcode{\sphinxupquote{T}} the absolute temperature.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAPKplex:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAPKplex:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAPKplex:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAPKplex:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAPKplex:author}}
\sphinxAtStartPar
Wolfgang Beyer


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAPKplex:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAplex}
\label{\detokenize{man/RNAplex:rnaplex}}\label{\detokenize{man/RNAplex::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAplex}} \sphinxhyphen{} manual page for RNAplex 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAplex:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAplex\PYG{+w}{ }\PYG{o}{[}options\PYG{o}{]}
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAplex:description}}
\sphinxAtStartPar
RNAplex 2.7.2

\sphinxAtStartPar
Find targets of a query RNA

\sphinxAtStartPar
reads two RNA sequences from stdin or \textless{}filename\textgreater{} and computes optimal and
suboptimal secondary structures for their hybridization. The calculation is
simplified by allowing only inter\sphinxhyphen{}molecular base pairs. Accessibility effects
can be estimated by RNAplex if a RNAplfold accessibility profile is provided.
The computed optimal and suboptimal structure are written to stdout, one
structure per line. Each line consist of: The structure in dot bracket format
with a “\&” separating the two strands. The range of the structure in the two
sequences in the format  “from,to : from,to”; the energy of duplex structure
in kcal/mol.
The format is especially useful for computing the hybrid structure between a
small probe sequence and a long target sequence.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAplex:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}}\index{\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}query@\spxentry{\sphinxhyphen{}\sphinxhyphen{}query}}\index{\sphinxhyphen{}\sphinxhyphen{}query@\spxentry{\sphinxhyphen{}\sphinxhyphen{}query}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-q}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-query}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}q}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}query}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
File containing the query sequence.

\sphinxAtStartPar
Input sequences can be given piped to RNAplex or given in a query file with
the {\hyperref[\detokenize{man/RNALalifold:cmdoption-q}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}q}}}}} option. Note that the {\hyperref[\detokenize{man/RNALalifold:cmdoption-q}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}q}}}}} option implies that the {\hyperref[\detokenize{man/RNAalifold:cmdoption-t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}t}}}}} option is also
used

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}}\index{\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}target@\spxentry{\sphinxhyphen{}\sphinxhyphen{}target}}\index{\sphinxhyphen{}\sphinxhyphen{}target@\spxentry{\sphinxhyphen{}\sphinxhyphen{}target}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-t}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-target}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}t}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}target}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
File containing the target sequence.

\sphinxAtStartPar
Input sequences can be given piped to RNAplex or given in a target file with
the {\hyperref[\detokenize{man/RNAalifold:cmdoption-t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}t}}}}} option. Note that the {\hyperref[\detokenize{man/RNAalifold:cmdoption-t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}t}}}}} option implies that the {\hyperref[\detokenize{man/RNALalifold:cmdoption-q}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}q}}}}} option is also
used

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}}\index{\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}accessibility\sphinxhyphen{}dir@\spxentry{\sphinxhyphen{}\sphinxhyphen{}accessibility\sphinxhyphen{}dir}}\index{\sphinxhyphen{}\sphinxhyphen{}accessibility\sphinxhyphen{}dir@\spxentry{\sphinxhyphen{}\sphinxhyphen{}accessibility\sphinxhyphen{}dir}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-a}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-accessibility-dir}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}a}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}accessibility\sphinxhyphen{}dir}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Location of the accessibility profiles.

\sphinxAtStartPar
This option switches the accessibility modes on and indicates in which
directory accessibility profiles as generated by RNAplfold can be found

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}}\index{\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}binary@\spxentry{\sphinxhyphen{}\sphinxhyphen{}binary}}\index{\sphinxhyphen{}\sphinxhyphen{}binary@\spxentry{\sphinxhyphen{}\sphinxhyphen{}binary}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-b}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-binary}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}b}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}binary}}}
\pysigstopsignatures
\sphinxAtStartPar
Allow the reading and parsing of memory dumped opening energy file

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The {\hyperref[\detokenize{man/RNALfold:cmdoption-b}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}b}}}}} option allows one to read and process opening energy files which are
saved in binary format

\sphinxAtStartPar
This can reduce by a factor of 500x\sphinxhyphen{}1000x the time needed to process those

\sphinxAtStartPar
files. RNAplex recognizes the corresponding opening energy files by looking
for files named after the sequence and containing the suffix \_openen\_bin.
Please look at the man page of RNAplfold if you need more information on how
to produce binary opening energy files.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAplex.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAplex:algorithms}}\begin{quote}

\sphinxAtStartPar
Options which alter the computing behaviour of RNAplex.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}l@\spxentry{\sphinxhyphen{}l}}\index{\sphinxhyphen{}l@\spxentry{\sphinxhyphen{}l}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}interaction\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}interaction\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}interaction\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}interaction\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-l}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-interaction-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}l}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}interaction\sphinxhyphen{}length}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Maximal length of an interaction \sphinxstyleemphasis{(default=”40”)}

\sphinxAtStartPar
Maximal allowed length of an interaction

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost}}\index{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-extension-cost}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Cost to add to each nucleotide in a duplex \sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Cost of extending a duplex by one nucleotide. Allows one to find compact
duplexes, having few/small bulges or internal loops Only useful when no
accessibility profiles are available. This option is disabled if
accessibility profiles are used ({\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} option)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}}\index{\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}mode}}\index{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}mode}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-p}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-probe-mode}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}p}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}mode}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute Tm for probes \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Use this option if you want to compute the melting temperature of your probes

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}Q@\spxentry{\sphinxhyphen{}Q}}\index{\sphinxhyphen{}Q@\spxentry{\sphinxhyphen{}Q}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}concentration}}\index{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}concentration}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-Q}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-probe-concentration}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}Q}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}probe\sphinxhyphen{}concentration}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the probe concentration for the Tm

\sphinxAtStartPar
computation

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0.1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}}\index{\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}na\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}na\sphinxhyphen{}concentration}}\index{\sphinxhyphen{}\sphinxhyphen{}na\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}na\sphinxhyphen{}concentration}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-N}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-na-concentration}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}N}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}na\sphinxhyphen{}concentration}}\DUrole{p}{=}DOUBLE Set the Na+ concentration for the Tm}
\pysigstopsignatures
\sphinxAtStartPar
computation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}M@\spxentry{\sphinxhyphen{}M}}\index{\sphinxhyphen{}M@\spxentry{\sphinxhyphen{}M}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mg\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mg\sphinxhyphen{}concentration}}\index{\sphinxhyphen{}\sphinxhyphen{}mg\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mg\sphinxhyphen{}concentration}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-M}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-mg-concentration}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}M}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mg\sphinxhyphen{}concentration}}\DUrole{p}{=}DOUBLE Set the Mg2+ concentration for the Tm}
\pysigstopsignatures
\sphinxAtStartPar
computation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}K@\spxentry{\sphinxhyphen{}K}}\index{\sphinxhyphen{}K@\spxentry{\sphinxhyphen{}K}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}k\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}k\sphinxhyphen{}concentration}}\index{\sphinxhyphen{}\sphinxhyphen{}k\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}k\sphinxhyphen{}concentration}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-K}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-k-concentration}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}K}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}k\sphinxhyphen{}concentration}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the K+ concentration for the Tm computation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}U@\spxentry{\sphinxhyphen{}U}}\index{\sphinxhyphen{}U@\spxentry{\sphinxhyphen{}U}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}tris\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}tris\sphinxhyphen{}concentration}}\index{\sphinxhyphen{}\sphinxhyphen{}tris\sphinxhyphen{}concentration@\spxentry{\sphinxhyphen{}\sphinxhyphen{}tris\sphinxhyphen{}concentration}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-U}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-tris-concentration}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}U}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}tris\sphinxhyphen{}concentration}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the tris+ concentration for the Tm

\sphinxAtStartPar
computation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding@\spxentry{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding}}\index{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding@\spxentry{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-f}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-fast-folding}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Speedup of the target search \sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
This option allows one to decide if the backtracking has to be done ({\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} 0, {\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}}
2) or not ({\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} 1). For {\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} 0 the structure is computed based on the standard
energy model. This is the slowest and most precise mode of RNAplex. With {\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}}
2, the structure is computed based on the approximated plex model. If a lot
of targets are returned this is can greatly improve the runtime of RNAplex.
{\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} 1 is the fastest mode, as no structure are recomputed

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}scale\sphinxhyphen{}accessibility@\spxentry{\sphinxhyphen{}\sphinxhyphen{}scale\sphinxhyphen{}accessibility}}\index{\sphinxhyphen{}\sphinxhyphen{}scale\sphinxhyphen{}accessibility@\spxentry{\sphinxhyphen{}\sphinxhyphen{}scale\sphinxhyphen{}accessibility}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-scale-accessibility}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}scale\sphinxhyphen{}accessibility}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale all opening energy by a factor V

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.0”)}

\sphinxAtStartPar
Scale\sphinxhyphen{}factor for the accessibility. If V is set to 1 then the scaling has no
effect on the accessibility.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}A@\spxentry{\sphinxhyphen{}A}}\index{\sphinxhyphen{}A@\spxentry{\sphinxhyphen{}A}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode}}\index{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-A}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-alignment-mode}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}A}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode}}}
\pysigstopsignatures
\sphinxAtStartPar
Tells RNAplex to compute interactions based on alignments

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
If the A option is set RNAplex expects clustalw files as input for the {\hyperref[\detokenize{man/RNALalifold:cmdoption-q}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}q}}}}} and
{\hyperref[\detokenize{man/RNAalifold:cmdoption-t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}t}}}}} option.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}k@\spxentry{\sphinxhyphen{}k}}\index{\sphinxhyphen{}k@\spxentry{\sphinxhyphen{}k}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}convert\sphinxhyphen{}to\sphinxhyphen{}bin@\spxentry{\sphinxhyphen{}\sphinxhyphen{}convert\sphinxhyphen{}to\sphinxhyphen{}bin}}\index{\sphinxhyphen{}\sphinxhyphen{}convert\sphinxhyphen{}to\sphinxhyphen{}bin@\spxentry{\sphinxhyphen{}\sphinxhyphen{}convert\sphinxhyphen{}to\sphinxhyphen{}bin}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-k}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-convert-to-bin}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}k}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}convert\sphinxhyphen{}to\sphinxhyphen{}bin}}}
\pysigstopsignatures
\sphinxAtStartPar
If set, RNAplex will convert all opening energy file in a directory set by the {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} option into binary opening energy files

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
RNAplex can be used to convert existing text formatted opening energy files
into binary formatted files. In this mode RNAplex does not compute
interactions.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}z@\spxentry{\sphinxhyphen{}z}}\index{\sphinxhyphen{}z@\spxentry{\sphinxhyphen{}z}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance}}\index{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-z}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-duplex-distance}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}z}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Distance between target 3’ ends of two consecutive duplexes

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Distance between the target 3’ends of two consecutive duplexes. Should be set
to the maximal length of interaction to get good results

\sphinxAtStartPar
Smaller z leads to larger overlaps between consecutive duplexes.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}}\index{\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold}}\index{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-e}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-energy-threshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}e}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold}}\DUrole{p}{=}DOUBLE Minimal energy for a duplex to be returned}
\pysigstopsignatures
\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}100000”)}

\sphinxAtStartPar
Energy threshold for a duplex to be returned. The threshold is set on the
total energy of interaction, i.e. the hybridization energy corrected for
opening energy if {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} is set or the energy corrected by {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-c}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}c}}}}}. If unset, only the
mfe will be returned

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}}\index{\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}WindowLength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}WindowLength}}\index{\sphinxhyphen{}\sphinxhyphen{}WindowLength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}WindowLength}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-L}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-WindowLength}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}L}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}WindowLength}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Tells how large the region around the target site should be for redrawing the alignment interaction

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
This option allows one to specify how large the region surrounding the target
site should be set when generating the alignment figure of the interaction

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAplex:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}}\index{\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}}\index{\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-C}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-constraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}C}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate structures subject to constraints. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The program reads first the sequence, then a string containing constraints on
the structure for the query sequence encoded with the symbols:
. (no constraint for this base)
| (the corresponding base has to be paired)

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAplex:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. When passing the
placeholder file name “DNA”, DNA parameters are loaded without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\index{\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-saltInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Provide salt correction for duplex initialization (in kcal/mol).

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAplex:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsubsection{Plotting:}
\label{\detokenize{man/RNAplex:plotting}}\begin{quote}

\sphinxAtStartPar
Command line options for changing the default behavior of structure layout
and pairing probability plots
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}I@\spxentry{\sphinxhyphen{}I}}\index{\sphinxhyphen{}I@\spxentry{\sphinxhyphen{}I}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps}}\index{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplex:cmdoption-I}}\phantomsection\label{\detokenize{man/RNAplex:cmdoption-produce-ps}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}I}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Draw an alignment annotated interaction from RNAplex.

\sphinxAtStartPar
This option allows one to produce interaction figures in PS\sphinxhyphen{}format a la
RNAalifold, where base\sphinxhyphen{}pair conservation is represented in color\sphinxhyphen{}coded
format. In this mode no interaction are computed, but the {\hyperref[\detokenize{man/RNAplex:cmdoption-I}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}I}}}}} option indicates
the location of the file containing interactions between two RNA
(alignments/sequence) from a previous run. If the {\hyperref[\detokenize{man/RNAplex:cmdoption-A}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}A}}}}} option is not set a
structure figure a la RNAfold with color\sphinxhyphen{}coded annotation of the
accessibilities is returned

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAplex:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
The calculation of duplex structure is based on dynamic programming algorithm originally
developed by Rehmsmeier and in parallel by Hofacker.

\sphinxAtStartPar
H. Tafer and I.L. Hofacker (2008),
“RNAplex: a fast tool for RNA\sphinxhyphen{}RNA interaction search.”,
Bioinformatics: 24(22), pp 2657\sphinxhyphen{}2663

\sphinxAtStartPar
S. Bonhoeffer, J.S. McCaskill, P.F. Stadler, P. Schuster (1993),
“RNA multi\sphinxhyphen{}structure landscapes”,
Euro Biophys J: 22, pp 13\sphinxhyphen{}24

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAplex:author}}
\sphinxAtStartPar
Hakim Tafer, Ivo L. Hofacker


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAplex:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAplfold}
\label{\detokenize{man/RNAplfold:rnaplfold}}\label{\detokenize{man/RNAplfold::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAplfold}} \sphinxhyphen{} manual page for RNAplfold 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAplfold:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAplfold\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAplfold:description}}
\sphinxAtStartPar
RNAplfold 2.7.2

\sphinxAtStartPar
calculate locally stable secondary structure \sphinxhyphen{} pair probabilities

\sphinxAtStartPar
Computes local pair probabilities for base pairs with a maximal span of L. The
probabilities are averaged over all windows of size L that contain the base
pair. For a sequence of length n and a window size of L the algorithm uses only
O(n+L*L) memory and O(n*L*L) CPU time. Thus it is practical to “scan” very
large genomes for short stable RNA structures.

\sphinxAtStartPar
Output consists of a dot plot in postscript file, where the averaged pair probabilities
can easily be parsed and visually inspected.

\sphinxAtStartPar
The \sphinxhyphen{}u option makes i possible to compute the probability that a stretch of x consequtive
nucleotides is unpaired, which is useful for predicting possible binding sites. Again
this probability is averaged over all windows containing the region.

\sphinxAtStartPar
.B WARNING! Output format changed!!

\sphinxAtStartPar
The output is a plain text matrix containing on each line a position i followed by the
probability that i is unpaired, {[}i\sphinxhyphen{}1..i{]} is unpaired {[}i\sphinxhyphen{}2..i{]} is unpaired and so on to
the probability that {[}i\sphinxhyphen{}x+1..i{]} is unpaired.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAplfold:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}cutoff@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cutoff}}\index{\sphinxhyphen{}\sphinxhyphen{}cutoff@\spxentry{\sphinxhyphen{}\sphinxhyphen{}cutoff}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-cutoff}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}cutoff}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Report only base pairs with an average probability larger than \sphinxcode{\sphinxupquote{cutoff}} in the dot plot.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0.01”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}}\index{\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}print\_onthefly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}print\_onthefly}}\index{\sphinxhyphen{}\sphinxhyphen{}print\_onthefly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}print\_onthefly}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-o}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-print_onthefly}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}o}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}print\_onthefly}}}
\pysigstopsignatures
\sphinxAtStartPar
Save memory by printing out everything during computation.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
NOTE: activated per default for sequences over 1M bp.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}O@\spxentry{\sphinxhyphen{}O}}\index{\sphinxhyphen{}O@\spxentry{\sphinxhyphen{}O}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}opening\_energies@\spxentry{\sphinxhyphen{}\sphinxhyphen{}opening\_energies}}\index{\sphinxhyphen{}\sphinxhyphen{}opening\_energies@\spxentry{\sphinxhyphen{}\sphinxhyphen{}opening\_energies}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-O}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-opening_energies}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}O}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}opening\_energies}}}
\pysigstopsignatures
\sphinxAtStartPar
Switch output from probabilities to their logarithms.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This is NOT exactly the mean energies needed to unfold the respective stretch
of bases! (implies {\hyperref[\detokenize{man/RNAplfold:cmdoption-u}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ulength}}}}} option).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}plex\_output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}plex\_output}}\index{\sphinxhyphen{}\sphinxhyphen{}plex\_output@\spxentry{\sphinxhyphen{}\sphinxhyphen{}plex\_output}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-plex_output}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}plex\_output}}}
\pysigstopsignatures
\sphinxAtStartPar
Create additional output files for RNAplex.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}}\index{\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}binaries@\spxentry{\sphinxhyphen{}\sphinxhyphen{}binaries}}\index{\sphinxhyphen{}\sphinxhyphen{}binaries@\spxentry{\sphinxhyphen{}\sphinxhyphen{}binaries}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-b}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-binaries}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}b}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}binaries}}}
\pysigstopsignatures
\sphinxAtStartPar
Output accessibility profiles in binary format. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The binary files produced by RNAplfold do not need to be parsed by RNAplex,

\sphinxAtStartPar
so that they are directly loaded into memory. This is useful when large
sequences have to be searched for putative hybridization sites. Another
advantage of the binary format is the 50\% file size decrease.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAplfold is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAplfold ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequences’ FASTA id will be prefixed with the
provided string. FASTA ids then take the form “\textgreater{}prefix\_xxxx” where xxxx is
the sequence number. Hence, the output files will obey the following naming
scheme: “prefix\_xxxx\_dp.ps” (dot\sphinxhyphen{}plot), “prefix\_xxxx\_lunp” (unpaired
probabilities), etc. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-filename-full}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}}
\pysigstopsignatures
\sphinxAtStartPar
Use full FASTA header to create filenames. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This parameter can be used to deactivate the default behavior of limiting
output filenames to the first word of the sequence ID. Consider the following
example: An input with FASTA header \sphinxcode{\sphinxupquote{\textgreater{}NM\_0001 Homo Sapiens some gene}} usually
produces output files with the prefix “NM\_0001” without the additional data
available in the FASTA header, e.g. “NM\_0001\_ss.ps” for secondary structure
plots. With this flag set, no truncation of the output filenames is done,
i.e. output filenames receive the full FASTA header data as prefixes. Note,
however, that invalid characters (such as whitespace) will be substituted by
a delimiting character or simply removed, (see also the parameter option
{\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAplfold.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAplfold:algorithms}}\begin{quote}

\sphinxAtStartPar
Select and change parameters of (additional) algorithms which should be
included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}W@\spxentry{\sphinxhyphen{}W}}\index{\sphinxhyphen{}W@\spxentry{\sphinxhyphen{}W}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}winsize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}winsize}}\index{\sphinxhyphen{}\sphinxhyphen{}winsize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}winsize}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-W}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-winsize}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}W}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}winsize}}\DUrole{p}{=}size}
\pysigstopsignatures
\sphinxAtStartPar
Average the pair probabilities over windows of given size.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”70”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}}\index{\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}span@\spxentry{\sphinxhyphen{}\sphinxhyphen{}span}}\index{\sphinxhyphen{}\sphinxhyphen{}span@\spxentry{\sphinxhyphen{}\sphinxhyphen{}span}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-L}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-span}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}L}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}span}}\DUrole{p}{=}size}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum allowed separation of a base pair to span.

\sphinxAtStartPar
By setting the maximum base pair span no pairs (i,j) with j\sphinxhyphen{}i \textgreater{} span will be
allowed. Defaults to winsize if parameter is omitted.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}u@\spxentry{\sphinxhyphen{}u}}\index{\sphinxhyphen{}u@\spxentry{\sphinxhyphen{}u}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ulength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ulength}}\index{\sphinxhyphen{}\sphinxhyphen{}ulength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ulength}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-u}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-ulength}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}u}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ulength}}\DUrole{p}{=}length}
\pysigstopsignatures
\sphinxAtStartPar
Compute the mean probability that regions of length 1 to a given length are unpaired.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”31”)}

\sphinxAtStartPar
Output is saved in a \sphinxcode{\sphinxupquote{\_lunp}} file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\index{\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the scaling of the Boltzmann factors. \sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The argument provided with this option is used to scale the thermodynamic
temperature in the Boltzmann factors independently from the temperature of
the individual loop energy contributions. The Boltzmann factors then become
\sphinxcode{\sphinxupquote{exp(\sphinxhyphen{} dG/(kT*betaScale))}} where \sphinxcode{\sphinxupquote{k}} is the Boltzmann constant, \sphinxcode{\sphinxupquote{dG}} the free
energy contribution of the state and \sphinxcode{\sphinxupquote{T}} the absolute temperature.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAplfold:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select SHAPE reactivity data incorporation strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following methods can be used to convert SHAPE reactivities into pseudo
energy contributions.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Convert by using the linear equation according to Deigan et al 2009.

\sphinxAtStartPar
Derived pseudo energy terms will be applied for every nucleotide involved in
a stacked pair. This method is recognized by a capital \sphinxcode{\sphinxupquote{D}} in the provided
parameter, i.e.: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting. The slope \sphinxcode{\sphinxupquote{m}}
and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a non\sphinxhyphen{}default value if necessary,
otherwise m=1.8 and b=\sphinxhyphen{}0.6. To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7,
use a parameter string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also
provide only one of the two parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Convert SHAPE reactivities to pseudo energies according to Zarringhalam

\sphinxAtStartPar
et al 2012. SHAPE reactivities will be converted to pairing probabilities by
using linear mapping. Aberration from the observed pairing probabilities will
be penalized during the folding recursion. The magnitude of the penalties can
affected by adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012. Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-shapeConversion}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select method for SHAPE reactivity conversion.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”O”)}

\sphinxAtStartPar
This parameter is useful when dealing with the SHAPE incorporation according
to Zarringhalam et al. The following methods can be used to convert SHAPE
reactivities into the probability for a certain nucleotide to be unpaired.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}: Use linear mapping according to Zarringhalam et al.
\sphinxcode{\sphinxupquote{C}}: Use a cutoff\sphinxhyphen{}approach to divide into paired and unpaired nucleotides
(e.g. “C0.25”)
\sphinxcode{\sphinxupquote{S}}: Skip the normalizing step since the input data already represents
probabilities for being unpaired rather than raw reactivity values
\sphinxcode{\sphinxupquote{L}}: Use a linear model to convert the reactivity into a probability for
being unpaired (e.g. “Ls0.68i0.2” to use a slope of 0.68 and an intercept
of 0.2)
\sphinxcode{\sphinxupquote{O}}: Use a linear model to convert the log of the reactivity into a
probability for being unpaired (e.g. “Os1.6i\sphinxhyphen{}2.29” to use a slope of 1.6
and an intercept of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.29)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}}\index{\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-commands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read additional commands from file

\sphinxAtStartPar
Commands include hard and soft constraints, but also structure motifs in
hairpin and internal loops that need to be treeted differently. Furthermore,
commands can be set for unstructured and structured domains.

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAplfold:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}}\index{\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}}\index{\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-m}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-modifications}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}m}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}modifications}}\DUrole{p}{{[}}=STRING\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Allow for modified bases within the RNA sequence string.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”7I6P9D”)}

\sphinxAtStartPar
Treat modified bases within the RNA sequence differently, i.e. use
corresponding energy corrections and/or pairing partner rules if available.
For that, the modified bases in the input sequence must be marked by their
corresponding one\sphinxhyphen{}letter code. If no additional arguments are supplied, all
available corrections are performed. Otherwise, the user may limit the
modifications to a particular subset of modifications, resp. one\sphinxhyphen{}letter
codes, e.g. \sphinxcode{\sphinxupquote{\sphinxhyphen{}mP6}} will only correct for pseudouridine and m6A bases.

\sphinxAtStartPar
Currently supported one\sphinxhyphen{}letter codes and energy corrections are:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{7}}: 7\sphinxhyphen{}deaza\sphinxhyphen{}adenonsine (7DA)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{I}}: Inosine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{6}}: N6\sphinxhyphen{}methyladenosine (m6A)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}}: Pseudouridine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{9}}: Purine (a.k.a. nebularine)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Dihydrouridine

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-mod-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Use additional modified base data from JSON file.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAplfold:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify “dangling end” model for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} dangling energies will be added for the bases adjacent to a helix on
both sides in any case while \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for
debugging).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplfold:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAplfold:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
S. H. Bernhart, U. Mueckstein, and I.L. Hofacker (2011),
“RNA Accessibility in cubic time”,
Algorithms Mol Biol. 6: 3.

\sphinxAtStartPar
S. H. Bernhart, I.L. Hofacker, and P.F. Stadler (2006),
“Local Base Pairing Probabilities in Large RNAs”,
Bioinformatics: 22, pp 614\sphinxhyphen{}615

\sphinxAtStartPar
A.F. Bompfuenewerer, R. Backofen, S.H. Bernhart, J. Hertel, I.L. Hofacker, P.F. Stadler, S. Will (2007),
“Variations on RNA Folding and Alignment: Lessons from Benasque”,
J. Math. Biol.

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAplfold:author}}
\sphinxAtStartPar
Stephan H Bernhart, Ivo L Hofacker, Peter F Stadler, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAplfold:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.


\subsection{SEE ALSO}
\label{\detokenize{man/RNAplfold:see-also}}
\sphinxAtStartPar
RNALfold(1)

\sphinxstepscope


\section{RNAplot}
\label{\detokenize{man/RNAplot:rnaplot}}\label{\detokenize{man/RNAplot::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAplot}} \sphinxhyphen{} manual page for RNAplot 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAplot:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAplot\PYG{+w}{ }\PYG{o}{[}OPTIONS\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input0\PYGZgt{}\PYG{o}{]}\PYG{+w}{ }\PYG{o}{[}\PYGZlt{}input1\PYGZgt{}\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAplot:description}}
\sphinxAtStartPar
RNAplot 2.7.2

\sphinxAtStartPar
Draw RNA Secondary Structures

\sphinxAtStartPar
The program reads (aligned) RNA sequences and structures in the format as
produced by RNAfold or Stockholm 1.0 and produces drawings of the secondary
structure graph.
Coordinates for the structure graphs are produced using either E. Bruccoleri’s
naview routines, or a simple radial layout method.
For aligned sequences and consensus structures ({\hyperref[\detokenize{man/RNAeval:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}msa}}}}} option) the graph may be
annotated by covariance information. Additionally, a color\sphinxhyphen{}annotated EPS
alignment figure can be produced, similar to that obtained by RNAalifold and
RNALalifold.
If the sequence was preceded by a FASTA header, or if the multiple sequence
alignment contains an ID field, these IDs will be taken as names for the output
file(s): “name\_ss.ps” and “name\_aln.ps”. Otherwise “rna.ps” and
“aln.ps” will be used. This behavior may be over\sphinxhyphen{}ruled by explicitly setting
a filename prefix using the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} option.
Existing files of the same name will be overwritten.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAplot:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}}\index{\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}}\index{\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-i}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-infile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}i}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}infile}}\DUrole{p}{=}\textless{}filename\textgreater{}}
\pysigstopsignatures
\sphinxAtStartPar
Read a file instead of reading from stdin.

\sphinxAtStartPar
The default behavior of RNAplot is to read input from stdin or the file(s)
that follow(s) the RNAplot command. Using this parameter the user can specify
input file names where data is read from. Note, that any additional files
supplied to RNAplot are still processed as well.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}}\index{\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}msa@\spxentry{\sphinxhyphen{}\sphinxhyphen{}msa}}\index{\sphinxhyphen{}\sphinxhyphen{}msa@\spxentry{\sphinxhyphen{}\sphinxhyphen{}msa}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-a}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-msa}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}a}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}msa}}}
\pysigstopsignatures
\sphinxAtStartPar
Input is multiple sequence alignment in Stockholm 1.0 format. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Using this flag indicates that the input is a multiple sequence alignment
(MSA) instead of (a) single sequence(s). Note, that only STOCKHOLM format
allows one to specify a consensus structure. Therefore, this is the only
supported MSA format for now!

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}}\index{\sphinxhyphen{}\sphinxhyphen{}mis@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mis}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-mis}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mis}}}
\pysigstopsignatures
\sphinxAtStartPar
Output “most informative sequence” instead of simple consensus \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For each column of the alignment output this is the set of nucleotides with
frequency greater than average in IUPAC notation.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}}\index{\sphinxhyphen{}\sphinxhyphen{}jobs@\spxentry{\sphinxhyphen{}\sphinxhyphen{}jobs}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-jobs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}jobs}}\DUrole{p}{{[}}=number\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Split batch input into jobs and start processing in parallel using multiple threads. \sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Default processing of input data is performed in a serial fashion, i.e. one
sequence at a time. Using this switch, a user can instead start the
computation for many sequences in the input in parallel. RNAplot will create
as many parallel computation slots as specified and assigns input sequences
of the input file(s) to the available slots. Note, that this increases memory
consumption since input alignments have to be kept in memory until an empty
compute slot is available and each running job requires its own dynamic
programming matrices. A value of 0 indicates to use as many parallel threads
as computation cores are available.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format}}\index{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-f}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-output-format}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}output\sphinxhyphen{}format}}\DUrole{p}{=}format}
\pysigstopsignatures
\sphinxAtStartPar
Specify output file format. (possible values=”eps”, “svg”, “gml”, “xrna”, “ssv” default=”eps”)

\sphinxAtStartPar
Available formats are: Encapsulated PostScript (\sphinxcode{\sphinxupquote{eps}}), Scalable Vector
Graphics (\sphinxcode{\sphinxupquote{svg}}), Graph Meta Language (\sphinxcode{\sphinxupquote{gml}}), and XRNA save file (\sphinxcode{\sphinxupquote{xrna}}).
Output filenames will end in “.eps” “.gml” “.svg” “.ss”,
respectively.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pre@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pre}}\index{\sphinxhyphen{}\sphinxhyphen{}pre@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pre}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-pre}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pre}}\DUrole{p}{=}string}
\pysigstopsignatures
\sphinxAtStartPar
Add annotation macros to postscript file, and add the postscript code in “string” just before the code to draw the structure. This is an easy way to add annotation.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}post@\spxentry{\sphinxhyphen{}\sphinxhyphen{}post}}\index{\sphinxhyphen{}\sphinxhyphen{}post@\spxentry{\sphinxhyphen{}\sphinxhyphen{}post}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-post}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}post}}\DUrole{p}{=}string}
\pysigstopsignatures
\sphinxAtStartPar
Same as {\hyperref[\detokenize{man/RNAplot:cmdoption-pre}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pre}}}}} but in contrast to adding the annotation macros. E.g to mark position 15 with circle use {\hyperref[\detokenize{man/RNAplot:cmdoption-post}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}post=}}}}}”15 cmark”.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAfold is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAfold ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequence will be prefixed with the provided
string. Hence, the output files will obey the following naming scheme:
“prefix\_xxxx\_ss.ps” (secondary structure plot), “prefix\_xxxx\_dp.ps”
(dot\sphinxhyphen{}plot), “prefix\_xxxx\_dp2.ps” (stack probabilities), etc. where xxxx is
the sequence number. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-filename-full}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}}
\pysigstopsignatures
\sphinxAtStartPar
Use full FASTA header to create filenames. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This parameter can be used to deactivate the default behavior of limiting
output filenames to the first word of the sequence ID. Consider the following
example: An input with FASTA header \sphinxcode{\sphinxupquote{\textgreater{}NM\_0001 Homo Sapiens some gene}} usually
produces output files with the prefix “NM\_0001” without the additional data
available in the FASTA header, e.g. “NM\_0001\_ss.ps” for secondary structure
plots. With this flag set, no truncation of the output filenames is done,
i.e. output filenames receive the full FASTA header data as prefixes. Note,
however, that invalid characters (such as whitespace) will be substituted by
a delimiting character or simply removed, (see also the parameter option
{\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAplot.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Plotting:}
\label{\detokenize{man/RNAplot:plotting}}\begin{quote}

\sphinxAtStartPar
Command line options for changing the default behavior of structure layout
and pairing probability plots
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}covar@\spxentry{\sphinxhyphen{}\sphinxhyphen{}covar}}\index{\sphinxhyphen{}\sphinxhyphen{}covar@\spxentry{\sphinxhyphen{}\sphinxhyphen{}covar}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-covar}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}covar}}}
\pysigstopsignatures
\sphinxAtStartPar
Annotate covariance of base pairs in consensus structure.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}threshold}}\index{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}threshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-covar-threshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}threshold}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the threshold of maximum counter examples for coloring consensus structure plot.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
Floating point numbers between 0 and 1 are treated as frequencies among all
sequencesin the alignment. All other will be truncated to integer and used as
absolute number of counter
examples.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}min\sphinxhyphen{}sat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}min\sphinxhyphen{}sat}}\index{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}min\sphinxhyphen{}sat@\spxentry{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}min\sphinxhyphen{}sat}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-covar-min-sat}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}covar\sphinxhyphen{}min\sphinxhyphen{}sat}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the minimum saturation for coloring consensus structure plot.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0.2”)}

\sphinxAtStartPar
Floating point number \textgreater{}= 0 and smaller than 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln}}\index{\sphinxhyphen{}\sphinxhyphen{}aln@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-aln}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce a colored and structure annotated alignment in PostScript format in the file “aln.ps” in the current directory.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}}\index{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols@\spxentry{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-aln-EPS-cols}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}aln\sphinxhyphen{}EPS\sphinxhyphen{}cols}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Number of columns in colored EPS alignment output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”60”)}

\sphinxAtStartPar
A value less than 1 indicates that the output should not be wrapped at all.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}}\index{\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type@\spxentry{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}}\index{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type@\spxentry{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-t}}\phantomsection\label{\detokenize{man/RNAplot:cmdoption-layout-type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}t}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}layout\sphinxhyphen{}type}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Choose the plotting layout algorithm. (possible values=”0”, “1”, “2”, “3”, “4” default=”1”)

\sphinxAtStartPar
Select the layout algorithm that computes the nucleotide coordinates.
Currently, the following algorithms are available:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{0}}: simple radial layout

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{1}}: Naview layout (Bruccoleri et al. 1988)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{2}}: circular layout

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{3}}: RNAturtle (Wiegreffe et al. 2018)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{4}}: RNApuzzler (Wiegreffe et al. 2018)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noOptimization@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noOptimization}}\index{\sphinxhyphen{}\sphinxhyphen{}noOptimization@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noOptimization}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-noOptimization}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noOptimization}}}
\pysigstopsignatures
\sphinxAtStartPar
Disable the drawing space optimization of RNApuzzler.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ignoreExteriorIntersections@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ignoreExteriorIntersections}}\index{\sphinxhyphen{}\sphinxhyphen{}ignoreExteriorIntersections@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ignoreExteriorIntersections}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-ignoreExteriorIntersections}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ignoreExteriorIntersections}}}
\pysigstopsignatures
\sphinxAtStartPar
Ignore intersections with the exterior loop

\sphinxAtStartPar
within the RNA\sphinxhyphen{}tree.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ignoreAncestorIntersections@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ignoreAncestorIntersections}}\index{\sphinxhyphen{}\sphinxhyphen{}ignoreAncestorIntersections@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ignoreAncestorIntersections}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-ignoreAncestorIntersections}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ignoreAncestorIntersections}}}
\pysigstopsignatures
\sphinxAtStartPar
Ignore ancestor intersections within the

\sphinxAtStartPar
RNA\sphinxhyphen{}tree.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ignoreSiblingIntersections@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ignoreSiblingIntersections}}\index{\sphinxhyphen{}\sphinxhyphen{}ignoreSiblingIntersections@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ignoreSiblingIntersections}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-ignoreSiblingIntersections}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ignoreSiblingIntersections}}}
\pysigstopsignatures
\sphinxAtStartPar
Ignore sibling intersections within the

\sphinxAtStartPar
RNA\sphinxhyphen{}tree.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}allowFlipping@\spxentry{\sphinxhyphen{}\sphinxhyphen{}allowFlipping}}\index{\sphinxhyphen{}\sphinxhyphen{}allowFlipping@\spxentry{\sphinxhyphen{}\sphinxhyphen{}allowFlipping}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAplot:cmdoption-allowFlipping}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}allowFlipping}}}
\pysigstopsignatures
\sphinxAtStartPar
Allow flipping of exterior loop branches to resolve exterior branch intersections.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAplot:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAplot:author}}
\sphinxAtStartPar
Ivo L Hofacker, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAplot:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNApvmin}
\label{\detokenize{man/RNApvmin:rnapvmin}}\label{\detokenize{man/RNApvmin::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNApvmin}} \sphinxhyphen{} manual page for RNApvmin 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNApvmin:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNApvmin\PYG{+w}{ }\PYG{o}{[}options\PYG{o}{]}\PYG{+w}{ }\PYGZlt{}file.shape\PYGZgt{}
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNApvmin:description}}
\sphinxAtStartPar
RNApvmin 2.7.2

\sphinxAtStartPar
Calculate a perturbation vector that minimizes discripancies between predicted
and observed pairing probabilities

\sphinxAtStartPar
The program reads a RNA sequence from stdin and uses an iterative minimization
process to calculate a perturbation vector that minimizes the discripancies
between predicted pairing probabilites and observed pairing probabilities
(deduced from given shape reactivities). Experimental data is read from a given
SHAPE file and normalized to pairing probabilities. The experimental data has
to be provided in a multiline plain text file where each line has the format
\sphinxcode{\sphinxupquote{{[}position{]} {[}nucleotide{]} {[}absolute shape reactivity{]}}} (e.g. \sphinxcode{\sphinxupquote{3 A 0.7}}). The
objective function used for the minimization may be weighted by choosing
appropriate values for sigma and tau.

\sphinxAtStartPar
The minimization progress will be written to stderr. Once the minimization has
terminated, the obtained perturbation vector is written to stdout.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-h}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-V}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-v}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNApvmin:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}numThreads@\spxentry{\sphinxhyphen{}\sphinxhyphen{}numThreads}}\index{\sphinxhyphen{}\sphinxhyphen{}numThreads@\spxentry{\sphinxhyphen{}\sphinxhyphen{}numThreads}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-j}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-numThreads}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}numThreads}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the number of threads used for calculations.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNApvmin.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNApvmin:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
The Minimum free energy (MFE) and a structure representative are calculated
in any case.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-shapeConversion}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Specify the method used to convert SHAPE reactivities to pairing probabilities.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”O”)}

\sphinxAtStartPar
The following methods can be used to convert SHAPE reactivities into the
probability for a certain nucleotide to be unpaired.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}: Use linear mapping according to Zarringhalam et al. 2012

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{C}}: Use a cutoff\sphinxhyphen{}approach to divide into paired and unpaired nucleotides
(e.g. “C0.25”)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{S}}: Skip the normalizing step since the input data already represents
probabilities for being unpaired rather than raw reactivity values

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{L}}: Use a linear model to convert the reactivity into a probability for
being unpaired (e.g. “Ls0.68i0.2” to use a slope of 0.68 and an intercept
of 0.2)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{O}}: Use a linear model to convert the log of the reactivity into a
probability for being unpaired (e.g. “Os1.6i\sphinxhyphen{}2.29” to use a slope of 1.6
and an intercept of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.29)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}tauSigmaRatio@\spxentry{\sphinxhyphen{}\sphinxhyphen{}tauSigmaRatio}}\index{\sphinxhyphen{}\sphinxhyphen{}tauSigmaRatio@\spxentry{\sphinxhyphen{}\sphinxhyphen{}tauSigmaRatio}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-tauSigmaRatio}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}tauSigmaRatio}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Ratio of the weighting factors tau and sigma. \sphinxstyleemphasis{(default=”1.0”)}

\sphinxAtStartPar
A high ratio will lead to a solution as close as possible to the experimental
data, while a low ratio will lead to results close to the thermodynamic
prediction without guiding pseudo energies.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}objectiveFunction@\spxentry{\sphinxhyphen{}\sphinxhyphen{}objectiveFunction}}\index{\sphinxhyphen{}\sphinxhyphen{}objectiveFunction@\spxentry{\sphinxhyphen{}\sphinxhyphen{}objectiveFunction}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-objectiveFunction}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}objectiveFunction}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
The energies of the perturbation vector and the discripancies between predicted and observed pairing probabilities contribute to the objective function. This parameter defines, which function is used to process the contributions before summing them up. 0 square 1 absolute.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sampleSize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sampleSize}}\index{\sphinxhyphen{}\sphinxhyphen{}sampleSize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sampleSize}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-sampleSize}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sampleSize}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
The iterative minimization process requires to evaluate the gradient of the objective function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1000”)}

\sphinxAtStartPar
A sample size of 0 leads to an analytical evaluation which scales as O(N\textasciicircum{}4).
Choosing a sample size \textgreater{}0 estimates the gradient by sampling the given number
of sequences from the ensemble, which is much faster.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}}\index{\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nonRedundant@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}}\index{\sphinxhyphen{}\sphinxhyphen{}nonRedundant@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-N}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-nonRedundant}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}N}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}}}
\pysigstopsignatures
\sphinxAtStartPar
Enable non\sphinxhyphen{}redundant sampling strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}intermediatePath@\spxentry{\sphinxhyphen{}\sphinxhyphen{}intermediatePath}}\index{\sphinxhyphen{}\sphinxhyphen{}intermediatePath@\spxentry{\sphinxhyphen{}\sphinxhyphen{}intermediatePath}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-intermediatePath}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}intermediatePath}}\DUrole{p}{=}STRING Write an output file for each iteration of the}
\pysigstopsignatures
\sphinxAtStartPar
minimization process.

\sphinxAtStartPar
Each file contains the used perturbation vector and the score of the
objective function. The number of the iteration will be appended to the given
path.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}initialVector@\spxentry{\sphinxhyphen{}\sphinxhyphen{}initialVector}}\index{\sphinxhyphen{}\sphinxhyphen{}initialVector@\spxentry{\sphinxhyphen{}\sphinxhyphen{}initialVector}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-initialVector}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}initialVector}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Specify the vector of initial pertubations. \sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Defines the initial perturbation vector which will be used as starting vector
for the minimization process. The value 0 results in a null vector. Every
other value x will be used to populate the initial vector with random numbers
from the interval {[}\sphinxhyphen{}x,x{]}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimizer@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimizer}}\index{\sphinxhyphen{}\sphinxhyphen{}minimizer@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimizer}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-minimizer}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimizer}}\DUrole{p}{=}ENUM}
\pysigstopsignatures
\sphinxAtStartPar
Set the minimizing algorithm used for finding an appropriate perturbation vector.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!(possible@\spxentry{(possible}}\index{(possible@\spxentry{(possible}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-arg-possible}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{(possible}}\DUrole{w}{ }values="conjugate\_fr",}
\pysigstopsignatures
\sphinxAtStartPar
“conjugate\_pr”, “vector\_bfgs”, “vector\_bfgs2”, “steepest\_descent”, “default” default=”default”)

\sphinxAtStartPar
The default option uses a custom implementation of the gradient descent
algorithms while all other options represent various algorithms implemented
in the GNU Scientific Library. When the GNU Scientific Library can not be
found, only the default minimizer is available.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}initialStepSize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}initialStepSize}}\index{\sphinxhyphen{}\sphinxhyphen{}initialStepSize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}initialStepSize}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-initialStepSize}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}initialStepSize}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
The initial stepsize for the minimizer methods.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0.01”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minStepSize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minStepSize}}\index{\sphinxhyphen{}\sphinxhyphen{}minStepSize@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minStepSize}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-minStepSize}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minStepSize}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
The minimal stepsize for the minizimer methods.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}15”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minImprovement@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minImprovement}}\index{\sphinxhyphen{}\sphinxhyphen{}minImprovement@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minImprovement}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-minImprovement}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minImprovement}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
The minimal improvement in the default minizimer method that has to be surpassed to considered a new result a better one.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}3”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimizerTolerance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimizerTolerance}}\index{\sphinxhyphen{}\sphinxhyphen{}minimizerTolerance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimizerTolerance}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-minimizerTolerance}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimizerTolerance}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
The tolerance to be used in the GSL minimizer

\sphinxAtStartPar
methods.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1e\sphinxhyphen{}3”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-S}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNApvmin:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum base pair span.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNApvmin:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-T}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-P}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-4}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNApvmin:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-d}}\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNApvmin:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNApvmin:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
S. Washietl, I.L. Hofacker, P.F. Stadler, M. Kellis (2012)
“RNA folding with soft constraints: reconciliation of probing data and thermodynamics secondary structure prediction”
Nucl Acids Res: 40(10), pp 4261\sphinxhyphen{}4272

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{EXAMPLES}
\label{\detokenize{man/RNApvmin:examples}}
\sphinxAtStartPar
RNApvmin acceptes a SHAPE file and a corresponding nucleotide sequence, which is read form stdin.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{RNApvmin} \PYG{n}{sequence}\PYG{o}{.}\PYG{n}{shape} \PYG{o}{\PYGZlt{}} \PYG{n}{sequence}\PYG{o}{.}\PYG{n}{fasta} \PYG{o}{\PYGZgt{}} \PYG{n}{sequence}\PYG{o}{.}\PYG{n}{pv}
\end{sphinxVerbatim}

\sphinxAtStartPar
The normalized SHAPE reactivity data has to be stored in a text file, where each line contains the position
and the reactivity for a certain nucleotide ({[}position{]} {[}nucleotide{]} {[}SHAPE reactivity{]}).

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{l+m+mi}{1} \PYG{n}{A} \PYG{l+m+mf}{1.286}
\PYG{l+m+mi}{2} \PYG{n}{U} \PYG{l+m+mf}{0.383}
\PYG{l+m+mi}{3} \PYG{n}{C} \PYG{l+m+mf}{0.033}
\PYG{l+m+mi}{4} \PYG{n}{C} \PYG{l+m+mf}{0.017}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\PYG{l+m+mi}{98} \PYG{n}{U} \PYG{l+m+mf}{0.234}
\PYG{l+m+mi}{99} \PYG{n}{G} \PYG{l+m+mf}{0.885}
\end{sphinxVerbatim}

\sphinxAtStartPar
The nucleotide information in the SHAPE file is optional and will be used to cross check the given input sequence if present.
If SHAPE reactivities could not be determined for every nucleotide, missing values can simply be omited.

\sphinxAtStartPar
The progress of the minimization will be printed to stderr. Once a solution was found, the calculated perturbation vector
will be print to stdout and can then further be used to constrain RNAfold’s MFE/partition function calculation by applying
the perturbation energies as soft constraints.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{RNAfold} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{shape}\PYG{o}{=}\PYG{n}{sequence}\PYG{o}{.}\PYG{n}{pv} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{shapeMethod}\PYG{o}{=}\PYG{n}{W} \PYG{o}{\PYGZlt{}} \PYG{n}{sequence}\PYG{o}{.}\PYG{n}{fasta}
\end{sphinxVerbatim}


\subsection{AUTHOR}
\label{\detokenize{man/RNApvmin:author}}
\sphinxAtStartPar
Dominik Luntzer, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNApvmin:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAsnoop}
\label{\detokenize{man/RNAsnoop:rnasnoop}}\label{\detokenize{man/RNAsnoop::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAsnoop}} \sphinxhyphen{} manual page for RNAsnoop 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAsnoop:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAsnoop\PYG{+w}{ }\PYG{o}{[}options\PYG{o}{]}
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAsnoop:description}}
\sphinxAtStartPar
RNAsnoop 2.7.2

\sphinxAtStartPar
Find targets of a query H/ACA snoRNA

\sphinxAtStartPar
reads a target RNA sequence and a H/ACA snoRNA sequence
from a target and query file, respectively and computes optimal
and suboptimal secondary structures for their hybridization. The
calculation can be done roughly in O(nm), where is n the length
of the target sequence and m is the length of the snoRNA stem, as it
is specially tailored to the special case of H/ACA snoRNA. For general
purpose target predictions, please have a look at RNAduplex, RNAup,
RNAcofold and RNAplex. Accessibility effects can be estimated by
RNAsnoop if a RNAplfold accessibility profile is provided.

\sphinxAtStartPar
The computed optimal and suboptimal structure are written to
stdout, one structure per line. Each line consist
of: The structure in dot bracket format with a \sphinxcode{\sphinxupquote{\&}} separating the
two strands. The \sphinxcode{\sphinxupquote{\textless{}\textgreater{}}} brackets represent snoRNA intramolecular
interactions, while the \sphinxcode{\sphinxupquote{()}} brackets represent intermolecular
interactions between the snoRNA and its target.

\sphinxAtStartPar
The range of the structure in the two sequences in the format
“from,to : from,to”; the energy of duplex structure in
kcal/mol. If available the opening energy are also returned.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAsnoop:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}}\index{\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}query@\spxentry{\sphinxhyphen{}\sphinxhyphen{}query}}\index{\sphinxhyphen{}\sphinxhyphen{}query@\spxentry{\sphinxhyphen{}\sphinxhyphen{}query}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-s}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-query}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}s}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}query}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
File containing the query sequence.

\sphinxAtStartPar
Input sequences can be given piped to RNAsnoop or given in a query file with
the {\hyperref[\detokenize{man/RNAPKplex:cmdoption-s}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}s}}}}} option. Note that the {\hyperref[\detokenize{man/RNAPKplex:cmdoption-s}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}s}}}}} option implies that the {\hyperref[\detokenize{man/RNAalifold:cmdoption-t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}t}}}}} option is also
used.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}}\index{\sphinxhyphen{}t@\spxentry{\sphinxhyphen{}t}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}target@\spxentry{\sphinxhyphen{}\sphinxhyphen{}target}}\index{\sphinxhyphen{}\sphinxhyphen{}target@\spxentry{\sphinxhyphen{}\sphinxhyphen{}target}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-t}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-target}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}t}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}target}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
File containing the target sequence.

\sphinxAtStartPar
Input sequences can be given piped to RNAsnoop or given in a target file with
the {\hyperref[\detokenize{man/RNAalifold:cmdoption-t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}t}}}}} optionNote that the {\hyperref[\detokenize{man/RNAalifold:cmdoption-t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}t}}}}} option implies that the {\hyperref[\detokenize{man/RNAPKplex:cmdoption-s}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}s}}}}} option is also used.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}suffix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}suffix}}\index{\sphinxhyphen{}\sphinxhyphen{}suffix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}suffix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-suffix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}suffix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Specificy the suffix that was added by RNAup to the accessibility files.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_u1\_to\_30.out”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAplfold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAplfold}}\index{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAplfold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAplfold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-from-RNAplfold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAplfold}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Specify the directory where accessibility profile generated by RNAplfold are found.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}U@\spxentry{\sphinxhyphen{}U}}\index{\sphinxhyphen{}U@\spxentry{\sphinxhyphen{}U}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAup@\spxentry{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAup}}\index{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAup@\spxentry{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAup}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-U}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-from-RNAup}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}U}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}from\sphinxhyphen{}RNAup}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Specify the directory where accessibility profiles generated by RNAup are found.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}O@\spxentry{\sphinxhyphen{}O}}\index{\sphinxhyphen{}O@\spxentry{\sphinxhyphen{}O}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}output\_directory@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output\_directory}}\index{\sphinxhyphen{}\sphinxhyphen{}output\_directory@\spxentry{\sphinxhyphen{}\sphinxhyphen{}output\_directory}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-O}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-output_directory}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}O}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}output\_directory}}\DUrole{p}{=}STRING Set where the generated figures should be}
\pysigstopsignatures
\sphinxAtStartPar
stored.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”./”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAsnoop.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAsnoop:algorithms}}\begin{quote}

\sphinxAtStartPar
Options which alter the computing behaviour of RNAplex. Please note that the
options allowing to filter out snoRNA\sphinxhyphen{}RNA duplexes expect the energy to be
given in decacal/mol instead of kcal/mol. A threshold of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.8(kcal/mol)
should be given as :option:{\color{red}\bfseries{}\textasciigrave{}}\sphinxhyphen{}280\textasciigrave{}(decacal/mol).
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}A@\spxentry{\sphinxhyphen{}A}}\index{\sphinxhyphen{}A@\spxentry{\sphinxhyphen{}A}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode}}\index{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-A}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-alignment-mode}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}A}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}alignment\sphinxhyphen{}mode}}}
\pysigstopsignatures
\sphinxAtStartPar
Specify if RNAsnoop gets alignments or single sequences as input.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}}\index{\sphinxhyphen{}f@\spxentry{\sphinxhyphen{}f}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding@\spxentry{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding}}\index{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding@\spxentry{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-f}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-fast-folding}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}f}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}fast\sphinxhyphen{}folding}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Speedup of the target search. \sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
This option allows one to decide if the backtracking has to be
done ({\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} 1) or not ({\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} 0). For {\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}} 1 the structure is computed based
on the standard energy model. This is the slowest mode of RNAsnoop. {\hyperref[\detokenize{man/RNALalifold:cmdoption-f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}}}}
0 is the fastest mode, as no structure are recomputed and only the
interaction energy is returned.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost}}\index{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-extension-cost}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}extension\sphinxhyphen{}cost}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Cost to add to each nucleotide in a duplex. \sphinxstyleemphasis{(default=”0”)}

\sphinxAtStartPar
Cost of extending a duplex by one nucleotide. Allows one to find
compact duplexes, having few/small bulges or internal loops. Only
useful when no accessibility profiles are available. This option is
disabled if accessibility profiles are used ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} option).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}}\index{\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold}}\index{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-e}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-energy-threshold}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}e}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energy\sphinxhyphen{}threshold}}\DUrole{p}{=}DOUBLE Maximal energy difference between the mfe and}
\pysigstopsignatures
\sphinxAtStartPar
the desired suboptimal.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\sphinxAtStartPar
Energy range for a duplex to be returned. The threshold is set on the total
energy of interaction, i.e. the hybridizationenergy corrected for opening
energy if {\hyperref[\detokenize{man/RNAcofold:cmdoption-a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}a}}}}} is set or the energy corrected by {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-c}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}c}}}}}. If unset, only the mfe
will be returned.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}}\index{\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}right\sphinxhyphen{}duplex@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}right\sphinxhyphen{}duplex}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}right\sphinxhyphen{}duplex@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}right\sphinxhyphen{}duplex}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-o}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-right-duplex}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}o}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}right\sphinxhyphen{}duplex}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal Right Duplex Energy

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}270”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}l@\spxentry{\sphinxhyphen{}l}}\index{\sphinxhyphen{}l@\spxentry{\sphinxhyphen{}l}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}loop\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}loop\sphinxhyphen{}energy}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}loop\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}loop\sphinxhyphen{}energy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-l}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-loop-energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}l}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}loop\sphinxhyphen{}energy}}\DUrole{p}{=}INT Minimal Right Duplex Energy.}
\pysigstopsignatures
\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}280”)}

\sphinxAtStartPar
Minimal Stem Loop Energy of the snoRNA. The energy should be
given in decacalories, i.e. a minimal stem\sphinxhyphen{}loop energy of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.8
kcal/mol corresponds to \sphinxcode{\sphinxupquote{\sphinxhyphen{}280}} decacal/mol.

\end{fulllineitems}


\sphinxAtStartPar
.HP
{\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}, :option:{\color{red}\bfseries{}\textasciigrave{}}\textendash{}minimal\sphinxhyphen{}left\sphinxhyphen{}duplex\textasciigrave{}=*INT* Minimal Left Duplex Energy.
\begin{quote}

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}170”)}
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}}\index{\sphinxhyphen{}q@\spxentry{\sphinxhyphen{}q}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-q}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-duplex}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}q}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal Duplex Energy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1090”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance}}\index{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance@\spxentry{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-duplex-distance}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}duplex\sphinxhyphen{}distance}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Distance between target 3’ ends of two consecutive duplexes.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
Distance between the target 3’ends of two consecutive
duplexes. Should be set to the maximal length of interaction to get
good results. Smaller d leads to larger overlaps between consecutive
duplexes.

\end{fulllineitems}


\sphinxAtStartPar
.HP
{\hyperref[\detokenize{man/RNA2Dfold:cmdoption-h}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}h}}}}}, :option:{\color{red}\bfseries{}\textasciigrave{}}\textendash{}minimal\sphinxhyphen{}stem\sphinxhyphen{}length\textasciigrave{}=*INT* Minimal snoRNA stem length.
\begin{quote}

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”5”)}
\end{quote}

\sphinxAtStartPar
.HP
{\hyperref[\detokenize{man/RNALfold:cmdoption-i}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}i}}}}}, :option:{\color{red}\bfseries{}\textasciigrave{}}\textendash{}maximal\sphinxhyphen{}stem\sphinxhyphen{}length\textasciigrave{}=*INT* Maximal snoRNA stem length.
\begin{quote}

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”120”)}
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}}\index{\sphinxhyphen{}j@\spxentry{\sphinxhyphen{}j}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-j}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-duplex-box-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}j}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal distance between the duplex end and the

\sphinxAtStartPar
H/ACA box.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”11”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}k@\spxentry{\sphinxhyphen{}k}}\index{\sphinxhyphen{}k@\spxentry{\sphinxhyphen{}k}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-k}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-maximal-duplex-box-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}k}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}duplex\sphinxhyphen{}box\sphinxhyphen{}length}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Maximal distance between the duplex end and the

\sphinxAtStartPar
H/ACA box.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”16”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}}\index{\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-m}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-snoRNA-stem-loop-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}m}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal number of nucleotides between the

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!beginning@\spxentry{beginning}}\index{beginning@\spxentry{beginning}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-arg-beginning}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{beginning}}\DUrole{w}{ }of stem loop and}
\pysigstopsignatures
\sphinxAtStartPar
beginning of the snoRNA sequence.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}n@\spxentry{\sphinxhyphen{}n}}\index{\sphinxhyphen{}n@\spxentry{\sphinxhyphen{}n}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-n}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-maximal-snoRNA-stem-loop-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}n}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}stem\sphinxhyphen{}loop\sphinxhyphen{}length}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Maximal number of nucleotides between the

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!beginning@\spxentry{beginning}}\index{beginning@\spxentry{beginning}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-arg-0}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{beginning}}\DUrole{w}{ }of stem loop and}
\pysigstopsignatures
\sphinxAtStartPar
beginning of the snoRNA sequence.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”100000”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-snoRNA-duplex-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal distance between duplex start and

\sphinxAtStartPar
snoRNA.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}w@\spxentry{\sphinxhyphen{}w}}\index{\sphinxhyphen{}w@\spxentry{\sphinxhyphen{}w}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-w}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-maximal-snoRNA-duplex-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}w}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}snoRNA\sphinxhyphen{}duplex\sphinxhyphen{}length}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Maximal distance between duplex start and

\sphinxAtStartPar
snoRNA.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}x@\spxentry{\sphinxhyphen{}x}}\index{\sphinxhyphen{}x@\spxentry{\sphinxhyphen{}x}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}stem\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}stem\sphinxhyphen{}energy}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}stem\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}stem\sphinxhyphen{}energy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-x}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-duplex-stem-energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}x}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}duplex\sphinxhyphen{}stem\sphinxhyphen{}energy}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal duplex stem energy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1370”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}y@\spxentry{\sphinxhyphen{}y}}\index{\sphinxhyphen{}y@\spxentry{\sphinxhyphen{}y}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}total\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}total\sphinxhyphen{}energy}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}total\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}total\sphinxhyphen{}energy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-y}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-total-energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}y}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}total\sphinxhyphen{}energy}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal total energy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”100000”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}}\index{\sphinxhyphen{}a@\spxentry{\sphinxhyphen{}a}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}stem\sphinxhyphen{}asymmetry@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}stem\sphinxhyphen{}asymmetry}}\index{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}stem\sphinxhyphen{}asymmetry@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}stem\sphinxhyphen{}asymmetry}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-a}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-maximal-stem-asymmetry}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}a}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maximal\sphinxhyphen{}stem\sphinxhyphen{}asymmetry}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Maximal snoRNA stem asymmetry.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”30”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}}\index{\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}lower\sphinxhyphen{}stem\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}lower\sphinxhyphen{}stem\sphinxhyphen{}energy}}\index{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}lower\sphinxhyphen{}stem\sphinxhyphen{}energy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}lower\sphinxhyphen{}stem\sphinxhyphen{}energy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-b}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-minimal-lower-stem-energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}b}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}minimal\sphinxhyphen{}lower\sphinxhyphen{}stem\sphinxhyphen{}energy}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Minimal lower stem energy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”100000”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}}\index{\sphinxhyphen{}L@\spxentry{\sphinxhyphen{}L}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}alignmentLength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alignmentLength}}\index{\sphinxhyphen{}\sphinxhyphen{}alignmentLength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}alignmentLength}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-L}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-alignmentLength}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}L}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}alignmentLength}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Limit the extent of the interactions to L nucleotides.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”25”)}

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAsnoop:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}}\index{\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}}\index{\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-C}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-constraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}C}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the stem structure subject to constraints.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The program reads first the stem sequence, then a string containing
constraints on the structure encoded with the symbols:

\sphinxAtStartPar
. (no constraint for this base)

\begin{DUlineblock}{0em}
\item[] (the corresponding base has to be paired
\end{DUlineblock}

\sphinxAtStartPar
x (the base is unpaired)

\sphinxAtStartPar
\textless{} (base i is paired with a base j\textgreater{}i)

\sphinxAtStartPar
\textgreater{} (base i is paired with a base j\textless{}i)

\sphinxAtStartPar
and matching brackets ( ) (base i pairs base j)

\sphinxAtStartPar
With the exception of “|”, constraints will disallow all pairs conflicting
with the constraint. This is usually sufficient to enforce the constraint,
but occasionally a base may stay unpaired in spite of constraints. PF folding
ignores constraints of type “|”.

\end{fulllineitems}



\subsubsection{Plotting:}
\label{\detokenize{man/RNAsnoop:plotting}}\begin{quote}

\sphinxAtStartPar
Command line options for changing the default behavior of structure layout
and pairing probability plots.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}I@\spxentry{\sphinxhyphen{}I}}\index{\sphinxhyphen{}I@\spxentry{\sphinxhyphen{}I}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps}}\index{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps@\spxentry{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-I}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-produce-ps}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}I}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}produce\sphinxhyphen{}ps}}}
\pysigstopsignatures
\sphinxAtStartPar
Draw annotated 2D structures for a list of dot\sphinxhyphen{}bracket structures.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This option allows one to produce interaction figures in PS\sphinxhyphen{}format with
conservation/accessibility annotation, if available.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}}\index{\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}direct\sphinxhyphen{}redraw@\spxentry{\sphinxhyphen{}\sphinxhyphen{}direct\sphinxhyphen{}redraw}}\index{\sphinxhyphen{}\sphinxhyphen{}direct\sphinxhyphen{}redraw@\spxentry{\sphinxhyphen{}\sphinxhyphen{}direct\sphinxhyphen{}redraw}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-N}}\phantomsection\label{\detokenize{man/RNAsnoop:cmdoption-direct-redraw}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}N}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}direct\sphinxhyphen{}redraw}}}
\pysigstopsignatures
\sphinxAtStartPar
Outputs 2D interactions concurrently with the interaction calculation for each suboptimal interaction. The {\hyperref[\detokenize{man/RNAplex:cmdoption-I}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}I}}}}} option should be preferred.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAsnoop:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
The calculation of duplex structure is based on dynamic programming algorithm originally
developed by Rehmsmeier and in parallel by Hofacker.

\sphinxAtStartPar
H. Tafer, S. Kehr, J. Hertel, I.L. Hofacker, P.F. Stadler (2009),
“RNAsnoop: efficient target prediction for H/ACA snoRNAs.”,
Bioinformatics: 26(5), pp 610\sphinxhyphen{}616

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAsnoop:author}}
\sphinxAtStartPar
Hakim Tafer, Ivo L. Hofacker


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAsnoop:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAsubopt}
\label{\detokenize{man/RNAsubopt:rnasubopt}}\label{\detokenize{man/RNAsubopt::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAsubopt}} \sphinxhyphen{} manual page for RNAsubopt 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAsubopt:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAsubopt\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAsubopt:description}}
\sphinxAtStartPar
RNAsubopt 2.7.2

\sphinxAtStartPar
calculate suboptimal secondary structures of RNAs

\sphinxAtStartPar
Reads RNA sequences from stdin and (in the default {\hyperref[\detokenize{man/RNAPKplex:cmdoption-e}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}e}}}}} mode) calculates all
suboptimal secondary structures within a user defined energy range above the
minimum free energy (mfe). It prints the suboptimal structures in dot\sphinxhyphen{}bracket
notation followed by the energy in kcal/mol to stdout. Be careful, the number
of structures returned grows exponentially with both sequence length and energy
range.

\sphinxAtStartPar
Alternatively, when used with the {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} option, RNAsubopt produces Boltzmann
weighted samples of secondary structures.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAsubopt:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}}\index{\sphinxhyphen{}i@\spxentry{\sphinxhyphen{}i}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}}\index{\sphinxhyphen{}\sphinxhyphen{}infile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}infile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-i}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-infile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}i}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}infile}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read a file instead of reading from stdin.

\sphinxAtStartPar
The default behavior of RNAsubopt is to read input from stdin. Using this
parameter the user can specify an input file name where data is read from.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}}\index{\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}outfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}outfile}}\index{\sphinxhyphen{}\sphinxhyphen{}outfile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}outfile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-o}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-outfile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}o}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}outfile}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print output to file instead of stdout.

\sphinxAtStartPar
This option may be used to write all output to output files rather than
printing to stdout. The default filename is “RNAsubopt\_output.sub” if no
FASTA header precedes the input sequences and the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} feature is
inactive. Otherwise, output files with the scheme “prefix.sub” are
generated, where the “prefix” is taken from the sequence id. The user may
specify a single output file name for all data generated from the input by
supplying an optional string as argument to this parameter. In case a file
with the same filename already exists, any output of the program will be
appended to it. Note: Any special characters in the filename will be replaced
by the filename delimiter, hence there is no way to pass an entire directory
path through this option yet. (See also the “\textendash{}filename\sphinxhyphen{}delim” parameter)

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}\index{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id@\spxentry{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-auto-id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}
\pysigstopsignatures
\sphinxAtStartPar
Automatically generate an ID for each sequence. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The default mode of RNAsubopt is to automatically determine an ID from the
input sequence data if the input file format allows to do that. Sequence IDs
are usually given in the FASTA header of input sequences. If this flag is
active, RNAsubopt ignores any IDs retrieved from the input and automatically
generates an ID for each sequence. This ID consists of a prefix and an
increasing number. This flag can also be used to add a FASTA header to the
output even if the input has none.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-id-prefix}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}prefix}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Prefix for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”sequence”)}

\sphinxAtStartPar
If this parameter is set, each sequences’ FASTA id will be prefixed with the
provided string. FASTA ids then take the form “\textgreater{}prefix\_xxxx” where xxxx is
the sequence number. Note: Setting this parameter implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-id-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\_”)}

\sphinxAtStartPar
This parameter can be used to change the default delimiter “\_” between the
prefix string and the increasing number for automatically generated ID.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-id-digits}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}digits}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify the number of digits of the counter in automatically generated alignment IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
When alignments IDs are automatically generated, they receive an increasing
number, starting with 1. This number will always be left\sphinxhyphen{}padded by leading
zeros, such that the number takes up a certain width. Using this parameter,
the width can be specified to the users need. We allow numbers in the range
{[}1:18{]}. This option implies {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\index{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start@\spxentry{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-id-start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}start}}\DUrole{p}{=}LONG}
\pysigstopsignatures
\sphinxAtStartPar
Specify the first number in automatically generated IDs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1”)}

\sphinxAtStartPar
When sequence IDs are automatically generated, they receive an increasing
number, usually starting with 1. Using this parameter, the first number can
be specified to the users requirements. Note: negative numbers are not
allowed.
Note: Setting this parameter implies to ignore any IDs retrieved from the
input data, i.e. it activates the {\hyperref[\detokenize{man/RNALalifold:cmdoption-auto-id}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}auto\sphinxhyphen{}id}}}}} flag.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-filename-delim}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}\DUrole{p}{=}CHAR}
\pysigstopsignatures
\sphinxAtStartPar
Change the delimiting character used in sanitized filenames.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”ID\sphinxhyphen{}delimiter”)}

\sphinxAtStartPar
This parameter can be used to change the delimiting character used while
sanitizing filenames, i.e. replacing invalid characters. Note, that the
default delimiter ALWAYS is the first character of the “ID delimiter” as
supplied through the {\hyperref[\detokenize{man/RNALalifold:cmdoption-id-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}id\sphinxhyphen{}delim}}}}} option. If the delimiter is a whitespace
character or empty, invalid characters will be simply removed rather than
substituted. Currently, we regard the following characters as illegal for use
in filenames: backslash \sphinxcode{\sphinxupquote{\textbackslash{}}}, slash \sphinxcode{\sphinxupquote{/}}, question mark \sphinxcode{\sphinxupquote{?}}, percent sign \sphinxcode{\sphinxupquote{\%}},
asterisk \sphinxcode{\sphinxupquote{*}}, colon \sphinxcode{\sphinxupquote{:}}, pipe symbol \sphinxcode{\sphinxupquote{|}}, double quote \sphinxcode{\sphinxupquote{"}}, triangular
brackets \sphinxcode{\sphinxupquote{\textless{}}} and \sphinxcode{\sphinxupquote{\textgreater{}}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}\index{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full@\spxentry{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-filename-full}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}full}}}
\pysigstopsignatures
\sphinxAtStartPar
Use full FASTA header to create filenames. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This parameter can be used to deactivate the default behavior of limiting
output filenames to the first word of the sequence ID. Consider the following
example: An input with FASTA header \sphinxcode{\sphinxupquote{\textgreater{}NM\_0001 Homo Sapiens some gene}} usually
produces output files with the prefix “NM\_0001” without the additional data
available in the FASTA header, e.g. “NM\_0001.sub”. With this flag set, no
truncation of the output filenames is performed, i.e. output filenames
receive the full FASTA header data as prefixes. Note, however, that invalid
characters (such as whitespace) will be substituted by a delimiting character
or simply removed, (see also the parameter option {\hyperref[\detokenize{man/RNALalifold:cmdoption-filename-delim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}filename\sphinxhyphen{}delim}}}}}).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAsubopt.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAsubopt:algorithms}}\begin{quote}

\sphinxAtStartPar
Select the algorithms which should be applied to the given RNA sequence(s).
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}}\index{\sphinxhyphen{}e@\spxentry{\sphinxhyphen{}e}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}deltaEnergy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}}\index{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-e}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-deltaEnergy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}e}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}deltaEnergy}}\DUrole{p}{=}range}
\pysigstopsignatures
\sphinxAtStartPar
Compute suboptimal structures with energy in a certain range of the optimum (kcal/mol).

\sphinxAtStartPar
Default is calculation of mfe structure only.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}deltaEnergyPost@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergyPost}}\index{\sphinxhyphen{}\sphinxhyphen{}deltaEnergyPost@\spxentry{\sphinxhyphen{}\sphinxhyphen{}deltaEnergyPost}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-deltaEnergyPost}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}deltaEnergyPost}}\DUrole{p}{=}range}
\pysigstopsignatures
\sphinxAtStartPar
Only print structures with energy within range of the mfe after post reevaluation of energies.

\sphinxAtStartPar
Useful in conjunction with \sphinxcode{\sphinxupquote{\sphinxhyphen{}logML}}, \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} or \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}}: while the {\hyperref[\detokenize{man/RNAPKplex:cmdoption-e}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}e}}}}} option specifies
the range before energies are re\sphinxhyphen{}evaluated, this option specifies the maximum
energy after re\sphinxhyphen{}evaluation.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}}\index{\sphinxhyphen{}s@\spxentry{\sphinxhyphen{}s}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sorted@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sorted}}\index{\sphinxhyphen{}\sphinxhyphen{}sorted@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sorted}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-s}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-sorted}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}s}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sorted}}}
\pysigstopsignatures
\sphinxAtStartPar
Sort the suboptimal structures by energy and lexicographical order.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Structures are first sorted by energy in ascending order. Within groups of
the same energy, structures are then sorted in ascending in lexicographical
order of their dot\sphinxhyphen{}bracket notation. See the {\hyperref[\detokenize{man/RNAsubopt:cmdoption-en-only}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}en\sphinxhyphen{}only}}}}} flag to deactivate
this second step. Note that sorting is done in memory, thus it can easily
lead to exhaution of RAM! This is especially true if the number of structures
produced becomes large or the RNA sequence is rather long. In such cases
better use an external sort method, such as UNIX “sort”.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}en\sphinxhyphen{}only@\spxentry{\sphinxhyphen{}\sphinxhyphen{}en\sphinxhyphen{}only}}\index{\sphinxhyphen{}\sphinxhyphen{}en\sphinxhyphen{}only@\spxentry{\sphinxhyphen{}\sphinxhyphen{}en\sphinxhyphen{}only}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-en-only}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}en\sphinxhyphen{}only}}}
\pysigstopsignatures
\sphinxAtStartPar
Only sort structures by free energy. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
In combination with {\hyperref[\detokenize{man/RNAaliduplex:cmdoption-s}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sorted}}}}}, this flag deactivates the second sorting
criteria and sorts structures solely by their free energy instead of
additionally sorting by lexicographic order in each energy band. This might
save some time during the sorting process in situations where lexicographic
order is not required.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}}\index{\sphinxhyphen{}p@\spxentry{\sphinxhyphen{}p}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}stochBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT}}\index{\sphinxhyphen{}\sphinxhyphen{}stochBT@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-p}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-stochBT}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}p}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}stochBT}}\DUrole{p}{=}number}
\pysigstopsignatures
\sphinxAtStartPar
Randomly draw structures according to their probability in the Boltzmann ensemble.

\sphinxAtStartPar
Instead of producing all suboptimals in an energy range, produce a random
sample of suboptimal structures, drawn with probabilities equal to their
Boltzmann weights via stochastic backtracking in the partition function. The
{\hyperref[\detokenize{man/RNAPKplex:cmdoption-e}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}e}}}}} and {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}} options are mutually exclusive.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}stochBT\_en@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en}}\index{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en@\spxentry{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-stochBT_en}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}stochBT\_en}}\DUrole{p}{=}number}
\pysigstopsignatures
\sphinxAtStartPar
Same as “\textendash{}stochBT” but also print free energies and probabilities of the backtraced structures.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed@\spxentry{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed}}\index{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed@\spxentry{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-random-seed}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the seed for the random number generator

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\index{\sphinxhyphen{}\sphinxhyphen{}betaScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}betaScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set the scaling of the Boltzmann factors. \sphinxstyleemphasis{(default=”1.”)}

\sphinxAtStartPar
The argument provided with this option is used to scale the thermodynamic
temperature in the Boltzmann factors independently from the temperature of
the individual loop energy contributions. The Boltzmann factors then become
\sphinxcode{\sphinxupquote{exp(\sphinxhyphen{} dG/(kT*betaScale))}} where \sphinxcode{\sphinxupquote{k}} is the Boltzmann constant, \sphinxcode{\sphinxupquote{dG}} the free
energy contribution of the state and \sphinxcode{\sphinxupquote{T}} the absolute temperature.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}}\index{\sphinxhyphen{}N@\spxentry{\sphinxhyphen{}N}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nonRedundant@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}}\index{\sphinxhyphen{}\sphinxhyphen{}nonRedundant@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-N}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-nonRedundant}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}N}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nonRedundant}}}
\pysigstopsignatures
\sphinxAtStartPar
Enable non\sphinxhyphen{}redundant sampling strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}}\index{\sphinxhyphen{}\sphinxhyphen{}circ@\spxentry{\sphinxhyphen{}\sphinxhyphen{}circ}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-circ}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}circ}}}
\pysigstopsignatures
\sphinxAtStartPar
Assume a circular (instead of linear) RNA molecule.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}D@\spxentry{\sphinxhyphen{}D}}\index{\sphinxhyphen{}D@\spxentry{\sphinxhyphen{}D}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dos@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dos}}\index{\sphinxhyphen{}\sphinxhyphen{}dos@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dos}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-D}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-dos}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}D}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dos}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute density of states instead of secondary structures.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This option enables the evaluation of the number of secondary structures in
certain energy bands around the MFE.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}z@\spxentry{\sphinxhyphen{}z}}\index{\sphinxhyphen{}z@\spxentry{\sphinxhyphen{}z}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}zuker@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zuker}}\index{\sphinxhyphen{}\sphinxhyphen{}zuker@\spxentry{\sphinxhyphen{}\sphinxhyphen{}zuker}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-z}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-zuker}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}z}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}zuker}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute Zuker suboptimals instead of all suboptimal structures within an energy band around the MFE.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}}\index{\sphinxhyphen{}g@\spxentry{\sphinxhyphen{}g}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}}\index{\sphinxhyphen{}\sphinxhyphen{}gquad@\spxentry{\sphinxhyphen{}\sphinxhyphen{}gquad}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-g}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}g}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Incoorporate G\sphinxhyphen{}Quadruplex formation. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
No support of G\sphinxhyphen{}quadruplex prediction for stochastic backtracking and
Zuker\sphinxhyphen{}style suboptimals yet).

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAsubopt:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\index{\sphinxhyphen{}\sphinxhyphen{}maxBPspan@\spxentry{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-maxBPspan}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}maxBPspan}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximum base pair span.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”\sphinxhyphen{}1”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}}\index{\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}}\index{\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-C}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-constraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}C}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Calculate structures subject to constraints. \sphinxstyleemphasis{(default=””)}

\sphinxAtStartPar
The program reads first the sequence, then a string containing constraints on
the structure encoded with the symbols:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{.}} (no constraint for this base)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{|}} (the corresponding base has to be paired

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{x}} (the base is unpaired)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textless{}}} (base i is paired with a base j\textgreater{}i)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textgreater{}}} (base i is paired with a base j\textless{}i)

\sphinxAtStartPar
and matching brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} (base i pairs base j)

\sphinxAtStartPar
With the exception of \sphinxcode{\sphinxupquote{|}}, constraints will disallow all pairs conflicting
with the constraint. This is usually sufficient to enforce the constraint,
but occasionally a base may stay unpaired in spite of constraints. PF folding
ignores constraints of type \sphinxcode{\sphinxupquote{|}}.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}}\index{\sphinxhyphen{}\sphinxhyphen{}batch@\spxentry{\sphinxhyphen{}\sphinxhyphen{}batch}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-batch}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}batch}}}
\pysigstopsignatures
\sphinxAtStartPar
Use constraints for multiple sequences. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Usually, constraints provided from input file only apply to a single input
sequence. Therefore, RNAsubopt will stop its computation and quit after the
first input sequence was processed. Using this switch, RNAsubopt processes
multiple input sequences and applies the same provided constraints to each of
them.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}}\index{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly@\spxentry{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-canonicalBPonly}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}canonicalBPonly}}}
\pysigstopsignatures
\sphinxAtStartPar
Remove non\sphinxhyphen{}canonical base pairs from the structure constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}\index{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-enforceConstraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enforceConstraint}}}
\pysigstopsignatures
\sphinxAtStartPar
Enforce base pairs given by round brackets \sphinxcode{\sphinxupquote{(}} \sphinxcode{\sphinxupquote{)}} in structure constraint.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}}\index{\sphinxhyphen{}\sphinxhyphen{}commands@\spxentry{\sphinxhyphen{}\sphinxhyphen{}commands}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-commands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read additional commands from file

\sphinxAtStartPar
Commands include hard and soft constraints, but also structure motifs in
hairpin and internal loops that need to be treeted differently. Furthermore,
commands can be set for unstructured and structured domains.

\end{fulllineitems}



\subsubsection{Experimental Structure Probing Data:}
\label{\detokenize{man/RNAsubopt:experimental-structure-probing-data}}\begin{quote}

\sphinxAtStartPar
The following arguments and siwtches control various implementations that
allow for guiding the structure prediction with the help of additional
(experimental) RNA structure probing data, such as SHAPE, DMS, etc.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}}\index{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-sp-data}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Read structure probing data from an input file and guide the predictions accordingly. Must precede the strategy, i.e. a data file must be specified before the corresponding {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}}}} option!

\sphinxAtStartPar
This option and its argument only specifies the file name with the
(reactivity) data. What kind of data the file contains and how the data is
actually used during the predictions can be specified by the {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}}}}
and {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-preprocess}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}}}}} options.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}\index{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-sp-strategy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}\DUrole{p}{=}strategy}
\pysigstopsignatures
\sphinxAtStartPar
Select the strategy how the probing data is used to guide the structure predictions.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following strategies (methods) are available to convert structure probing
data into pseudo energy contributions:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Deigan et al 2009 strategy.

\sphinxAtStartPar
Here, probing data is converted into pseudo energy terms using a linear

\sphinxAtStartPar
model. The derived energies are then applied for every nucleotide involved in
a stacked pair. The default slope and intercept variables of the linear model
are \sphinxcode{\sphinxupquote{m=1.8}} and \sphinxcode{\sphinxupquote{b=\sphinxhyphen{}0.6}}, respectively. To change these parameters, e.g. to
\sphinxcode{\sphinxupquote{m=1.9}} and \sphinxcode{\sphinxupquote{b=\sphinxhyphen{}0.7}}, use a parameter string like this:
{\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. Note the precedence of \sphinxcode{\sphinxupquote{m}} over \sphinxcode{\sphinxupquote{b}}. You may
also provide only one of the two variables like: {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{E}}: Eddy 2014 strategy.

\sphinxAtStartPar
This strategy distinguishes two structural states (classes) for each base,

\sphinxAtStartPar
paired and unpaired. Based on a list of prior distributions for each of the
classes, the posterior probability for observing a probing reactivity of a
base is estimated and then converted into a respective pseudo energy
contribution. Thermodynamic temperature T is taken from the model settings as
specified by {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-T}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}}}} but can be changed to any other value, either in degrees
Celcius (\sphinxcode{\sphinxupquote{c}} or \sphinxcode{\sphinxupquote{t}}) or Kelvin (\sphinxcode{\sphinxupquote{k}}). Use one of the following parameter
strings to change the temperature to 25 degree Celcius:
{\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Ec=25” or {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Ek=298.15”. By default, built\sphinxhyphen{}in
prior distributions are used with this strategy. This can be changed if the
user passes additional probing data files via the {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}data}}}}} option and then
selects the prior distribution specifier (\sphinxcode{\sphinxupquote{P}}) as strategy (see below).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}}: Use probing data as prior distribution for Eddy 2014 strategy.

\sphinxAtStartPar
This indicates that the most recent probing data file actually contains a

\sphinxAtStartPar
prior distribution of probing data for a particular structure class, i.e.
unpaired or paired bases. The prior distribution then replaces the default
priors in the Eddy 2014 (\sphinxcode{\sphinxupquote{E}}) strategy. Use the lower case characters \sphinxcode{\sphinxupquote{u}} and
\sphinxcode{\sphinxupquote{p}} to indicate which class, unpaired or paired, the prior distribution
represents, e.g. {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Pp” will be interpreted as prior
distribution for paired nucleotides.
Note, that this option must follow after the {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”E” and before
any further {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy}}}}} options that do not specify other prior
distributions!

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Zarringhalam et al 2012 strategy.

\sphinxAtStartPar
Here, the probing data is first converted into pairing probabilities and

\sphinxAtStartPar
aberration from the observed pairing probabilities will be penalized during
the folding recursion. The magnitude of the penalties can affected by
adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNAfold:cmdoption-sp-strategy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}strategy=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012. Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}}\index{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess@\spxentry{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-sp-preprocess}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}sp\sphinxhyphen{}preprocess}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select a method to pre\sphinxhyphen{}process the structure probing data before it undergoes conversion by a strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”I”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}}\index{\sphinxhyphen{}\sphinxhyphen{}shape@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shape}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-shape}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shape}}\DUrole{p}{=}filename}
\pysigstopsignatures
\sphinxAtStartPar
Use SHAPE reactivity data to guide structure predictions.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeMethod@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-shapeMethod}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select SHAPE reactivity data incorporation strategy.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”D”)}

\sphinxAtStartPar
The following methods can be used to convert SHAPE reactivities into pseudo
energy contributions.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Convert by using the linear equation according to Deigan et al 2009.

\sphinxAtStartPar
Derived pseudo energy terms will be applied for every nucleotide involved in
a stacked pair. This method is recognized by a capital \sphinxcode{\sphinxupquote{D}} in the provided
parameter, i.e.: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”D” is the default setting. The slope \sphinxcode{\sphinxupquote{m}}
and the intercept \sphinxcode{\sphinxupquote{b}} can be set to a non\sphinxhyphen{}default value if necessary,
otherwise m=1.8 and b=\sphinxhyphen{}0.6. To alter these parameters, e.g. m=1.9 and b=\sphinxhyphen{}0.7,
use a parameter string like this: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9b\sphinxhyphen{}0.7”. You may also
provide only one of the two parameters like: {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Dm1.9” or
{\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Db\sphinxhyphen{}0.7”.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Z}}: Convert SHAPE reactivities to pseudo energies according to Zarringhalam

\sphinxAtStartPar
et al 2012. SHAPE reactivities will be converted to pairing probabilities by
using linear mapping. Aberration from the observed pairing probabilities will
be penalized during the folding recursion. The magnitude of the penalties can
affected by adjusting the factor beta (e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-shapeMethod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeMethod=}}}}}”Zb0.8”).

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{W}}: Apply a given vector of perturbation energies to unpaired nucleotides

\sphinxAtStartPar
according to Washietl et al 2012. Perturbation vectors can be calculated by
using RNApvmin.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\index{\sphinxhyphen{}\sphinxhyphen{}shapeConversion@\spxentry{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-shapeConversion}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}shapeConversion}}\DUrole{p}{=}method}
\pysigstopsignatures
\sphinxAtStartPar
Select method for SHAPE reactivity conversion.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”O”)}

\sphinxAtStartPar
This parameter is useful when dealing with the SHAPE incorporation according
to Zarringhalam et al. The following methods can be used to convert SHAPE
reactivities into the probability for a certain nucleotide to be unpaired.

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}: Use linear mapping according to Zarringhalam et al.
\sphinxcode{\sphinxupquote{C}}: Use a cutoff\sphinxhyphen{}approach to divide into paired and unpaired nucleotides
(e.g. “C0.25”)
\sphinxcode{\sphinxupquote{S}}: Skip the normalizing step since the input data already represents
probabilities for being unpaired rather than raw reactivity values
\sphinxcode{\sphinxupquote{L}}: Use a linear model to convert the reactivity into a probability for
being unpaired (e.g. “Ls0.68i0.2” to use a slope of 0.68 and an intercept
of 0.2)
\sphinxcode{\sphinxupquote{O}}: Use a linear model to convert the log of the reactivity into a
probability for being unpaired (e.g. “Os1.6i\sphinxhyphen{}2.29” to use a slope of 1.6
and an intercept of \sphinxcode{\sphinxupquote{\sphinxhyphen{}2}}.29)

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAsubopt:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}}\index{\sphinxhyphen{}m@\spxentry{\sphinxhyphen{}m}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}}\index{\sphinxhyphen{}\sphinxhyphen{}modifications@\spxentry{\sphinxhyphen{}\sphinxhyphen{}modifications}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-m}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-modifications}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}m}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}modifications}}\DUrole{p}{{[}}=STRING\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Allow for modified bases within the RNA sequence string.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”7I6P9D”)}

\sphinxAtStartPar
Treat modified bases within the RNA sequence differently, i.e. use
corresponding energy corrections and/or pairing partner rules if available.
For that, the modified bases in the input sequence must be marked by their
corresponding one\sphinxhyphen{}letter code. If no additional arguments are supplied, all
available corrections are performed. Otherwise, the user may limit the
modifications to a particular subset of modifications, resp. one\sphinxhyphen{}letter
codes, e.g. \sphinxcode{\sphinxupquote{\sphinxhyphen{}mP6}} will only correct for pseudouridine and m6A bases.

\sphinxAtStartPar
Currently supported one\sphinxhyphen{}letter codes and energy corrections are:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{7}}: 7\sphinxhyphen{}deaza\sphinxhyphen{}adenonsine (7DA)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{I}}: Inosine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{6}}: N6\sphinxhyphen{}methyladenosine (m6A)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}}: Pseudouridine

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{9}}: Purine (a.k.a. nebularine)

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}}: Dihydrouridine

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-mod-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}mod\sphinxhyphen{}file}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Use additional modified base data from JSON file.

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAsubopt:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
How to treat “dangling end” energies for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} only unpaired bases can participate in at most one dangling end.
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} this check is ignored, dangling energies will be added for the bases
adjacent to a helix on both sides in any case; this is the default for mfe
and partition function folding ({\hyperref[\detokenize{man/RNA2Dfold:cmdoption-p}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}p}}}}}).
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} mfe folding will allow coaxial stacking of adjacent helices in
multi\sphinxhyphen{}loops. At the moment the implementation will not allow coaxial stacking
of the two enclosed pairs in a loop of degree 3 and works only for mfe
folding.

\sphinxAtStartPar
Note that with \sphinxcode{\sphinxupquote{\sphinxhyphen{}d1}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}d3}} only the MFE computations will be using this
setting while partition function uses \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} setting, i.e. dangling ends will be
treated differently.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}logML@\spxentry{\sphinxhyphen{}\sphinxhyphen{}logML}}\index{\sphinxhyphen{}\sphinxhyphen{}logML@\spxentry{\sphinxhyphen{}\sphinxhyphen{}logML}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-logML}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}logML}}}
\pysigstopsignatures
\sphinxAtStartPar
Recompute energies of structures using a logarithmic energy function for multi\sphinxhyphen{}loops before output. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
This option does not effect structure generation, only the energies that are
printed out. Since logML lowers energies somewhat, some structures may be
missing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAsubopt:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAsubopt:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
S. Wuchty, W. Fontana, I. L. Hofacker and P. Schuster (1999),
“Complete Suboptimal Folding of RNA and the Stability of Secondary Structures”,
Biopolymers: 49, pp 145\sphinxhyphen{}165

\sphinxAtStartPar
M. Zuker (1989),
“On Finding All Suboptimal Foldings of an RNA Molecule”,
Science 244.4900, pp 48\sphinxhyphen{}52

\sphinxAtStartPar
Y. Ding, and C.E. Lawrence (2003),
“A statistical sampling algorithm for RNA secondary structure prediction”,
Nucleic Acids Research 31.24, pp 7280\sphinxhyphen{}7301

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{AUTHOR}
\label{\detokenize{man/RNAsubopt:author}}
\sphinxAtStartPar
Ivo L Hofacker, Stefan Wuchty, Walter Fontana, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAsubopt:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.

\sphinxstepscope


\section{RNAup}
\label{\detokenize{man/RNAup:rnaup}}\label{\detokenize{man/RNAup::doc}}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{RNAup}} \sphinxhyphen{} manual page for RNAup 2.7.2


\subsection{Synopsis}
\label{\detokenize{man/RNAup:synopsis}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
RNAup\PYG{+w}{ }\PYG{o}{[}OPTION\PYG{o}{]}...
\end{sphinxVerbatim}


\subsection{DESCRIPTION}
\label{\detokenize{man/RNAup:description}}
\sphinxAtStartPar
RNAup 2.7.2

\sphinxAtStartPar
Calculate the thermodynamics of RNA\sphinxhyphen{}RNA interactions

\sphinxAtStartPar
RNAup calculates the thermodynamics of RNA\sphinxhyphen{}RNA interactions, by decomposing the
binding into two stages. (1) First the probability that a potential binding
sites remains unpaired (equivalent to the free energy needed to open the site)
is computed. (2) Then this accessibility is combined with the interaction
energy to obtain the total binding energy. All calculations are done by
computing partition functions over all possible conformations.

\sphinxAtStartPar
RNAup provides two different modes: By default RNAup computes accessibilities,
in terms of the free energies needed to open a region (default length 4). It
prints the region of highest accessibility and its opening energy to stdout,
opening energies for all other regions are written to a file.

\sphinxAtStartPar
.br
In interaction mode the interaction between two RNAs is calculated. It is
invoked if the input consists of two sequences concatenated with an \sphinxcode{\sphinxupquote{\&}},
or if the options \sphinxhyphen{}X{[}pf{]} or \sphinxhyphen{}b are given. Unless the \sphinxhyphen{}b option is specified
RNAup assumes that the longer RNA is a structured target sequence
while the shorter one is an unstructured small RNA.
.br
Additionally, for every position along the target sequence we write the best
free energy of binding for an interaction that includes this position to the
the output file.
Output to stdout consists of the location and free energy, dG,
for the optimal region of interaction. The binding energy dG is also split into
its components the interaction energy dGint and the opening energy dGu\_l (and
possibly dGu\_s for the shorter sequence).
.br
In addition we print the optimal interaction structure as computed by RNAduplex
for this region. Note that it can happen that the RNAduplex computed optimal
interaction does not coincide with the optimal RNAup region. If the two
predictions don’t match the structure string is replaced by a run of “.”
and a message is written to stderr.
.br

\sphinxAtStartPar
Each sequence should be in 5\textasciigrave{}\textasciigrave{} to 3\textasciigrave{}\textasciigrave{} direction. If the sequence is preceded
by a line of the form
.. code:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}} \PYG{n}{name}
\end{sphinxVerbatim}

\sphinxAtStartPar
the output file “name\_ux\_up.out” is produced, where the “x” in “ux” is the
value set by the \sphinxhyphen{}u option. Otherwise the file name defaults to
RNA\_ux\_up.out. The output is concatenated if a file with the same name exists.
.br

\sphinxAtStartPar
RNA sequences are read from stdin as strings of characters. White space and
newline within a sequence cause an error! Newline is used to separate
sequences. The program will continue to read new sequences until a line
consisting of the single character @ or an end of file condition is
encountered.
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}}\index{\sphinxhyphen{}h@\spxentry{\sphinxhyphen{}h}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-h}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}h}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-detailed-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}detailed\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including all details and hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}\index{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help@\spxentry{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-full-help}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}full\sphinxhyphen{}help}}}
\pysigstopsignatures
\sphinxAtStartPar
Print help, including hidden options, and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}}\index{\sphinxhyphen{}V@\spxentry{\sphinxhyphen{}V}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}}\index{\sphinxhyphen{}\sphinxhyphen{}version@\spxentry{\sphinxhyphen{}\sphinxhyphen{}version}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-V}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-version}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}V}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}version}}}
\pysigstopsignatures
\sphinxAtStartPar
Print version and exit

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}}\index{\sphinxhyphen{}v@\spxentry{\sphinxhyphen{}v}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}}\index{\sphinxhyphen{}\sphinxhyphen{}verbose@\spxentry{\sphinxhyphen{}\sphinxhyphen{}verbose}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-v}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-verbose}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}v}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}verbose}}}
\pysigstopsignatures
\sphinxAtStartPar
Be verbose. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Lower the log level setting such that even INFO messages are passed through.

\end{fulllineitems}



\subsubsection{I/O Options:}
\label{\detokenize{man/RNAup:i-o-options}}\begin{quote}

\sphinxAtStartPar
Command line options for input and output (pre\sphinxhyphen{})processing
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}}\index{\sphinxhyphen{}o@\spxentry{\sphinxhyphen{}o}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}no\_output\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}no\_output\_file}}\index{\sphinxhyphen{}\sphinxhyphen{}no\_output\_file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}no\_output\_file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-o}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-no_output_file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}o}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}no\_output\_file}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not produce an output file.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}no\_header@\spxentry{\sphinxhyphen{}\sphinxhyphen{}no\_header}}\index{\sphinxhyphen{}\sphinxhyphen{}no\_header@\spxentry{\sphinxhyphen{}\sphinxhyphen{}no\_header}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-no_header}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}no\_header}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not produce a header with the command line parameters used in the outputfile.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}}\index{\sphinxhyphen{}\sphinxhyphen{}noconv@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noconv}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-noconv}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noconv}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not automatically substitute nucleotide “T” with “U”.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-log-level}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}\DUrole{p}{=}level}
\pysigstopsignatures
\sphinxAtStartPar
Set log level threshold. \sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
By default, any log messages are filtered such that only warnings (level 2)
or errors (level 3) are printed. This setting allows for specifying the log
level threshold, where higher values result in fewer information. Log\sphinxhyphen{}level 5
turns off all messages, even errors and other critical information.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-log-file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}\DUrole{p}{{[}}=filename\DUrole{p}{{]}}}
\pysigstopsignatures
\sphinxAtStartPar
Print log messages to a file instead of stderr. \sphinxstyleemphasis{(default=”RNAup.log”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-log-time}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}}}
\pysigstopsignatures
\sphinxAtStartPar
Include time stamp in log messages.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}\index{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call@\spxentry{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-log-call}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}}}
\pysigstopsignatures
\sphinxAtStartPar
Include file and line of log calling function.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}



\subsubsection{Algorithms:}
\label{\detokenize{man/RNAup:algorithms}}\begin{quote}

\sphinxAtStartPar
Select additional algorithms which should be included in the calculations.
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}u@\spxentry{\sphinxhyphen{}u}}\index{\sphinxhyphen{}u@\spxentry{\sphinxhyphen{}u}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}ulength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ulength}}\index{\sphinxhyphen{}\sphinxhyphen{}ulength@\spxentry{\sphinxhyphen{}\sphinxhyphen{}ulength}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-u}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-ulength}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}u}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}ulength}}\DUrole{p}{=}length}
\pysigstopsignatures
\sphinxAtStartPar
Specify the length of the unstructured region in the output.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”4”)}

\sphinxAtStartPar
The probability of being unpaired is plotted on the right border of the
unpaired region. You can specify up to 20 different length values: use “\sphinxhyphen{}”
to specify a range of continuous values (e.g. {\hyperref[\detokenize{man/RNAplfold:cmdoption-u}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}u}}}}} 4\sphinxhyphen{}8) or specify a list of
comma separated values (e.g. {\hyperref[\detokenize{man/RNAplfold:cmdoption-u}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}u}}}}} 4,8,15).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}}\index{\sphinxhyphen{}c@\spxentry{\sphinxhyphen{}c}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}contributions@\spxentry{\sphinxhyphen{}\sphinxhyphen{}contributions}}\index{\sphinxhyphen{}\sphinxhyphen{}contributions@\spxentry{\sphinxhyphen{}\sphinxhyphen{}contributions}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-c}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-contributions}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}c}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}contributions}}\DUrole{p}{=}SHIME}
\pysigstopsignatures
\sphinxAtStartPar
Specify the contributions listed in the output. \sphinxstyleemphasis{(default=”S”)}

\sphinxAtStartPar
By default only the full probability of being unpaired is plotted. The {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-c}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}c}}}}}
option allows one to get the different contributions (c) to the probability
of being unpaired: The full probability of being unpaired (“S” is the sum
of the probability of being unpaired in the exterior loop (“E”), within a
hairpin loop (“H”), within an internal loop (“I”) and within a multiloop
(“M”). Any combination of these letters may be given.

\end{fulllineitems}



\subsubsection{Calculations of RNA\sphinxhyphen{}RNA interactions:}
\label{\detokenize{man/RNAup:calculations-of-rna-rna-interactions}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}w@\spxentry{\sphinxhyphen{}w}}\index{\sphinxhyphen{}w@\spxentry{\sphinxhyphen{}w}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}window@\spxentry{\sphinxhyphen{}\sphinxhyphen{}window}}\index{\sphinxhyphen{}\sphinxhyphen{}window@\spxentry{\sphinxhyphen{}\sphinxhyphen{}window}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-w}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-window}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}w}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}window}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set the maximal length of the region of interaction.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”25”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}}\index{\sphinxhyphen{}b@\spxentry{\sphinxhyphen{}b}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}include\_both@\spxentry{\sphinxhyphen{}\sphinxhyphen{}include\_both}}\index{\sphinxhyphen{}\sphinxhyphen{}include\_both@\spxentry{\sphinxhyphen{}\sphinxhyphen{}include\_both}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-b}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-include_both}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}b}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}include\_both}}}
\pysigstopsignatures
\sphinxAtStartPar
Include the probability of unpaired regions in both (b) RNAs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
By default only the probability of being unpaired in the longer RNA (target)
is used.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}5@\spxentry{\sphinxhyphen{}5}}\index{\sphinxhyphen{}5@\spxentry{\sphinxhyphen{}5}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}extend5@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extend5}}\index{\sphinxhyphen{}\sphinxhyphen{}extend5@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extend5}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-5}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-extend5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}5}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}extend5}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Extend the region of interaction in the target to some residues on the 5’ side.

\sphinxAtStartPar
The underlying assumption is that it is favorable for an interaction if not
only the direct region of contact is unpaired but also a few residues 5’

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}3@\spxentry{\sphinxhyphen{}3}}\index{\sphinxhyphen{}3@\spxentry{\sphinxhyphen{}3}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}extend3@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extend3}}\index{\sphinxhyphen{}\sphinxhyphen{}extend3@\spxentry{\sphinxhyphen{}\sphinxhyphen{}extend3}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-3}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-extend3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}3}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}extend3}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Extend the region of interaction in the target to some residues on the 3’ side.

\sphinxAtStartPar
The underlying assumption is that it is favorable for an interaction if not
only the direct region of contact is unpaired but also a few residues 3’

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}interaction\_pairwise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}interaction\_pairwise}}\index{\sphinxhyphen{}\sphinxhyphen{}interaction\_pairwise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}interaction\_pairwise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-interaction_pairwise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}interaction\_pairwise}}}
\pysigstopsignatures
\sphinxAtStartPar
Activate pairwise interaction mode. \sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The first sequence interacts with the 2nd, the third with the 4th etc. If
activated, two interacting sequences may be given in a single line separated
by “\&” or each sequence may be given on an extra line.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}interaction\_first@\spxentry{\sphinxhyphen{}\sphinxhyphen{}interaction\_first}}\index{\sphinxhyphen{}\sphinxhyphen{}interaction\_first@\spxentry{\sphinxhyphen{}\sphinxhyphen{}interaction\_first}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-interaction_first}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}interaction\_first}}}
\pysigstopsignatures
\sphinxAtStartPar
Activate interaction mode using first sequence only.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The interaction of each sequence with the first one is calculated (e.g.
interaction of one mRNA with many small RNAs). Each sequence has to be given
on an extra line

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}}\index{\sphinxhyphen{}S@\spxentry{\sphinxhyphen{}S}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\index{\sphinxhyphen{}\sphinxhyphen{}pfScale@\spxentry{\sphinxhyphen{}\sphinxhyphen{}pfScale}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-S}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-pfScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}S}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”1.07”)}

\sphinxAtStartPar
The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for
long sequences.

\end{fulllineitems}



\subsubsection{Structure Constraints:}
\label{\detokenize{man/RNAup:structure-constraints}}\begin{quote}

\sphinxAtStartPar
Command line options to interact with the structure constraints feature of
this program
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}}\index{\sphinxhyphen{}C@\spxentry{\sphinxhyphen{}C}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}}\index{\sphinxhyphen{}\sphinxhyphen{}constraint@\spxentry{\sphinxhyphen{}\sphinxhyphen{}constraint}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-C}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-constraint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}C}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}constraint}}}
\pysigstopsignatures
\sphinxAtStartPar
Apply structural constraint(s) during prediction.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
The program first reads the sequence(s), then a dot\sphinxhyphen{}bracket like string
containing constraints on the structure. The following symbols are
recognized:

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{.}} … no constraint for this base

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{x}} … the base is unpaired

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textless{}}} … the base pairs downstream, i.e. i is paired with j \textgreater{} i

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{\textgreater{}}} … the base pairs upstream, i.e. i is paired with j \textless{} i

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{()}} … base i pairs with base j

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{|}} … the corresponding base has to be paired intermolecularily (only for

\sphinxAtStartPar
interaction mode)

\end{fulllineitems}



\subsubsection{Energy Parameters:}
\label{\detokenize{man/RNAup:energy-parameters}}\begin{quote}

\sphinxAtStartPar
Energy parameter sets can be adapted or loaded from user\sphinxhyphen{}provided input files
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}}\index{\sphinxhyphen{}T@\spxentry{\sphinxhyphen{}T}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}}\index{\sphinxhyphen{}\sphinxhyphen{}temp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}temp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-T}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-temp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}T}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}temp}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature of temp C. Default is 37C.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”37.0”)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}}\index{\sphinxhyphen{}P@\spxentry{\sphinxhyphen{}P}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\index{\sphinxhyphen{}\sphinxhyphen{}paramFile@\spxentry{\sphinxhyphen{}\sphinxhyphen{}paramFile}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-P}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-paramFile}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}P}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}paramFile}}\DUrole{p}{=}paramfile}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from paramfile, instead of using the default parameter set.

\sphinxAtStartPar
Different sets of energy parameters for RNA and DNA should accompany your
distribution.
See the RNAlib documentation for details on the file format. The placeholder
file name \sphinxcode{\sphinxupquote{DNA}} can be used to load DNA parameters without the need to
actually specify any input file.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}}\index{\sphinxhyphen{}4@\spxentry{\sphinxhyphen{}4}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}}\index{\sphinxhyphen{}\sphinxhyphen{}noTetra@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noTetra}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-4}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-noTetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}4}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noTetra}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not include special tabulated stabilizing energies for tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexaloop hairpins.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
Mostly for testing.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}}\index{\sphinxhyphen{}\sphinxhyphen{}salt@\spxentry{\sphinxhyphen{}\sphinxhyphen{}salt}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}salt}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Set salt concentration in molar (M). Default is 1.021M.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\index{\sphinxhyphen{}\sphinxhyphen{}saltInit@\spxentry{\sphinxhyphen{}\sphinxhyphen{}saltInit}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-saltInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}saltInit}}\DUrole{p}{=}DOUBLE}
\pysigstopsignatures
\sphinxAtStartPar
Provide salt correction for duplex initialization (in kcal/mol).

\end{fulllineitems}



\subsubsection{Model Details:}
\label{\detokenize{man/RNAup:model-details}}\begin{quote}

\sphinxAtStartPar
Tweak the energy model and pairing rules additionally using the following
parameters
\end{quote}
\index{command line option@\spxentry{command line option}!\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}}\index{\sphinxhyphen{}d@\spxentry{\sphinxhyphen{}d}!command line option@\spxentry{command line option}}\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}}\index{\sphinxhyphen{}\sphinxhyphen{}dangles@\spxentry{\sphinxhyphen{}\sphinxhyphen{}dangles}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-d}}\phantomsection\label{\detokenize{man/RNAup:cmdoption-dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}d}}\DUrole{p}{,}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}dangles}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Specify “dangling end” model for bases adjacent to helices in free ends and multi\sphinxhyphen{}loops.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2”)}

\sphinxAtStartPar
With \sphinxcode{\sphinxupquote{\sphinxhyphen{}d2}} dangling energies will be added for the bases adjacent to a helix on
both sides in any case.

\sphinxAtStartPar
The option \sphinxcode{\sphinxupquote{\sphinxhyphen{}d0}} ignores dangling ends altogether (mostly for debugging).

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}}\index{\sphinxhyphen{}\sphinxhyphen{}noLP@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noLP}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Produce structures without lonely pairs (helices of length 1).

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\sphinxAtStartPar
For partition function folding this only disallows pairs that can only occur
isolated. Other pairs may still occasionally occur as helices of length 1.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}\index{\sphinxhyphen{}\sphinxhyphen{}noClosingGU@\spxentry{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-noClosingGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noClosingGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs at the end of helices.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=off)}

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}}\index{\sphinxhyphen{}\sphinxhyphen{}nsp@\spxentry{\sphinxhyphen{}\sphinxhyphen{}nsp}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-nsp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp}}\DUrole{p}{=}STRING}
\pysigstopsignatures
\sphinxAtStartPar
Allow other pairs in addition to the usual AU,GC,and GU pairs.

\sphinxAtStartPar
Its argument is a comma separated list of additionally allowed pairs. If the
first character is a “\sphinxhyphen{}” then AB will imply that AB and BA are allowed
pairs, e.g. {\hyperref[\detokenize{man/RNALalifold:cmdoption-nsp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}nsp=}}}}}”\sphinxhyphen{}GA”  will allow GA and AG pairs. Nonstandard pairs are
given 0 stacking energy.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\index{\sphinxhyphen{}\sphinxhyphen{}energyModel@\spxentry{\sphinxhyphen{}\sphinxhyphen{}energyModel}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-energyModel}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}\DUrole{p}{=}INT}
\pysigstopsignatures
\sphinxAtStartPar
Set energy model.

\sphinxAtStartPar
Rarely used option to fold sequences from the artificial ABCD… alphabet,
where A pairs B, C\sphinxhyphen{}D etc.  Use the energy parameters for GC ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 1)
or AU ({\hyperref[\detokenize{man/RNALalifold:cmdoption-energyModel}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}energyModel}}}}} 2) pairs.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\index{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise@\spxentry{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-helical-rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}helical\sphinxhyphen{}rise}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the helical rise of the helix in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”2.8”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 3.4 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}

\index{command line option@\spxentry{command line option}!\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\index{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length@\spxentry{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}!command line option@\spxentry{command line option}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{man/RNAup:cmdoption-backbone-length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backbone\sphinxhyphen{}length}}\DUrole{p}{=}FLOAT}
\pysigstopsignatures
\sphinxAtStartPar
Set the average backbone length for looped regions in units of Angstrom.

\sphinxAtStartPar
\sphinxstyleemphasis{(default=”6.0”)}

\sphinxAtStartPar
Use with caution! This value will be re\sphinxhyphen{}set automatically to 6.76 in case DNA
parameters are loaded via {\hyperref[\detokenize{man/RNA2Dfold:cmdoption-P}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{\sphinxhyphen{}P}}}}} DNA and no further value is provided.

\end{fulllineitems}



\subsection{REFERENCES}
\label{\detokenize{man/RNAup:references}}
\sphinxAtStartPar
\sphinxstyleemphasis{If you use this program in your work you might want to cite:}

\sphinxAtStartPar
R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011),
“ViennaRNA Package 2.0”,
Algorithms for Molecular Biology: 6:26

\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994),
“Fast Folding and Comparison of RNA Secondary Structures”,
Monatshefte f. Chemie: 125, pp 167\sphinxhyphen{}188

\sphinxAtStartPar
R. Lorenz, I.L. Hofacker, P.F. Stadler (2016),
“RNA folding with hard and soft constraints”,
Algorithms for Molecular Biology 11:1 pp 1\sphinxhyphen{}13

\sphinxAtStartPar
U. Mueckstein, H. Tafer, J. Hackermueller, S.H. Bernhart, P.F. Stadler, and I.L. Hofacker (2006),
“Thermodynamics of RNA\sphinxhyphen{}RNA Binding”,
Bioinformatics: 22(10), pp 1177\sphinxhyphen{}1182

\sphinxAtStartPar
\sphinxstyleemphasis{The energy parameters are taken from:}

\sphinxAtStartPar
D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (2004),
“Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure”,
Proc. Natl. Acad. Sci. USA: 101, pp 7287\sphinxhyphen{}7292

\sphinxAtStartPar
D.H Turner, D.H. Mathews (2009),
“NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure”,
Nucleic Acids Research: 38, pp 280\sphinxhyphen{}282


\subsection{EXAMPLES}
\label{\detokenize{man/RNAup:examples}}
\sphinxAtStartPar
.B Output to stdout:

\sphinxAtStartPar
In Interaction mode RNAup prints the most favorable interaction energy
between the two sequences to stdout. The most favorable interaction energy
(dG) depends on the position in the longer sequence (region {[}i,j{]}) and the
position in the shorter sequence (region{[}k,l{]}): dG{[}i,j;k,l{]}.  dG{[}i,j;k,l{]} is the
largest contribution to dG{[}i,j{]} = sum\_kl dG{[}i,j;k,l{]} which is given in the
output file: therefore dG{[}i,j;k,l{]} \textless{}= dG{[}i,j{]}.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
``....,....1....,....2....,....3....,....4....,....5....,....6....,....7....,....8``
\PYGZgt{} franz
GGAGUAGGUUAUCCUCUGUU
\PYGZgt{} sissi
AGGACAACCU
dG = dGint + dGu\PYGZus{}l
(((((.((((\PYGZam{})))).)))))   6,15  :   1,10  (\PYGZhy{}6.66 = \PYGZhy{}9.89 + 3.23)
AGGUUAUCCU\PYGZam{}AGGACAACCU
RNAup output in file: franz\PYGZus{}sissi\PYGZus{}w25\PYGZus{}u3\PYGZus{}4\PYGZus{}up.out
\end{sphinxVerbatim}

\sphinxAtStartPar
where the result line contains following information

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{RNAduplex} \PYG{n}{results}       \PYG{p}{[}\PYG{n}{i}\PYG{p}{,}\PYG{n}{j}\PYG{p}{]}     \PYG{p}{[}\PYG{n}{k}\PYG{p}{,}\PYG{n}{l}\PYG{p}{]}    \PYG{n}{dG} \PYG{o}{=} \PYG{n}{dGint} \PYG{o}{+} \PYG{n}{dGu\PYGZus{}l}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}   \PYG{l+m+mi}{6}\PYG{p}{,}\PYG{l+m+mi}{15}   \PYG{p}{:}  \PYG{l+m+mi}{1}\PYG{p}{,}\PYG{l+m+mi}{10}     \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{6.66}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{9.89}\PYG{o}{+}\PYG{l+m+mf}{3.23}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
.RD
.B Output to file:

\sphinxAtStartPar
Output to file contains a header including date, the command line of the
call to RNAup, length and names of the input sequence(s) followed
by the sequence(s). The first sequence is the target sequence.
Printing of the header can be turned off using the \sphinxhyphen{}nh option.

\sphinxAtStartPar
The line directly after the header gives the column names for the output:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{position}     \PYG{n}{dGu\PYGZus{}l} \PYG{k}{for} \PYG{o}{\PYGZhy{}}\PYG{n}{u} \PYG{l+m+mi}{3}      \PYG{n}{dGu\PYGZus{}l} \PYG{k}{for} \PYG{o}{\PYGZhy{}}\PYG{n}{u} \PYG{l+m+mi}{4}       \PYG{n}{dG}
\PYG{c+c1}{\PYGZsh{}     pos      u3S       u3H       u4S       u4H        dG}
\end{sphinxVerbatim}

\sphinxAtStartPar
where all information refers to the target sequence. The dGu\_l column contains
information about the \sphinxhyphen{}u value (u=3 or u=4) and the contribution to the free
energy to open all structures “S” or only hairpin loops “H”, see option \sphinxhyphen{}c.
NA means that no results is possible (e.g. column u3S row 2: no region of
length 3 ending at position 2 exists).

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+c1}{\PYGZsh{}  Thu Apr 10 09:15:11 2008}
\PYG{c+c1}{\PYGZsh{}  RNAup \PYGZhy{}u 3,4 \PYGZhy{}c SH \PYGZhy{}b}
\PYG{c+c1}{\PYGZsh{}  20 franz}
\PYG{c+c1}{\PYGZsh{}  GGAGUAGGUUAUCCUCUGUU}
\PYG{c+c1}{\PYGZsh{}  10 sissi}
\PYG{c+c1}{\PYGZsh{}  AGGACAACCU}
\PYG{c+c1}{\PYGZsh{}     pos      u3S       u3H       u4S       u4H        dG}
\PYG{l+m+mi}{1}        \PYG{n}{NA}        \PYG{n}{NA}        \PYG{n}{NA}        \PYG{n}{NA}    \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.540}
\PYG{l+m+mi}{2}        \PYG{n}{NA}        \PYG{n}{NA}        \PYG{n}{NA}        \PYG{n}{NA}    \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.540}
\PYG{l+m+mi}{3}     \PYG{l+m+mf}{1.371}        \PYG{n}{NA}        \PYG{n}{NA}        \PYG{n}{NA}    \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.217}
\PYG{l+m+mi}{4}     \PYG{l+m+mf}{1.754}     \PYG{l+m+mf}{5.777}     \PYG{l+m+mf}{1.761}        \PYG{n}{NA}    \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.393}
\PYG{l+m+mi}{5}     \PYG{l+m+mf}{1.664}     \PYG{l+m+mf}{3.140}     \PYG{l+m+mf}{1.811}     \PYG{l+m+mf}{5.800}    \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{1.393}
\end{sphinxVerbatim}

\sphinxAtStartPar
If the \sphinxhyphen{}b option is selected position and dGu\_s values for the shorter sequence
are written after the information for the target sequence.


\subsection{AUTHOR}
\label{\detokenize{man/RNAup:author}}
\sphinxAtStartPar
Ivo L Hofacker, Peter F Stadler, Ulrike Mueckstein, Ronny Lorenz


\subsection{REPORTING BUGS}
\label{\detokenize{man/RNAup:reporting-bugs}}
\sphinxAtStartPar
If in doubt our program is right, nature is at fault.
Comments should be sent to \sphinxhref{mailto:rna@tbi.univie.ac.at}{rna@tbi.univie.ac.at}.
\subsubsection*{Main Programs}


\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\begin{tabulary}{\linewidth}[t]{TT}
\sphinxtoprule
\sphinxstyletheadfamily 
\sphinxAtStartPar
Program
&\sphinxstyletheadfamily 
\sphinxAtStartPar
Description
\\
\sphinxmidrule
\sphinxtableatstartofbodyhook
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNA2Dfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNA2Dfold}}}}
&
\sphinxAtStartPar
Compute MFE structure, partition function and
representative sample structures of k,l neighborhoods
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAaliduplex::doc}]{\sphinxcrossref{\DUrole{doc}{RNAaliduplex}}}}
&
\sphinxAtStartPar
Predict conserved RNA\sphinxhyphen{}RNA interactions between two alignments
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAalifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAalifold}}}}
&
\sphinxAtStartPar
Calculate secondary structures for a set of aligned RNA sequences
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAcofold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAcofold}}}}
&
\sphinxAtStartPar
Calculate secondary structures of two RNAs with dimerization
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAdistance::doc}]{\sphinxcrossref{\DUrole{doc}{RNAdistance}}}}
&
\sphinxAtStartPar
Calculate distances between RNA secondary structures
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAdos::doc}]{\sphinxcrossref{\DUrole{doc}{RNAdos}}}}
&
\sphinxAtStartPar
Calculate the density of states for each energy band of an RNA
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAduplex::doc}]{\sphinxcrossref{\DUrole{doc}{RNAduplex}}}}
&
\sphinxAtStartPar
Compute the structure upon hybridization of two RNA strands
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAeval::doc}]{\sphinxcrossref{\DUrole{doc}{RNAeval}}}}
&
\sphinxAtStartPar
Evaluate free energy of RNA sequences with given secondary structure
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAfold}}}}
&
\sphinxAtStartPar
Calculate minimum free energy secondary structures and partition function of RNAs
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAheat::doc}]{\sphinxcrossref{\DUrole{doc}{RNAheat}}}}
&
\sphinxAtStartPar
Calculate the specific heat (melting curve) of an RNA sequence
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAinverse::doc}]{\sphinxcrossref{\DUrole{doc}{RNAinverse}}}}
&
\sphinxAtStartPar
Find RNA sequences with given secondary structure (sequence design)
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNALalifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNALalifold}}}}
&
\sphinxAtStartPar
Calculate locally stable secondary structures for a set of aligned RNAs
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNALfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNALfold}}}}
&
\sphinxAtStartPar
Calculate locally stable secondary structures of long RNAs
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAmultifold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAmultifold}}}}
&
\sphinxAtStartPar
Compute thermodynamic properties for interaction complexes of multiple RNAs
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNApaln::doc}]{\sphinxcrossref{\DUrole{doc}{RNApaln}}}}
&
\sphinxAtStartPar
RNA alignment based on sequence base pairing propensities
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNApdist::doc}]{\sphinxcrossref{\DUrole{doc}{RNApdist}}}}
&
\sphinxAtStartPar
Calculate distances between thermodynamic RNA secondary structures ensembles
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAparconv::doc}]{\sphinxcrossref{\DUrole{doc}{RNAparconv}}}}
&
\sphinxAtStartPar
Convert energy parameter files from ViennaRNA 1.8 to 2.0 format
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAPKplex::doc}]{\sphinxcrossref{\DUrole{doc}{RNAPKplex}}}}
&
\sphinxAtStartPar
Predict RNA secondary structures including pseudoknots
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAplex::doc}]{\sphinxcrossref{\DUrole{doc}{RNAplex}}}}
&
\sphinxAtStartPar
Find targets of a query RNA
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAplfold::doc}]{\sphinxcrossref{\DUrole{doc}{RNAplfold}}}}
&
\sphinxAtStartPar
Calculate average pair probabilities for locally stable secondary structures
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAplot::doc}]{\sphinxcrossref{\DUrole{doc}{RNAplot}}}}
&
\sphinxAtStartPar
Draw RNA Secondary Structures in PostScript, SVG, or GML
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNApvmin::doc}]{\sphinxcrossref{\DUrole{doc}{RNApvmin}}}}
&
\sphinxAtStartPar
Calculate a perturbation vector that minimizes discrepancies between predicted and observed pairing probabilities
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAsnoop::doc}]{\sphinxcrossref{\DUrole{doc}{RNAsnoop}}}}
&
\sphinxAtStartPar
Find targets of a query H/ACA snoRNA
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAsubopt::doc}]{\sphinxcrossref{\DUrole{doc}{RNAsubopt}}}}
&
\sphinxAtStartPar
Calculate suboptimal secondary structures of RNAs
\\
\sphinxhline
\sphinxAtStartPar
{\hyperref[\detokenize{man/RNAup::doc}]{\sphinxcrossref{\DUrole{doc}{RNAup}}}}
&
\sphinxAtStartPar
Calculate the thermodynamics of RNA\sphinxhyphen{}RNA interactions
\\
\sphinxbottomrule
\end{tabulary}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}
\subsubsection*{Additional Programs}

\sphinxAtStartPar
We include the following additional programs in our distribution of the
ViennaRNA Package. Whether or not they are installed together with the
ViennaRNA Package depends on its {\hyperref[\detokenize{configuration::doc}]{\sphinxcrossref{\DUrole{doc}{Configuration}}}}.


\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\begin{tabulary}{\linewidth}[t]{TT}
\sphinxtoprule
\sphinxstyletheadfamily 
\sphinxAtStartPar
Program
&\sphinxstyletheadfamily 
\sphinxAtStartPar
Description
\\
\sphinxmidrule
\sphinxtableatstartofbodyhook
\sphinxAtStartPar
AnalyseDists
&
\sphinxAtStartPar
Analyse a distance matrix
\\
\sphinxhline
\sphinxAtStartPar
AnalyseSeqs
&
\sphinxAtStartPar
Analyse a set of sequences of common length
\\
\sphinxhline
\sphinxAtStartPar
Kinfold
&
\sphinxAtStartPar
Simulate kinetic folding of RNA secondary
structures
\\
\sphinxhline
\sphinxAtStartPar
kinwalker
&
\sphinxAtStartPar
Predict RNA folding trajectories
\\
\sphinxhline
\sphinxAtStartPar
RNAforester
&
\sphinxAtStartPar
Compare RNA secondary structures via forest alignment
\\
\sphinxhline
\sphinxAtStartPar
RNAlocmin
&
\sphinxAtStartPar
Calculate local minima from structures via gradient walks
\\
\sphinxhline
\sphinxAtStartPar
RNAxplorer
&
\sphinxAtStartPar
Explore the RNA conformation space through
sampling and other techniques
\\
\sphinxbottomrule
\end{tabulary}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

\sphinxstepscope


\chapter{Using RNAlib}
\label{\detokenize{using_rnalib:using-rnalib}}\label{\detokenize{using_rnalib::doc}}
\sphinxstepscope


\section{Linking against RNAlib}
\label{\detokenize{linking:linking-against-rnalib}}\label{\detokenize{linking::doc}}
\sphinxAtStartPar
In order to use our implemented algorithms you simply need to link your program
to our \sphinxstyleemphasis{RNAlib} C\sphinxhyphen{}library that usually comes along with the ViennaRNA Package
installation. If you’ve installed the ViennaRNA Package as a pre\sphinxhyphen{}build binary package,
you probably need the corresponding development package, e.g. \sphinxcode{\sphinxupquote{viennarna\sphinxhyphen{}devel}}, or
\sphinxcode{\sphinxupquote{viennarna\sphinxhyphen{}dev}}. The only thing that is left is to include the ViennaRNA header
files into your source code, e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
and start using our fast and efficient algorithm implementations.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
In the {\hyperref[\detokenize{examples/c::doc}]{\sphinxcrossref{\DUrole{doc}{C Examples}}}} section, we list a small set of example code that
usually is a good starting point for your application.
\end{sphinxadmonition}


\subsection{Compiler and Linker flags}
\label{\detokenize{linking:compiler-and-linker-flags}}
\sphinxAtStartPar
Of course, simply adding the ViennaRNA header files into your source code is
usually not enough. You probably need to tell your compiler where to find the
header files, and sometimes add additional pre\sphinxhyphen{}processor directives. Whenever
your installation of \sphinxstyleemphasis{RNAlib} was build with default settings and the header
files were installed into their default location, a simple:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZhy{}}\PYG{n}{I}\PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{include}
\end{sphinxVerbatim}

\sphinxAtStartPar
pre\sphinxhyphen{}processor/compile flag should suffice. It can even be omitted in this case,
since your compiler should search this directory by default anyway. You only
need to change the path from \sphinxcode{\sphinxupquote{/usr/include}} to the correct location whenever
the header files have been installed into a non\sphinxhyphen{}standard directory.

\sphinxAtStartPar
If you’ve compiled \sphinxstyleemphasis{RNAlib} with some non\sphinxhyphen{}default settings then you probably
need to define some additional pre\sphinxhyphen{}processor macros:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{VRNA\_DISABLE\_C11\_FEATURES}} … Disable C11/C++11 features.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Add this directive to your pre\sphinxhyphen{}processor/compile flags only if \sphinxstyleemphasis{RNAlib}
was build with the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}disable\sphinxhyphen{}c11}} configure option.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{configuration:disable-c11-c-11-features}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Disable C11/C++11 features}}}}} and {\hyperref[\detokenize{utils/data_structures:c.vrna_C11_features}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_C11\_features()}}}}}
\end{sphinxadmonition}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{VRNA\_WARN\_DEPRECATED}} … Enable warnings for using deprecated symbols.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Adding this directive enables compiler warnings whenever you use symbols
in \sphinxstyleemphasis{RNAlib} that are marked \sphinxstyleemphasis{deprecated}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{configuration:deprecated-symbols}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated symbols}}}}} and {\hyperref[\detokenize{deprecated::doc}]{\sphinxcrossref{\DUrole{doc}{Deprecated List}}}}
\end{sphinxadmonition}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{USE\_FLOAT\_PF}} … Use single precision floating point operations instead
of double precision in partition function computations.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Define this macro only if \sphinxstyleemphasis{RNAlib} was build with the \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enable\sphinxhyphen{}floatpf}}
configure option!
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{configuration:single-precision}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Single precision}}}}}
\end{sphinxadmonition}

\end{itemize}

\sphinxAtStartPar
For instance, you might want to add the following definition(s) to your
pre\sphinxhyphen{}processor/compile flags:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZhy{}}\PYG{n}{DVRNA\PYGZus{}DISABLE\PYGZus{}C11\PYGZus{}FEATURES}
\end{sphinxVerbatim}

\sphinxAtStartPar
Finally, linking against \sphinxstyleemphasis{RNAlib} is achieved by adding the following linker flag:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZhy{}}\PYG{n}{L}\PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{lib} \PYG{o}{\PYGZhy{}}\PYG{n}{lRNA} \PYG{o}{\PYGZhy{}}\PYG{n}{flto} \PYG{o}{\PYGZhy{}}\PYG{n}{fopenmp}
\end{sphinxVerbatim}

\sphinxAtStartPar
Again, the path to the library, \sphinxcode{\sphinxupquote{/usr/lib}}, may be omitted if this path is
searched for libraries by default. The second flag tells the linker to include
\sphinxcode{\sphinxupquote{libRNA.a}}, and the remaining two flags activate {\hyperref[\detokenize{configuration:link-time-optimization}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Link Time Optimization}}}}}
and {\hyperref[\detokenize{configuration:openmp}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{OpenMP}}}}} support, respectively.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Depending on your linker, the last two flags may differ.

\sphinxAtStartPar
Depending on your configure time decisions, you can drop one or both of the last flags.

\sphinxAtStartPar
In case you’ve compiled \sphinxstyleemphasis{RNAlib} with LTO support (See {\hyperref[\detokenize{configuration:link-time-optimization}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Link Time Optimization}}}}}) and you are using a different compiler for your third\sphinxhyphen{}party project that
links against our library, you may add the \sphinxcode{\sphinxupquote{\sphinxhyphen{}fno\sphinxhyphen{}lto}} flag to disable Link Time
Optimization.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{faq:linking-fails-with-lto-error}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Linking fails with LTO error}}}}}
\end{sphinxadmonition}


\subsection{The pkg\sphinxhyphen{}config tool}
\label{\detokenize{linking:the-pkg-config-tool}}
\sphinxAtStartPar
Instead of hard\sphinxhyphen{}coding the required compiler and linker flags, you can also let the
\sphinxcode{\sphinxupquote{pkg\sphinxhyphen{}config}} tool automatically determine the required flags. This tool is usually
packaged for any Linux distribution and should be available for MacOS X and MinGW as
well. We ship a file \sphinxcode{\sphinxupquote{RNAlib2.pc}} which is installed along with the static \sphinxcode{\sphinxupquote{libRNA.a}}
C\sphinxhyphen{}library and populated with all required compiler and linker flags that correspond to
your configure time decisions.

\sphinxAtStartPar
The compiler flags required for properly building your code that uses \sphinxstyleemphasis{RNAlib} can be
easily obtained via:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{pkg}\PYG{o}{\PYGZhy{}}\PYG{n}{config} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{cflags} \PYG{n}{RNAlib2}
\end{sphinxVerbatim}

\sphinxAtStartPar
You get the corresponding linker flags using:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{pkg}\PYG{o}{\PYGZhy{}}\PYG{n}{config} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{libs} \PYG{n}{RNAlib2}
\end{sphinxVerbatim}

\sphinxAtStartPar
With this widely accepted standard it is also very easy to integrate \sphinxstyleemphasis{RNAlib} in your
\sphinxcode{\sphinxupquote{autotools}} project, just have a look at the \sphinxcode{\sphinxupquote{PKG\_CHECK\_MODULES}} macro.

\sphinxstepscope


\section{C Examples}
\label{\detokenize{examples/c:c-examples}}\label{\detokenize{examples/c::doc}}

\subsection{MFE Prediction (simple interface)}
\label{\detokenize{examples/c:mfe-prediction-simple-interface}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}string.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}

\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* The RNA sequence */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* allocate memory for MFE structure (length + 1) */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{structure}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* predict Minmum Free Energy and corresponding secondary structure */}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{ }\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print sequence, structure and MFE */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s [ \PYGZpc{}6.2f ]}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* cleanup memory */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{MFE Prediction (VRNA 3.0 interface)}
\label{\detokenize{examples/c:mfe-prediction-vrna-3-0-interface}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe.h\PYGZgt{}}


\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* initialize random number generator */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}init\PYGZus{}rand}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Generate a random sequence of 50 nucleotides */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{                  }\PYG{o}{*}\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}random\PYGZus{}string}\PYG{p}{(}\PYG{l+m+mi}{50}\PYG{p}{,}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ACGU}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Create a fold compound for the sequence */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* allocate memory for MFE structure (length + 1) */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{                  }\PYG{o}{*}\PYG{n}{structure}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* predict Minmum Free Energy and corresponding secondary structure */}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{                 }\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}mfe}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print sequence, structure and MFE */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s [ \PYGZpc{}6.2f ]}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* cleanup memory */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}free}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{MFE and Centroid structure Prediction}
\label{\detokenize{examples/c:mfe-and-centroid-structure-prediction}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}string.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data\PYGZus{}structures.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func.h\PYGZgt{}}


\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{k+kt}{int}\PYG{+w}{  }\PYG{n}{argc}\PYG{p}{,}
\PYG{+w}{     }\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{argv}\PYG{p}{[}\PYG{p}{]}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{                  }\PYG{o}{*}\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}
\PYG{+w}{    }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{AGACGACAAGGUUGAAUCGCACCCACAGUCUAUGAGUCGGUGACAACAUUACGAAAGGCUGUAAAAUCAAUUAUUCACCACAGGGGGCCCCCGUGUCUAG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{                  }\PYG{o}{*}\PYG{n}{mfe\PYGZus{}structure}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{                  }\PYG{o}{*}\PYG{n}{prob\PYGZus{}string}\PYG{+w}{    }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* get a vrna\PYGZus{}fold\PYGZus{}compound with default settings */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{vc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* call MFE function */}
\PYG{+w}{  }\PYG{k+kt}{double}\PYG{+w}{                }\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{double}\PYG{p}{)}\PYG{n}{vrna\PYGZus{}mfe}\PYG{p}{(}\PYG{n}{vc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe\PYGZus{}structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s (\PYGZpc{}6.2f)}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe\PYGZus{}structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* rescale parameters for Boltzmann factors */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}exp\PYGZus{}params\PYGZus{}rescale}\PYG{p}{(}\PYG{n}{vc}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* call PF function */}
\PYG{+w}{  }\PYG{n}{FLT\PYGZus{}OR\PYGZus{}DBL}\PYG{+w}{ }\PYG{n}{en}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}pf}\PYG{p}{(}\PYG{n}{vc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{prob\PYGZus{}string}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print probability string and free energy of ensemble */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s (\PYGZpc{}6.2f)}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{prob\PYGZus{}string}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{en}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* compute centroid structure */}
\PYG{+w}{  }\PYG{k+kt}{double}\PYG{+w}{  }\PYG{n}{dist}\PYG{p}{;}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{    }\PYG{o}{*}\PYG{n}{cent}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}centroid}\PYG{p}{(}\PYG{n}{vc}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{dist}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print centroid structure, its free energy and mean distance to the ensemble */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s (\PYGZpc{}6.2f d=\PYGZpc{}6.2f)}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{cent}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}eval\PYGZus{}structure}\PYG{p}{(}\PYG{n}{vc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{cent}\PYG{p}{)}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{dist}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* free centroid structure */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{cent}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* free pseudo dot\PYGZhy{}bracket probability string */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{prob\PYGZus{}string}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* free mfe structure */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{mfe\PYGZus{}structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* free memory occupied by vrna\PYGZus{}fold\PYGZus{}compound */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}free}\PYG{p}{(}\PYG{n}{vc}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{n}{EXIT\PYGZus{}SUCCESS}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{Suboptimal Structure Prediction}
\label{\detokenize{examples/c:suboptimal-structure-prediction}}
\sphinxAtStartPar
\sphinxstyleemphasis{using the callback mechanism}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt.h\PYGZgt{}}


\PYG{k+kt}{void}
\PYG{n+nf}{subopt\PYGZus{}callback}\PYG{p}{(}\PYG{k}{const}\PYG{+w}{ }\PYG{k+kt}{char}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{structure}\PYG{p}{,}
\PYG{+w}{                }\PYG{k+kt}{float}\PYG{+w}{       }\PYG{n}{energy}\PYG{p}{,}
\PYG{+w}{                }\PYG{k+kt}{void}\PYG{+w}{        }\PYG{o}{*}\PYG{n}{data}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* simply print the result and increase the counter variable by 1 */}
\PYG{+w}{  }\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{structure}\PYG{p}{)}
\PYG{+w}{    }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}d.}\PYG{l+s+se}{\PYGZbs{}t}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}t}\PYG{l+s}{\PYGZpc{}6.2f}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{p}{(}\PYG{o}{*}\PYG{p}{(}\PYG{p}{(}\PYG{k+kt}{int}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{data}\PYG{p}{)}\PYG{p}{)}\PYG{o}{+}\PYG{o}{+}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{energy}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}


\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* initialize random number generator */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}init\PYGZus{}rand}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Generate a random sequence of 50 nucleotides */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{                  }\PYG{o}{*}\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}random\PYGZus{}string}\PYG{p}{(}\PYG{l+m+mi}{50}\PYG{p}{,}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ACGU}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Create a fold compound for the sequence */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k+kt}{int}\PYG{+w}{                   }\PYG{n}{counter}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/*}
\PYG{c+cm}{   *  call subopt to enumerate all secondary structures in an energy band of}
\PYG{c+cm}{   *  5 kcal/mol of the MFE and pass it the address of the callback and counter}
\PYG{c+cm}{   *  variable}
\PYG{c+cm}{   */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}subopt\PYGZus{}cb}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{l+m+mi}{500}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{subopt\PYGZus{}callback}\PYG{p}{,}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{void}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{o}{\PYGZam{}}\PYG{n}{counter}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* cleanup memory */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}free}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{Base Pair Probabilities}
\label{\detokenize{examples/c:base-pair-probabilities}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}string.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}

\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* The RNA sequence */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{      }\PYG{o}{*}\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* allocate memory for pairing propensity string (length + 1) */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{      }\PYG{o}{*}\PYG{n}{propensity}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* pointers for storing and navigating through base pair probabilities */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}ep\PYGZus{}t}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{ptr}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{pair\PYGZus{}probabilities}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}

\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{     }\PYG{n}{en}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}pf\PYGZus{}fold}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{propensity}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{pair\PYGZus{}probabilities}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print sequence, pairing propensity string and ensemble free energy */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s [ \PYGZpc{}6.2f ]}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{propensity}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{en}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print all base pairs with probability above 50\PYGZpc{} */}
\PYG{+w}{  }\PYG{k}{for}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{ptr}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{pair\PYGZus{}probabilities}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{i}\PYG{+w}{ }\PYG{o}{!}\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{+}\PYG{o}{+}\PYG{p}{)}
\PYG{+w}{    }\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{p}\PYG{+w}{ }\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{l+m+mf}{0.5}\PYG{p}{)}
\PYG{+w}{      }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{p(\PYGZpc{}d, \PYGZpc{}d) = \PYGZpc{}g}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{p}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* cleanup memory */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{pair\PYGZus{}probabilities}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{propensity}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{MFE Consensus Structure Prediction}
\label{\detokenize{examples/c:mfe-consensus-structure-prediction}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}string.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/alignments.h\PYGZgt{}}

\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* The RNA sequence alignment */}
\PYG{+w}{  }\PYG{k}{const}\PYG{+w}{ }\PYG{k+kt}{char}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{sequences}\PYG{p}{[}\PYG{p}{]}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{    }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGU}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGU}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZhy{}\PYGZhy{}\PYGZhy{}CUCGACACCACU\PYGZhy{}\PYGZhy{}\PYGZhy{}GCCUCGGUUACCCAUCGGUGCAGUGCGGGU}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nb}{NULL}\PYG{+w}{ }\PYG{c+cm}{/* indicates end of alignment */}
\PYG{+w}{  }\PYG{p}{\PYGZcb{}}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* compute the consensus sequence */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{        }\PYG{o}{*}\PYG{n}{cons}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{consensus}\PYG{p}{(}\PYG{n}{sequences}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* allocate memory for MFE consensus structure (length + 1) */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{        }\PYG{o}{*}\PYG{n}{structure}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{sequences}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* predict Minmum Free Energy and corresponding secondary structure */}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{       }\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}alifold}\PYG{p}{(}\PYG{n}{sequences}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print consensus sequence, structure and MFE */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s [ \PYGZpc{}6.2f ]}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{cons}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* cleanup memory */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{cons}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{MFE Prediction (deviating from default settings)}
\label{\detokenize{examples/c:mfe-prediction-deviating-from-default-settings}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}string.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe.h\PYGZgt{}}

\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* initialize random number generator */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}init\PYGZus{}rand}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Generate a random sequence of 50 nucleotides */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{      }\PYG{o}{*}\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}random\PYGZus{}string}\PYG{p}{(}\PYG{l+m+mi}{50}\PYG{p}{,}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ACGU}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* allocate memory for MFE structure (length + 1) */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{      }\PYG{o}{*}\PYG{n}{structure}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* create a new model details structure to store the Model Settings */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}md\PYGZus{}t}\PYG{+w}{ }\PYG{n}{md}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* ALWAYS set default model settings first! */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}md\PYGZus{}set\PYGZus{}default}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{n}{md}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* change temperature and activate G\PYGZhy{}Quadruplex prediction */}
\PYG{+w}{  }\PYG{n}{md}\PYG{p}{.}\PYG{n}{temperature}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mf}{25.0}\PYG{p}{;}\PYG{+w}{ }\PYG{c+cm}{/* 25 Deg Celcius */}
\PYG{+w}{  }\PYG{n}{md}\PYG{p}{.}\PYG{n}{gquad}\PYG{+w}{        }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{;}\PYG{+w}{    }\PYG{c+cm}{/* Turn\PYGZhy{}on G\PYGZhy{}Quadruples support */}

\PYG{+w}{  }\PYG{c+cm}{/* create a fold compound */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{md}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* predict Minmum Free Energy and corresponding secondary structure */}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{                 }\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}mfe}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print sequence, structure and MFE */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s [ \PYGZpc{}6.2f ]}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* cleanup memory */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}free}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{Soft Constraints}
\label{\detokenize{examples/c:soft-constraints}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe.h\PYGZgt{}}

\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{c+cm}{/* initialize random number generator */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}init\PYGZus{}rand}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Generate a random sequence of 50 nucleotides */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{                  }\PYG{o}{*}\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}random\PYGZus{}string}\PYG{p}{(}\PYG{l+m+mi}{50}\PYG{p}{,}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ACGU}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Create a fold compound for the sequence */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* Add soft constraint of \PYGZhy{}1.7 kcal/mol to nucleotide 5 whenever it appears in an unpaired context */}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}sc\PYGZus{}add\PYGZus{}up}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{l+m+mi}{5}\PYG{p}{,}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}1.7}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* allocate memory for MFE structure (length + 1) */}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{structure}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{l+m+mi}{51}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* predict Minmum Free Energy and corresponding secondary structure */}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{ }\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}mfe}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* print seqeunce, structure and MFE */}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s [ \PYGZpc{}6.2f ]}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* cleanup memory */}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}free}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\subsection{A more elaborate (old) example}
\label{\detokenize{examples/c:a-more-elaborate-old-example}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}math.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZlt{}string.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}utils.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}fold\PYGZus{}vars.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}fold.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}part\PYGZus{}func.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}inverse.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}RNAstruct.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}treedist.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}stringdist.h\PYGZdq{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{  }\PYG{c+cpf}{\PYGZdq{}profiledist.h\PYGZdq{}}

\PYG{k+kt}{void}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{        }\PYG{o}{*}\PYG{n}{seq1}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{CGCAGGGAUACCCGCG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{seq2}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{GCGCCCAUAGGGACGC}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{              }\PYG{o}{*}\PYG{n}{struct1}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{struct2}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{xstruc}\PYG{p}{;}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{       }\PYG{n}{e1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{e2}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{tree\PYGZus{}dist}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{string\PYGZus{}dist}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{profile\PYGZus{}dist}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{kT}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{Tree}\PYG{+w}{        }\PYG{o}{*}\PYG{n}{T1}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{T2}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{swString}\PYG{+w}{    }\PYG{o}{*}\PYG{n}{S1}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{S2}\PYG{p}{;}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{       }\PYG{o}{*}\PYG{n}{pf1}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{pf2}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{FLT\PYGZus{}OR\PYGZus{}DBL}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{bppm}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* fold at 30C instead of the default 37C */}
\PYG{+w}{  }\PYG{n}{temperature}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mf}{30.}\PYG{p}{;}\PYG{+w}{       }\PYG{c+cm}{/* must be set *before* initializing  */}

\PYG{+w}{  }\PYG{c+cm}{/* allocate memory for structure and fold */}
\PYG{+w}{  }\PYG{n}{struct1}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{space}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{e1}\PYG{+w}{      }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{fold}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{struct1}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{struct2}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{space}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq2}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{e2}\PYG{+w}{      }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{fold}\PYG{p}{(}\PYG{n}{seq2}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{struct2}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{free\PYGZus{}arrays}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}\PYG{+w}{      }\PYG{c+cm}{/* free arrays used in fold() */}

\PYG{+w}{  }\PYG{c+cm}{/* produce tree and string representations for comparison */}
\PYG{+w}{  }\PYG{n}{xstruc}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{expand\PYGZus{}Full}\PYG{p}{(}\PYG{n}{struct1}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{T1}\PYG{+w}{      }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{make\PYGZus{}tree}\PYG{p}{(}\PYG{n}{xstruc}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{S1}\PYG{+w}{      }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{Make\PYGZus{}swString}\PYG{p}{(}\PYG{n}{xstruc}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{xstruc}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{xstruc}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{expand\PYGZus{}Full}\PYG{p}{(}\PYG{n}{struct2}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{T2}\PYG{+w}{      }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{make\PYGZus{}tree}\PYG{p}{(}\PYG{n}{xstruc}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{S2}\PYG{+w}{      }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{Make\PYGZus{}swString}\PYG{p}{(}\PYG{n}{xstruc}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{xstruc}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* calculate tree edit distance and aligned structures with gaps */}
\PYG{+w}{  }\PYG{n}{edit\PYGZus{}backtrack}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{tree\PYGZus{}dist}\PYG{+w}{       }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{tree\PYGZus{}edit\PYGZus{}distance}\PYG{p}{(}\PYG{n}{T1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{T2}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free\PYGZus{}tree}\PYG{p}{(}\PYG{n}{T1}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free\PYGZus{}tree}\PYG{p}{(}\PYG{n}{T2}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{unexpand\PYGZus{}aligned\PYGZus{}F}\PYG{p}{(}\PYG{n}{aligned\PYGZus{}line}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s  \PYGZpc{}3.2f}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{aligned\PYGZus{}line}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{aligned\PYGZus{}line}\PYG{p}{[}\PYG{l+m+mi}{1}\PYG{p}{]}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{tree\PYGZus{}dist}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* same thing using string edit (alignment) distance */}
\PYG{+w}{  }\PYG{n}{string\PYGZus{}dist}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{string\PYGZus{}edit\PYGZus{}distance}\PYG{p}{(}\PYG{n}{S1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{S2}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{S1}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{S2}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s  mfe=\PYGZpc{}5.2f}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s  mfe=\PYGZpc{}5.2f  dist=\PYGZpc{}3.2f}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{         }\PYG{n}{aligned\PYGZus{}line}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{e1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{aligned\PYGZus{}line}\PYG{p}{[}\PYG{l+m+mi}{1}\PYG{p}{]}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{e2}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{string\PYGZus{}dist}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* for longer sequences one should also set a scaling factor for}
\PYG{c+cm}{   * partition function folding, e.g: */}
\PYG{+w}{  }\PYG{n}{kT}\PYG{+w}{        }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{temperature}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mf}{273.15}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{l+m+mf}{1.98717}\PYG{+w}{ }\PYG{o}{/}\PYG{+w}{ }\PYG{l+m+mf}{1000.}\PYG{p}{;}\PYG{+w}{ }\PYG{c+cm}{/* kT in kcal/mol */}
\PYG{+w}{  }\PYG{n}{pf\PYGZus{}scale}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{exp}\PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{n}{e1}\PYG{+w}{ }\PYG{o}{/}\PYG{+w}{ }\PYG{n}{kT}\PYG{+w}{ }\PYG{o}{/}\PYG{+w}{ }\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{c+cm}{/* calculate partition function and base pair probabilities */}
\PYG{+w}{  }\PYG{n}{e1}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{pf\PYGZus{}fold}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{struct1}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{c+cm}{/* get the base pair probability matrix for the previous run of pf\PYGZus{}fold() */}
\PYG{+w}{  }\PYG{n}{bppm}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{export\PYGZus{}bppm}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{pf1}\PYG{+w}{   }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{Make\PYGZus{}bp\PYGZus{}profile\PYGZus{}bppm}\PYG{p}{(}\PYG{n}{bppm}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{e2}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{pf\PYGZus{}fold}\PYG{p}{(}\PYG{n}{seq2}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{struct2}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{c+cm}{/* get the base pair probability matrix for the previous run of pf\PYGZus{}fold() */}
\PYG{+w}{  }\PYG{n}{bppm}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{export\PYGZus{}bppm}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{pf2}\PYG{+w}{   }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{Make\PYGZus{}bp\PYGZus{}profile\PYGZus{}bppm}\PYG{p}{(}\PYG{n}{bppm}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq2}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{free\PYGZus{}pf\PYGZus{}arrays}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}\PYG{+w}{   }\PYG{c+cm}{/* free space allocated for pf\PYGZus{}fold() */}

\PYG{+w}{  }\PYG{n}{profile\PYGZus{}dist}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{profile\PYGZus{}edit\PYGZus{}distance}\PYG{p}{(}\PYG{n}{pf1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{pf2}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s  free energy=\PYGZpc{}5.2f}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s  free energy=\PYGZpc{}5.2f  dist=\PYGZpc{}3.2f}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{         }\PYG{n}{aligned\PYGZus{}line}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{e1}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{aligned\PYGZus{}line}\PYG{p}{[}\PYG{l+m+mi}{1}\PYG{p}{]}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{e2}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{profile\PYGZus{}dist}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{free\PYGZus{}profile}\PYG{p}{(}\PYG{n}{pf1}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free\PYGZus{}profile}\PYG{p}{(}\PYG{n}{pf2}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}

\sphinxstepscope


\section{Python Examples}
\label{\detokenize{examples/python:python-examples}}\label{\detokenize{examples/python::doc}}

\subsection{MFE Prediction (flat interface)}
\label{\detokenize{examples/python:mfe-prediction-flat-interface}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{c+c1}{\PYGZsh{} The RNA sequence}
\PYG{n}{seq} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA}\PYG{l+s+s2}{\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} compute minimum free energy (MFE) and corresponding structure}
\PYG{p}{(}\PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} print output}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ [ }\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{ ]}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,} \PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{MFE Prediction (object oriented interface)}
\label{\detokenize{examples/python:mfe-prediction-object-oriented-interface}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}\PYG{p}{;}

\PYG{n}{sequence} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{CGCAGGGAUACCCGCG}\PYG{l+s+s2}{\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} create new fold\PYGZus{}compound object}
\PYG{n}{fc} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute minimum free energy (mfe) and corresponding structure}
\PYG{p}{(}\PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} print output}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ [ }\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{ ]}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{Suboptimal Structure Prediction}
\label{\detokenize{examples/python:suboptimal-structure-prediction}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{n}{sequence} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{GGGGAAAACCCC}\PYG{l+s+s2}{\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} Set global switch for unique ML decomposition}
\PYG{n}{RNA}\PYG{o}{.}\PYG{n}{cvar}\PYG{o}{.}\PYG{n}{uniq\PYGZus{}ML} \PYG{o}{=} \PYG{l+m+mi}{1}

\PYG{n}{subopt\PYGZus{}data} \PYG{o}{=} \PYG{p}{\PYGZob{}} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{counter}\PYG{l+s+s1}{\PYGZsq{}} \PYG{p}{:} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{sequence}\PYG{l+s+s1}{\PYGZsq{}} \PYG{p}{:} \PYG{n}{sequence} \PYG{p}{\PYGZcb{}}

\PYG{c+c1}{\PYGZsh{} Print a subopt result as FASTA record}
\PYG{k}{def}\PYG{+w}{ }\PYG{n+nf}{print\PYGZus{}subopt\PYGZus{}result}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{,} \PYG{n}{energy}\PYG{p}{,} \PYG{n}{data}\PYG{p}{)}\PYG{p}{:}
    \PYG{k}{if} \PYG{o+ow}{not} \PYG{n}{structure} \PYG{o}{==} \PYG{k+kc}{None}\PYG{p}{:}
        \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{\PYGZgt{}subopt }\PYG{l+s+si}{\PYGZob{}:d\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{data}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{counter}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{p}{)}\PYG{p}{)}
        \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ [}\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{]}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{data}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{sequence}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{p}{,} \PYG{n}{structure}\PYG{p}{,} \PYG{n}{energy}\PYG{p}{)}\PYG{p}{)}
        \PYG{c+c1}{\PYGZsh{} increase structure counter}
        \PYG{n}{data}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{counter}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]} \PYG{o}{=} \PYG{n}{data}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{counter}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]} \PYG{o}{+} \PYG{l+m+mi}{1}

\PYG{c+c1}{\PYGZsh{} Create a \PYGZsq{}fold\PYGZus{}compound\PYGZsq{} for our sequence}
\PYG{n}{a} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} Enumerate all structures 500 dacal/mol = 5 kcal/mol arround}
\PYG{c+c1}{\PYGZsh{} the MFE and print each structure using the function above}
\PYG{n}{a}\PYG{o}{.}\PYG{n}{subopt\PYGZus{}cb}\PYG{p}{(}\PYG{l+m+mi}{500}\PYG{p}{,} \PYG{n}{print\PYGZus{}subopt\PYGZus{}result}\PYG{p}{,} \PYG{n}{subopt\PYGZus{}data}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\subsection{Boltzmann Sampling}
\label{\detokenize{examples/python:boltzmann-sampling}}
\sphinxAtStartPar
a.k.a. Probabilistic Backtracing

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{n}{sequence} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{UGGGAAUAGUCUCUUCCGAGUCUCGCGGGCGACGGGCGAUCUUCGAAAGUGGAAUCCGUACUUAUACCGCCUGUGCGGACUACUAUCCUGACCACAUAGU}\PYG{l+s+s2}{\PYGZdq{}}

\PYG{k}{def}\PYG{+w}{ }\PYG{n+nf}{store\PYGZus{}structure}\PYG{p}{(}\PYG{n}{s}\PYG{p}{,} \PYG{n}{data}\PYG{p}{)}\PYG{p}{:}
\PYG{+w}{    }\PYG{l+s+sd}{\PYGZdq{}\PYGZdq{}\PYGZdq{}}
\PYG{l+s+sd}{    A simple callback function that stores}
\PYG{l+s+sd}{    a structure sample into a list}
\PYG{l+s+sd}{    \PYGZdq{}\PYGZdq{}\PYGZdq{}}
    \PYG{k}{if} \PYG{n}{s}\PYG{p}{:}
        \PYG{n}{data}\PYG{o}{.}\PYG{n}{append}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}


\PYG{l+s+sd}{\PYGZdq{}\PYGZdq{}\PYGZdq{}}
\PYG{l+s+sd}{First we prepare a fold\PYGZus{}compound object}
\PYG{l+s+sd}{\PYGZdq{}\PYGZdq{}\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} create model details}
\PYG{n}{md} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{md}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} activate unique multibranch loop decomposition}
\PYG{n}{md}\PYG{o}{.}\PYG{n}{uniq\PYGZus{}ML} \PYG{o}{=} \PYG{l+m+mi}{1}

\PYG{c+c1}{\PYGZsh{} create fold compound object}
\PYG{n}{fc} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,} \PYG{n}{md}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute MFE}
\PYG{p}{(}\PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} rescale Boltzmann factors according to MFE}
\PYG{n}{fc}\PYG{o}{.}\PYG{n}{exp\PYGZus{}params\PYGZus{}rescale}\PYG{p}{(}\PYG{n}{mfe}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute partition function to fill DP matrices}
\PYG{n}{fc}\PYG{o}{.}\PYG{n}{pf}\PYG{p}{(}\PYG{p}{)}

\PYG{l+s+sd}{\PYGZdq{}\PYGZdq{}\PYGZdq{}}
\PYG{l+s+sd}{Now we are ready to perform Boltzmann sampling}
\PYG{l+s+sd}{\PYGZdq{}\PYGZdq{}\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} 1. backtrace a single sub\PYGZhy{}structure of length 10}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack5}\PYG{p}{(}\PYG{l+m+mi}{10}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}


\PYG{c+c1}{\PYGZsh{} 2. backtrace a single sub\PYGZhy{}structure of length 50}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack5}\PYG{p}{(}\PYG{l+m+mi}{50}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 3. backtrace multiple sub\PYGZhy{}structures of length 10 at once}
\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack5}\PYG{p}{(}\PYG{l+m+mi}{20}\PYG{p}{,} \PYG{l+m+mi}{10}\PYG{p}{)}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 4. backtrace multiple sub\PYGZhy{}structures of length 50 at once}
\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack5}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,} \PYG{l+m+mi}{50}\PYG{p}{)}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 5. backtrace a single structure (full length)}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack}\PYG{p}{(}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 6. backtrace multiple structures at once}
\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{)}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 7. backtrace multiple structures non\PYGZhy{}redundantly}
\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{PBACKTRACK\PYGZus{}NON\PYGZus{}REDUNDANT}\PYG{p}{)}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 8. backtrace multiple structures non\PYGZhy{}redundantly (with resume option)}
\PYG{n}{num\PYGZus{}samples} \PYG{o}{=} \PYG{l+m+mi}{500}
\PYG{n}{iterations}  \PYG{o}{=} \PYG{l+m+mi}{15}
\PYG{n}{d}           \PYG{o}{=} \PYG{k+kc}{None} \PYG{c+c1}{\PYGZsh{} pbacktrack memory object}
\PYG{n}{s\PYGZus{}list}      \PYG{o}{=} \PYG{p}{[}\PYG{p}{]}

\PYG{k}{for} \PYG{n}{i} \PYG{o+ow}{in} \PYG{n+nb}{range}\PYG{p}{(}\PYG{l+m+mi}{0}\PYG{p}{,} \PYG{n}{iterations}\PYG{p}{)}\PYG{p}{:}
    \PYG{n}{d}\PYG{p}{,} \PYG{n}{ss}   \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack}\PYG{p}{(}\PYG{n}{num\PYGZus{}samples}\PYG{p}{,} \PYG{n}{d}\PYG{p}{,} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{PBACKTRACK\PYGZus{}NON\PYGZus{}REDUNDANT}\PYG{p}{)}
    \PYG{n}{s\PYGZus{}list}  \PYG{o}{=} \PYG{n}{s\PYGZus{}list} \PYG{o}{+} \PYG{n+nb}{list}\PYG{p}{(}\PYG{n}{ss}\PYG{p}{)}

\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{s\PYGZus{}list}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 9. backtrace multiple sub\PYGZhy{}structures of length 50 in callback mode}
\PYG{n}{ss}  \PYG{o}{=} \PYG{p}{[}\PYG{p}{]}
\PYG{n}{i}   \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack5}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,} \PYG{l+m+mi}{50}\PYG{p}{,} \PYG{n}{store\PYGZus{}structure}\PYG{p}{,} \PYG{n}{ss}\PYG{p}{)}

\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{ss}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 10. backtrace multiple full\PYGZhy{}length structures in callback mode}
\PYG{n}{ss}  \PYG{o}{=} \PYG{n+nb}{list}\PYG{p}{(}\PYG{p}{)}
\PYG{n}{i}   \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,} \PYG{n}{store\PYGZus{}structure}\PYG{p}{,} \PYG{n}{ss}\PYG{p}{)}

\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{ss}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 11. non\PYGZhy{}redundantly backtrace multiple full\PYGZhy{}length structures in callback mode}
\PYG{n}{ss}  \PYG{o}{=} \PYG{n+nb}{list}\PYG{p}{(}\PYG{p}{)}
\PYG{n}{i}   \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,} \PYG{n}{store\PYGZus{}structure}\PYG{p}{,} \PYG{n}{ss}\PYG{p}{,} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{PBACKTRACK\PYGZus{}NON\PYGZus{}REDUNDANT}\PYG{p}{)}

\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{ss}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 12. non\PYGZhy{}redundantly backtrace multiple full length structures}
\PYG{c+c1}{\PYGZsh{} in callback mode with resume option}
\PYG{n}{ss} \PYG{o}{=} \PYG{p}{[}\PYG{p}{]}
\PYG{n}{d}  \PYG{o}{=} \PYG{k+kc}{None} \PYG{c+c1}{\PYGZsh{} pbacktrack memory object}

\PYG{k}{for} \PYG{n}{i} \PYG{o+ow}{in} \PYG{n+nb}{range}\PYG{p}{(}\PYG{l+m+mi}{0}\PYG{p}{,} \PYG{n}{iterations}\PYG{p}{)}\PYG{p}{:}
    \PYG{n}{d}\PYG{p}{,} \PYG{n}{i} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack}\PYG{p}{(}\PYG{n}{num\PYGZus{}samples}\PYG{p}{,} \PYG{n}{store\PYGZus{}structure}\PYG{p}{,} \PYG{n}{ss}\PYG{p}{,} \PYG{n}{d}\PYG{p}{,} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{PBACKTRACK\PYGZus{}NON\PYGZus{}REDUNDANT}\PYG{p}{)}

\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{ss}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 13. backtrace a single substructure from the sequence interval [10:50]}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack\PYGZus{}sub}\PYG{p}{(}\PYG{l+m+mi}{10}\PYG{p}{,} \PYG{l+m+mi}{50}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 14. backtrace multiple substructures from the sequence interval [10:50]}
\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack\PYGZus{}sub}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,} \PYG{l+m+mi}{10}\PYG{p}{,} \PYG{l+m+mi}{50}\PYG{p}{)}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} 15. backtrace multiple substructures from the sequence interval [10:50] non\PYGZhy{}redundantly}
\PYG{k}{for} \PYG{n}{s} \PYG{o+ow}{in} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pbacktrack\PYGZus{}sub}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,} \PYG{l+m+mi}{10}\PYG{p}{,} \PYG{l+m+mi}{50}\PYG{p}{,} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{PBACKTRACK\PYGZus{}NON\PYGZus{}REDUNDANT}\PYG{p}{)}\PYG{p}{:}
    \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{s}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{RNAfold \sphinxhyphen{}p MEA equivalent}
\label{\detokenize{examples/python:rnafold-p-mea-equivalent}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+ch}{\PYGZsh{}!/usr/bin/python}
\PYG{c+c1}{\PYGZsh{}}

\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{n}{seq} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{AUUUCCACUAGAGAAGGUCUAGAGUGUUUGUCGUUUGUCAGAAGUCCCUAUUCCAGGUACGAACACGGUGGAUAUGUUCGACGACAGGAUCGGCGCACUA}\PYG{l+s+s2}{\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} create fold\PYGZus{}compound data structure (required for all subsequently applied  algorithms)}
\PYG{n}{fc} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute MFE and MFE structure}
\PYG{p}{(}\PYG{n}{mfe\PYGZus{}struct}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} rescale Boltzmann factors for partition function computation}
\PYG{n}{fc}\PYG{o}{.}\PYG{n}{exp\PYGZus{}params\PYGZus{}rescale}\PYG{p}{(}\PYG{n}{mfe}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute partition function}
\PYG{p}{(}\PYG{n}{pp}\PYG{p}{,} \PYG{n}{pf}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{pf}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute centroid structure}
\PYG{p}{(}\PYG{n}{centroid\PYGZus{}struct}\PYG{p}{,} \PYG{n}{dist}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{centroid}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute free energy of centroid structure}
\PYG{n}{centroid\PYGZus{}en} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{eval\PYGZus{}structure}\PYG{p}{(}\PYG{n}{centroid\PYGZus{}struct}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute MEA structure}
\PYG{p}{(}\PYG{n}{MEA\PYGZus{}struct}\PYG{p}{,} \PYG{n}{MEA}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{MEA}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} compute free energy of MEA structure}
\PYG{n}{MEA\PYGZus{}en} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{eval\PYGZus{}structure}\PYG{p}{(}\PYG{n}{MEA\PYGZus{}struct}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} print everything like RNAfold \PYGZhy{}p \PYGZhy{}\PYGZhy{}MEA}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ (}\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{)}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,} \PYG{n}{mfe\PYGZus{}struct}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)}\PYG{p}{)}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ [}\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{]}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{pp}\PYG{p}{,} \PYG{n}{pf}\PYG{p}{)}\PYG{p}{)}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ }\PYG{l+s+s2}{\PYGZob{}\PYGZob{}}\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{ d=}\PYG{l+s+si}{\PYGZob{}:.2f\PYGZcb{}}\PYG{l+s+s2}{\PYGZcb{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{centroid\PYGZus{}struct}\PYG{p}{,} \PYG{n}{centroid\PYGZus{}en}\PYG{p}{,} \PYG{n}{dist}\PYG{p}{)}\PYG{p}{)}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ }\PYG{l+s+s2}{\PYGZob{}\PYGZob{}}\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{ MEA=}\PYG{l+s+si}{\PYGZob{}:.2f\PYGZcb{}}\PYG{l+s+s2}{\PYGZcb{}\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{MEA\PYGZus{}struct}\PYG{p}{,} \PYG{n}{MEA\PYGZus{}en}\PYG{p}{,} \PYG{n}{MEA}\PYG{p}{)}\PYG{p}{)}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{ frequency of mfe structure in ensemble }\PYG{l+s+si}{\PYGZob{}:g\PYGZcb{}}\PYG{l+s+s2}{; ensemble diversity }\PYG{l+s+si}{\PYGZob{}:\PYGZhy{}6.2f\PYGZcb{}}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{fc}\PYG{o}{.}\PYG{n}{pr\PYGZus{}structure}\PYG{p}{(}\PYG{n}{mfe\PYGZus{}struct}\PYG{p}{)}\PYG{p}{,} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{mean\PYGZus{}bp\PYGZus{}distance}\PYG{p}{(}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{MFE Consensus Structure Prediction}
\label{\detokenize{examples/python:mfe-consensus-structure-prediction}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{c+c1}{\PYGZsh{} The RNA sequence alignment}
\PYG{n}{sequences} \PYG{o}{=} \PYG{p}{[}
    \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGU}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{,}
    \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGU}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{,}
    \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{\PYGZhy{}\PYGZhy{}\PYGZhy{}CUCGACACCACU\PYGZhy{}\PYGZhy{}\PYGZhy{}GCCUCGGUUACCCAUCGGUGCAGUGCGGGU}\PYG{l+s+s2}{\PYGZdq{}}
\PYG{p}{]}

\PYG{c+c1}{\PYGZsh{} compute the consensus sequence}
\PYG{n}{cons} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{consensus}\PYG{p}{(}\PYG{n}{sequences}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} predict Minmum Free Energy and corresponding secondary structure}
\PYG{p}{(}\PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{alifold}\PYG{p}{(}\PYG{n}{sequences}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} print output}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ [ }\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{ ]}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{cons}\PYG{p}{,} \PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{MFE Prediction (deviating from default settings)}
\label{\detokenize{examples/python:mfe-prediction-deviating-from-default-settings}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{c+c1}{\PYGZsh{} The RNA sequence}
\PYG{n}{seq} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA}\PYG{l+s+s2}{\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} create a new model details structure}
\PYG{n}{md} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{md}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} change temperature and dangle model}
\PYG{n}{md}\PYG{o}{.}\PYG{n}{temperature} \PYG{o}{=} \PYG{l+m+mf}{20.0} \PYG{c+c1}{\PYGZsh{} 20 Deg Celcius}
\PYG{n}{md}\PYG{o}{.}\PYG{n}{dangles}     \PYG{o}{=} \PYG{l+m+mi}{1}    \PYG{c+c1}{\PYGZsh{} Dangle Model 1}

\PYG{c+c1}{\PYGZsh{} create a fold compound}
\PYG{n}{fc} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,} \PYG{n}{md}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} predict Minmum Free Energy and corresponding secondary structure}
\PYG{p}{(}\PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} print sequence, structure and MFE}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ [ }\PYG{l+s+si}{\PYGZob{}:6.2f\PYGZcb{}}\PYG{l+s+s2}{ ]}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,} \PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{Fun with Soft Constraints}
\label{\detokenize{examples/python:fun-with-soft-constraints}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{n}{seq1} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{CUCGUCGCCUUAAUCCAGUGCGGGCGCUAGACAUCUAGUUAUCGCCGCAA}\PYG{l+s+s2}{\PYGZdq{}}

\PYG{c+c1}{\PYGZsh{} Turn\PYGZhy{}off dangles globally}
\PYG{n}{RNA}\PYG{o}{.}\PYG{n}{cvar}\PYG{o}{.}\PYG{n}{dangles} \PYG{o}{=} \PYG{l+m+mi}{0}

\PYG{c+c1}{\PYGZsh{} Data structure that will be passed to our MaximumMatching() callback with two components:}
\PYG{c+c1}{\PYGZsh{} 1. a \PYGZsq{}dummy\PYGZsq{} fold\PYGZus{}compound to evaluate loop energies w/o constraints, 2. a fresh set of energy parameters}
\PYG{n}{mm\PYGZus{}data} \PYG{o}{=} \PYG{p}{\PYGZob{}} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{dummy}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{:} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{)}\PYG{p}{,} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{params}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{:} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{param}\PYG{p}{(}\PYG{p}{)} \PYG{p}{\PYGZcb{}}

\PYG{c+c1}{\PYGZsh{} Nearest Neighbor Parameter reversal functions}
\PYG{n}{revert\PYGZus{}NN} \PYG{o}{=} \PYG{p}{\PYGZob{}} 
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}PAIR\PYGZus{}HP}\PYG{p}{:}       \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{f}\PYG{o}{.}\PYG{n}{eval\PYGZus{}hp\PYGZus{}loop}\PYG{p}{(}\PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{)} \PYG{o}{\PYGZhy{}} \PYG{l+m+mi}{100}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}PAIR\PYGZus{}IL}\PYG{p}{:}       \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{f}\PYG{o}{.}\PYG{n}{eval\PYGZus{}int\PYGZus{}loop}\PYG{p}{(}\PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{)} \PYG{o}{\PYGZhy{}} \PYG{l+m+mi}{100}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}PAIR\PYGZus{}ML}\PYG{p}{:}       \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLclosing} \PYG{o}{\PYGZhy{}} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLintern}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]} \PYG{o}{\PYGZhy{}} \PYG{p}{(}\PYG{n}{j} \PYG{o}{\PYGZhy{}} \PYG{n}{i} \PYG{o}{\PYGZhy{}} \PYG{n}{k} \PYG{o}{+} \PYG{n}{l} \PYG{o}{\PYGZhy{}} \PYG{l+m+mi}{2}\PYG{p}{)} \PYG{o}{*} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLbase} \PYG{o}{\PYGZhy{}} \PYG{l+m+mi}{100}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}ML\PYGZus{}STEM}\PYG{p}{:}    \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLintern}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]} \PYG{o}{\PYGZhy{}} \PYG{p}{(}\PYG{n}{l} \PYG{o}{\PYGZhy{}} \PYG{n}{k} \PYG{o}{\PYGZhy{}} \PYG{l+m+mi}{1}\PYG{p}{)} \PYG{o}{*} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLbase}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}STEM}\PYG{p}{:}       \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLintern}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]} \PYG{o}{\PYGZhy{}} \PYG{p}{(}\PYG{n}{j} \PYG{o}{\PYGZhy{}} \PYG{n}{i} \PYG{o}{\PYGZhy{}} \PYG{n}{k} \PYG{o}{+} \PYG{n}{l}\PYG{p}{)} \PYG{o}{*} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLbase}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}ML}\PYG{p}{:}         \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{p}{(}\PYG{n}{j} \PYG{o}{\PYGZhy{}} \PYG{n}{i} \PYG{o}{\PYGZhy{}} \PYG{n}{k} \PYG{o}{+} \PYG{n}{l}\PYG{p}{)} \PYG{o}{*} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLbase}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}ML\PYGZus{}ML}\PYG{p}{:}      \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{l+m+mi}{0}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}UP}\PYG{p}{:}         \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{p}{(}\PYG{n}{j} \PYG{o}{\PYGZhy{}} \PYG{n}{i} \PYG{o}{+} \PYG{l+m+mi}{1}\PYG{p}{)} \PYG{o}{*} \PYG{n}{p}\PYG{o}{.}\PYG{n}{MLbase}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}STEM}\PYG{p}{:}      \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{f}\PYG{o}{.}\PYG{n}{eval\PYGZus{}ext\PYGZus{}stem}\PYG{p}{(}\PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{)}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}EXT}\PYG{p}{:}       \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{l+m+mi}{0}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}STEM\PYGZus{}EXT}\PYG{p}{:}  \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{f}\PYG{o}{.}\PYG{n}{eval\PYGZus{}ext\PYGZus{}stem}\PYG{p}{(}\PYG{n}{i}\PYG{p}{,} \PYG{n}{k}\PYG{p}{)}\PYG{p}{,}
    \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}EXT\PYGZus{}STEM}\PYG{p}{:}  \PYG{k}{lambda} \PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{f}\PYG{p}{,} \PYG{n}{p}\PYG{p}{:} \PYG{o}{\PYGZhy{}} \PYG{n}{f}\PYG{o}{.}\PYG{n}{eval\PYGZus{}ext\PYGZus{}stem}\PYG{p}{(}\PYG{n}{l}\PYG{p}{,} \PYG{n}{j}\PYG{p}{)}\PYG{p}{,}
            \PYG{p}{\PYGZcb{}}

\PYG{c+c1}{\PYGZsh{} Maximum Matching callback function (will be called by RNAlib in each decomposition step)}
\PYG{k}{def}\PYG{+w}{ }\PYG{n+nf}{MaximumMatching}\PYG{p}{(}\PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{d}\PYG{p}{,} \PYG{n}{data}\PYG{p}{)}\PYG{p}{:}
    \PYG{k}{return} \PYG{n}{revert\PYGZus{}NN}\PYG{p}{[}\PYG{n}{d}\PYG{p}{]}\PYG{p}{(}\PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{k}\PYG{p}{,} \PYG{n}{l}\PYG{p}{,} \PYG{n}{data}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{dummy}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{p}{,} \PYG{n}{data}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{params}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} Create a \PYGZsq{}fold\PYGZus{}compound\PYGZsq{} for our sequence}
\PYG{n}{fc} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} Add maximum matching soft\PYGZhy{}constraints}
\PYG{n}{fc}\PYG{o}{.}\PYG{n}{sc\PYGZus{}add\PYGZus{}f}\PYG{p}{(}\PYG{n}{MaximumMatching}\PYG{p}{)}
\PYG{n}{fc}\PYG{o}{.}\PYG{n}{sc\PYGZus{}add\PYGZus{}data}\PYG{p}{(}\PYG{n}{mm\PYGZus{}data}\PYG{p}{,} \PYG{k+kc}{None}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} Call MFE algorithm}
\PYG{p}{(}\PYG{n}{s}\PYG{p}{,} \PYG{n}{mm}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} print result}
\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s+si}{\PYGZob{}\PYGZcb{}}\PYG{l+s+s2}{ (MM: }\PYG{l+s+si}{\PYGZob{}:d\PYGZcb{}}\PYG{l+s+s2}{)}\PYG{l+s+s2}{\PYGZdq{}}\PYG{o}{.}\PYG{n}{format}\PYG{p}{(}\PYG{n}{seq1}\PYG{p}{,} \PYG{n}{s}\PYG{p}{,} \PYG{n+nb}{int}\PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{n}{mm}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}

\end{sphinxVerbatim}


\subsection{Parsing Alignments}
\label{\detokenize{examples/python:parsing-alignments}}
\sphinxAtStartPar
Reading the first entry from a STOCKHOLM 1.0 formatted MSA file \sphinxcode{\sphinxupquote{msa.stk}} may look like this:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{num}\PYG{p}{,} \PYG{n}{names}\PYG{p}{,} \PYG{n}{aln}\PYG{p}{,} \PYG{n+nb}{id}\PYG{p}{,} \PYG{n}{ss} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{file\PYGZus{}msa\PYGZus{}read}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{msa.stk}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similarly, if the file contains more than one alignment, one can use the {\hyperref[\detokenize{api_python:RNA.file_msa_read_record}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read\_record()}}}}}
function to subsequently read each alignment separately:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k}{with} \PYG{n+nb}{open}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{msa.stk}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{)} \PYG{k}{as} \PYG{n}{f}\PYG{p}{:}
    \PYG{k}{while} \PYG{k+kc}{True}\PYG{p}{:}
        \PYG{n}{num}\PYG{p}{,} \PYG{n}{names}\PYG{p}{,} \PYG{n}{aln}\PYG{p}{,} \PYG{n+nb}{id}\PYG{p}{,} \PYG{n}{ss} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{file\PYGZus{}msa\PYGZus{}read\PYGZus{}record}\PYG{p}{(}\PYG{n}{f}\PYG{p}{)}
        \PYG{k}{if} \PYG{n}{num} \PYG{o}{\PYGZlt{}} \PYG{l+m+mi}{0}\PYG{p}{:}
            \PYG{k}{break}
        \PYG{k}{elif} \PYG{n}{num} \PYG{o}{==} \PYG{l+m+mi}{0}\PYG{p}{:}
            \PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{empty alignment}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{)}
        \PYG{k}{else}\PYG{p}{:}
            \PYG{n+nb}{print}\PYG{p}{(}\PYG{n}{names}\PYG{p}{,} \PYG{n}{aln}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
After successfully reading the first record, the variable \sphinxcode{\sphinxupquote{num}} contains the number of
sequences in the alignment (the actual return value of the C\sphinxhyphen{}function), while the variables
\sphinxcode{\sphinxupquote{names}}, \sphinxcode{\sphinxupquote{aln}}, \sphinxcode{\sphinxupquote{id}}, and \sphinxcode{\sphinxupquote{ss}} are lists of the sequence names and aligned sequences,
as well as strings holding the alignment ID and the structure as stated in the \sphinxcode{\sphinxupquote{SS\_cons}} line,
respectively.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The last two return values may be empty strings in case the alignment does not provide
the required data.
\end{sphinxadmonition}


\subsection{Logging}
\label{\detokenize{examples/python:logging}}
\sphinxAtStartPar
The example below demonstrates how log messages issued by the \sphinxtitleref{RNAlib}
C\sphinxhyphen{}library can be re\sphinxhyphen{}routed to the native Python \sphinxtitleref{logging} module.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{logging}


\PYG{c+c1}{\PYGZsh{} Set the default format and log\PYGZhy{}level for the Python `logging` module}
\PYG{n}{logging}\PYG{o}{.}\PYG{n}{basicConfig}\PYG{p}{(}\PYG{n+nb}{format}\PYG{o}{=}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+si}{\PYGZpc{}(levelname)s}\PYG{l+s+s1}{: }\PYG{l+s+si}{\PYGZpc{}(message)s}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{,} \PYG{n}{level}\PYG{o}{=}\PYG{n}{logging}\PYG{o}{.}\PYG{n}{DEBUG}\PYG{p}{)}


\PYG{k}{def}\PYG{+w}{ }\PYG{n+nf}{reroute\PYGZus{}logs}\PYG{p}{(}\PYG{n}{e}\PYG{p}{,} \PYG{n}{data}\PYG{p}{)}\PYG{p}{:}
\PYG{+w}{    }\PYG{l+s+sd}{\PYGZdq{}\PYGZdq{}\PYGZdq{}}
\PYG{l+s+sd}{    The wrapper callback function that receives RNAlib log messages}
\PYG{l+s+sd}{    and passes them through to the Python \PYGZsq{}logging\PYGZsq{} module}

\PYG{l+s+sd}{    Parameters}
\PYG{l+s+sd}{    \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}}

\PYG{l+s+sd}{    e: dict}
\PYG{l+s+sd}{        A dictionary that contains the log message, the log level,}
\PYG{l+s+sd}{        as well as source code file and line number that issued the}
\PYG{l+s+sd}{        log message}
\PYG{l+s+sd}{    data: object}
\PYG{l+s+sd}{        A data object that is passed through to this callback}
\PYG{l+s+sd}{    \PYGZdq{}\PYGZdq{}\PYGZdq{}}

    \PYG{n}{log\PYGZus{}reroute} \PYG{o}{=} \PYG{p}{\PYGZob{}}
      \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{LOG\PYGZus{}LEVEL\PYGZus{}ERROR}\PYG{p}{:} \PYG{n}{logging}\PYG{o}{.}\PYG{n}{error}\PYG{p}{,}
      \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{LOG\PYGZus{}LEVEL\PYGZus{}WARNING}\PYG{p}{:} \PYG{n}{logging}\PYG{o}{.}\PYG{n}{warning}\PYG{p}{,}
      \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{LOG\PYGZus{}LEVEL\PYGZus{}INFO}\PYG{p}{:} \PYG{n}{logging}\PYG{o}{.}\PYG{n}{info}\PYG{p}{,}
      \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{LOG\PYGZus{}LEVEL\PYGZus{}DEBUG}\PYG{p}{:} \PYG{n}{logging}\PYG{o}{.}\PYG{n}{debug}
    \PYG{p}{\PYGZcb{}}

    \PYG{c+c1}{\PYGZsh{} compose an example log message}
    \PYG{n}{message} \PYG{o}{=} \PYG{l+s+sa}{f}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{ViennaRNA: }\PYG{l+s+se}{\PYGZbs{}\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}}\PYG{n}{e}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{message}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{l+s+si}{\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}\PYGZdq{}}\PYG{l+s+s2}{ (}\PYG{l+s+si}{\PYGZob{}}\PYG{n}{e}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{file\PYGZus{}name}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{l+s+si}{\PYGZcb{}}\PYG{l+s+s2}{:}\PYG{l+s+si}{\PYGZob{}}\PYG{n}{e}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{line\PYGZus{}number}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{l+s+si}{\PYGZcb{}}\PYG{l+s+s2}{)}\PYG{l+s+s2}{\PYGZdq{}}

    \PYG{c+c1}{\PYGZsh{} send log message to appropriate logging channel}
    \PYG{k}{if} \PYG{n}{e}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{level}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]} \PYG{o+ow}{in} \PYG{n}{log\PYGZus{}reroute}\PYG{p}{:}
        \PYG{n}{log\PYGZus{}reroute}\PYG{p}{[}\PYG{n}{e}\PYG{p}{[}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{level}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{]}\PYG{p}{]}\PYG{p}{(}\PYG{n}{message}\PYG{p}{)}


\PYG{c+c1}{\PYGZsh{} turn\PYGZhy{}off RNAlib self logging}
\PYG{n}{RNA}\PYG{o}{.}\PYG{n}{log\PYGZus{}level\PYGZus{}set}\PYG{p}{(}\PYG{n}{RNA}\PYG{o}{.}\PYG{n}{LOG\PYGZus{}LEVEL\PYGZus{}SILENT}\PYG{p}{)}

\PYG{c+c1}{\PYGZsh{} attach RNAlib logging to python logging and capture all}
\PYG{c+c1}{\PYGZsh{} logs with level at least DEBUG}
\PYG{n}{RNA}\PYG{o}{.}\PYG{n}{log\PYGZus{}cb\PYGZus{}add}\PYG{p}{(}\PYG{n}{reroute\PYGZus{}logs}\PYG{p}{,} \PYG{n}{level} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{LOG\PYGZus{}LEVEL\PYGZus{}DEBUG}\PYG{p}{)}


\PYG{c+c1}{\PYGZsh{} compose an example call that might issue a few debug\PYGZhy{} or other}
\PYG{c+c1}{\PYGZsh{} log messages}
\PYG{n}{md} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{md}\PYG{p}{(}\PYG{n}{circ}\PYG{o}{=}\PYG{l+m+mi}{1}\PYG{p}{,} \PYG{n}{gquad}\PYG{o}{=}\PYG{l+m+mi}{1}\PYG{p}{)}
\PYG{n}{s} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{random\PYGZus{}string}\PYG{p}{(}\PYG{l+m+mi}{10}\PYG{p}{,} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{ACGU}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{)}

\PYG{n}{fc} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{s}\PYG{p}{,} \PYG{n}{md}\PYG{p}{)}

\PYG{n}{fc}\PYG{o}{.}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxstepscope


\section{Perl 5 Examples}
\label{\detokenize{examples/perl5:perl-5-examples}}\label{\detokenize{examples/perl5::doc}}

\subsection{MFE Prediction (flat interface)}
\label{\detokenize{examples/perl5:mfe-prediction-flat-interface}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{RNA}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} The RNA sequence}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA\PYGZdq{}}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} compute minimum free energy (MFE) and corresponding structure}
\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{fold}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} print output}
\PYG{n+nb}{printf}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}\PYGZpc{}s\PYGZbs{}n\PYGZpc{}s [ \PYGZpc{}6.2f ]\PYGZbs{}n\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{;}
\end{sphinxVerbatim}


\subsection{MFE Prediction (object oriented interface)}
\label{\detokenize{examples/perl5:mfe-prediction-object-oriented-interface}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+ch}{\PYGZsh{}!/usr/bin/perl}

\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{warnings}\PYG{p}{;}
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{strict}\PYG{p}{;}

\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{RNA}\PYG{p}{;}

\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq1}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}CGCAGGGAUACCCGCG\PYGZdq{}}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} create new fold\PYGZus{}compound object}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{k}{new}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq1}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} compute minimum free energy (mfe) and corresponding structure}
\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} print output}
\PYG{n+nb}{printf}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}\PYGZpc{}s [ \PYGZpc{}6.2f ]\PYGZbs{}n\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{;}
\end{sphinxVerbatim}


\subsection{MFE Consensus Structure Prediction}
\label{\detokenize{examples/perl5:mfe-consensus-structure-prediction}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{RNA}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} The RNA sequence alignment}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{sequences}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}
\PYG{+w}{    }\PYG{l+s}{\PYGZdq{}CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGU\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{l+s}{\PYGZdq{}CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGU\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{l+s}{\PYGZdq{}\PYGZhy{}\PYGZhy{}\PYGZhy{}CUCGACACCACU\PYGZhy{}\PYGZhy{}\PYGZhy{}GCCUCGGUUACCCAUCGGUGCAGUGCGGGU\PYGZdq{}}
\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} compute the consensus sequence}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{cons}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{consensus}\PYG{p}{(}\PYG{o}{\PYGZbs{}}\PYG{n+nv}{@}\PYG{n+nv}{sequences}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} predict Minmum Free Energy and corresponding secondary structure}
\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{alifold}\PYG{p}{(}\PYG{o}{\PYGZbs{}}\PYG{n+nv}{@}\PYG{n+nv}{sequences}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} print output}
\PYG{n+nb}{printf}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}\PYGZpc{}s\PYGZbs{}n\PYGZpc{}s [ \PYGZpc{}6.2f ]\PYGZbs{}n\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{cons}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{;}
\end{sphinxVerbatim}


\subsection{MFE Prediction (deviating from default settings)}
\label{\detokenize{examples/perl5:mfe-prediction-deviating-from-default-settings}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{RNA}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} The RNA sequence}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA\PYGZdq{}}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} create a new model details structure}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{md}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{k}{new}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{md}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} change temperature and dangle model}
\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{md}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{temperature}\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mf}{20.0}\PYG{p}{;}\PYG{+w}{ }\PYG{c+c1}{\PYGZsh{} 20 Deg Celcius}
\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{md}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{dangles}\PYG{p}{\PYGZcb{}}\PYG{+w}{     }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{;}\PYG{+w}{    }\PYG{c+c1}{\PYGZsh{} Dangle Model 1}

\PYG{c+c1}{\PYGZsh{} create a fold compound}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{k}{new}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{md}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} predict Minmum Free Energy and corresponding secondary structure}
\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} print sequence, structure and MFE}
\PYG{n+nb}{printf}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}\PYGZpc{}s\PYGZbs{}n\PYGZpc{}s [ \PYGZpc{}6.2f ]\PYGZbs{}n\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{;}
\end{sphinxVerbatim}


\subsection{Fun with Soft Constraints}
\label{\detokenize{examples/perl5:fun-with-soft-constraints}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{strict}\PYG{p}{;}
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{warnings}\PYG{p}{;}
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{Data::Dumper}\PYG{p}{;}
\PYG{k}{use}\PYG{+w}{ }\PYG{n+nn}{RNA}\PYG{p}{;}

\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq1}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}CUCGUCGCCUUAAUCCAGUGCGGGCGCUAGACAUCUAGUUAUCGCCGCAA\PYGZdq{}}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} Turn\PYGZhy{}off dangles globally}
\PYG{n+nv}{\PYGZdl{}}\PYG{n+nn}{RNA::}\PYG{n+nv}{dangles}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} Data structure that will be passed to our MaximumMatching() callback with two components:}
\PYG{c+c1}{\PYGZsh{} 1. a \PYGZsq{}dummy\PYGZsq{} fold\PYGZus{}compound to evaluate loop energies w/o constraints, 2. a fresh set of energy parameters}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZpc{}}\PYG{n+nv}{mm\PYGZus{}data}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{+w}{ }\PYG{l+s}{\PYGZsq{}dummy\PYGZsq{}}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{new}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq1}\PYG{p}{)}\PYG{p}{,}\PYG{+w}{ }\PYG{l+s}{\PYGZsq{}params\PYGZsq{}}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{new}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{param}\PYG{p}{(}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} Nearest Neighbor Parameter reversal functions}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZpc{}}\PYG{n+nv}{revert\PYGZus{}NN}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{p}{(}\PYG{+w}{ }
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}PAIR\PYGZus{}HP}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{eval\PYGZus{}hp\PYGZus{}loop}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{l+m+mi}{100}\PYG{p}{;}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}PAIR\PYGZus{}IL}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{eval\PYGZus{}int\PYGZus{}loop}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{l+m+mi}{100}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}PAIR\PYGZus{}ML}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLclosing}\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLintern}\PYG{p}{\PYGZcb{}}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{l+m+mi}{2}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLbase}\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{l+m+mi}{100}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}ML\PYGZus{}STEM}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLintern}\PYG{p}{\PYGZcb{}}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLbase}\PYG{p}{\PYGZcb{}}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}ML\PYGZus{}ML}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{l+m+mi}{0}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}STEM}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLintern}\PYG{p}{\PYGZcb{}}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLbase}\PYG{p}{\PYGZcb{}}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}ML}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLbase}\PYG{p}{\PYGZcb{}}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}ML\PYGZus{}UP}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{n}{MLbase}\PYG{p}{\PYGZcb{}}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}STEM}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{E\PYGZus{}ext\PYGZus{}loop}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{)}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}EXT}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{l+m+mi}{0}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}STEM\PYGZus{}EXT}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{E\PYGZus{}ext\PYGZus{}loop}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{)}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}EXT\PYGZus{}STEM}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{E\PYGZus{}ext\PYGZus{}loop}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{)}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nn}{RNA::}\PYG{n}{DECOMP\PYGZus{}EXT\PYGZus{}EXT\PYGZus{}STEM1}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{\PYGZgt{}}\PYG{+w}{ }\PYG{k}{sub}\PYG{+w}{ }\PYG{p}{\PYGZob{}}\PYG{+w}{ }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{p}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}\PYG{+w}{ }\PYG{k}{return}\PYG{+w}{  }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{f}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{E\PYGZus{}ext\PYGZus{}loop}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{\PYGZcb{}}\PYG{p}{,}
\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} Maximum Matching callback function (will be called by RNAlib in each decomposition step)}
\PYG{k}{sub}\PYG{+w}{ }\PYG{n+nf}{MaximumMatching}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{d}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{data}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{@}\PYG{n+nv}{\PYGZus{}}\PYG{p}{;}
\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{revert\PYGZus{}NN}\PYG{p}{\PYGZob{}}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{d}\PYG{p}{\PYGZcb{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{i}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{j}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{k}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{l}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{data}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{l+s}{\PYGZsq{}dummy\PYGZsq{}}\PYG{p}{\PYGZcb{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{data}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{p}{\PYGZob{}}\PYG{l+s}{\PYGZsq{}params\PYGZsq{}}\PYG{p}{\PYGZcb{}}\PYG{p}{)}\PYG{+w}{ }\PYG{k}{if}\PYG{+w}{ }\PYG{n+nb}{defined}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{revert\PYGZus{}NN}\PYG{p}{\PYGZob{}}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{d}\PYG{p}{\PYGZcb{}}\PYG{p}{;}
\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}

\PYG{c+c1}{\PYGZsh{} Create a \PYGZsq{}fold\PYGZus{}compound\PYGZsq{} for our sequence}
\PYG{k}{my}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{k}{new}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq1}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} Add maximum matching soft\PYGZhy{}constraints}
\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{sc\PYGZus{}add\PYGZus{}f}\PYG{p}{(}\PYG{o}{\PYGZbs{}}\PYG{o}{\PYGZam{}}\PYG{n}{MaximumMatching}\PYG{p}{)}\PYG{p}{;}
\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{sc\PYGZus{}add\PYGZus{}data}\PYG{p}{(}\PYG{o}{\PYGZbs{}}\PYG{n+nv}{\PYGZpc{}}\PYG{n+nv}{mm\PYGZus{}data}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{undef}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} Call MFE algorithm}
\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{s}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mm}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{\PYGZsh{} print result}
\PYG{n+nb}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}\PYGZpc{}s\PYGZbs{}n\PYGZpc{}s (MM: \PYGZpc{}d)\PYGZbs{}n\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{seq1}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{s}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZhy{}}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mm}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxstepscope


\chapter{I/O Formats}
\label{\detokenize{io:i-o-formats}}\label{\detokenize{io::doc}}
\sphinxAtStartPar
Below, you’ll find a listing of different sections that introduce the most common notations
of sequence and structure data, specifications of bioinformatics sequence and structure file
formats, and various output file formats produced by our library.

\sphinxstepscope


\section{RNA Structures}
\label{\detokenize{io/rna_structures:rna-structures}}\label{\detokenize{io/rna_structures::doc}}
\sphinxAtStartPar
Here, we describe the different notations and representations of RNA secondary structures
used throughout our library and prediction tools.


\subsection{Dot\sphinxhyphen{}Bracket Notation}
\label{\detokenize{io/rna_structures:dot-bracket-notation}}
\sphinxAtStartPar
The Dot\sphinxhyphen{}Bracket notation as introduced already in the early times of the ViennaRNA Package
denotes base pairs by matching pairs of parenthesis \sphinxcode{\sphinxupquote{()}} and unpaired nucleotides by dots
\sphinxcode{\sphinxupquote{.}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This is the standard representation of a secondary structure in our library.
\end{sphinxadmonition}

\sphinxAtStartPar
Based on that notation, more elaborate representations have been developed to
include additional information, such as the loop context a nucleotide belongs
to and to annotated pseudo\sphinxhyphen{}knots.

\sphinxAtStartPar
Consider the following secondary structure in dot\sphinxhyphen{}bracket notation:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
which, drawn as a secondary structure graph, looks like:

\noindent{\hspace*{\fill}\sphinxincludegraphics{{bracket}.png}\hspace*{\fill}}

\sphinxAtStartPar
It is a stem\sphinxhyphen{}loop structure consisting of a an outer helix of 3 base pairs followed by
an internal loop of size 3, a second helix of length 4, and a hairpin loop of size 3.


\subsubsection{Pseudo Dot\sphinxhyphen{}Bracket Notation}
\label{\detokenize{io/rna_structures:pseudo-dot-bracket-notation}}
\sphinxAtStartPar
Base pair probabilities are sometimes summarized in \sphinxstyleemphasis{pseudo dot\sphinxhyphen{}bracket notation} with
the additional symbols \sphinxcode{\sphinxupquote{,}}, \sphinxcode{\sphinxupquote{|}}, \sphinxcode{\sphinxupquote{\{}}, \sphinxcode{\sphinxupquote{\}}}. Here, the usual \sphinxcode{\sphinxupquote{(}}, \sphinxcode{\sphinxupquote{)}}, \sphinxcode{\sphinxupquote{.}},
represent bases with a strong preference (more than 2/3) to pair upstream (with a partner
further 3’), pair down\sphinxhyphen{}stream, or do not pair, respectively. \sphinxcode{\sphinxupquote{\{}}, \sphinxcode{\sphinxupquote{\}}}, and \sphinxcode{\sphinxupquote{,}} are
just the weaker version of the above and \sphinxcode{\sphinxupquote{|}} represents a base that is mostly paired
but has pairing partners both upstream and downstream. In this case opening and closing
brackets do not need to match.


\subsubsection{Extended Dot\sphinxhyphen{}Bracket Notation}
\label{\detokenize{io/rna_structures:extended-dot-bracket-notation}}
\sphinxAtStartPar
A more generalized version of the original Dot\sphinxhyphen{}Bracket notation may use additional pairs
of brackets, such as \sphinxcode{\sphinxupquote{\textless{}\textgreater{}}}, \sphinxcode{\sphinxupquote{\{\}}}, and \sphinxcode{\sphinxupquote{{[}{]}}}, and matching pairs of
uppercase/lowercase letters. This allows for anotating pseudo\sphinxhyphen{}knots, since different
pairs of brackets are not required to be nested.

\sphinxAtStartPar
The follwing annotations of a simple structure with two crossing helices of size 4 are equivalent:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{p}{[}\PYG{p}{[}\PYG{p}{[}\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{p}{]}\PYG{p}{]}\PYG{p}{]}\PYG{p}{]}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{AAAA}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{n}{aaaa}
\PYG{n}{AAAA}\PYG{p}{\PYGZob{}}\PYG{p}{\PYGZob{}}\PYG{p}{\PYGZob{}}\PYG{p}{\PYGZob{}}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{n}{aaaa}\PYG{p}{\PYGZcb{}}\PYG{p}{\PYGZcb{}}\PYG{p}{\PYGZcb{}}\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_pack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_pack()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_unpack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_unpack()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_flatten}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_flatten_to}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_flatten\_to()}}}}},
{\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_from_ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_from\_ptable()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_from_plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_from\_plist()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_to_element_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_to\_element\_string()}}}}},
{\hyperref[\detokenize{utils/struct/dotbracket:c.vrna_db_pk_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_pk\_remove()}}}}}
\end{sphinxadmonition}


\subsection{WUSS notation}
\label{\detokenize{io/rna_structures:wuss-notation}}
\sphinxAtStartPar
The Washington University Secondary Structure (WUSS) notation is frequently used for
consensus secondary structures, e.g. in {\hyperref[\detokenize{io/msa:stockholm-1-0-format}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Stockholm 1.0 format}}}}}

\sphinxAtStartPar
This notation allows for a fine\sphinxhyphen{}grained annotation of base pairs and unpaired nucleotides,
including pseudo\sphinxhyphen{}knots.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
WUSS notation in the infernal user guide at \sphinxurl{http://eddylab.org/infernal/Userguide.pdf}
\end{sphinxadmonition}

\sphinxAtStartPar
Below, you’ll find a list of secondary structure elements and their corresponding WUSS annotation.
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstylestrong{Base pairs}

\sphinxAtStartPar
Nested base pairs are annotated by matching pairs of the symbols \sphinxcode{\sphinxupquote{\textless{}\textgreater{}}}, \sphinxcode{\sphinxupquote{()}}, \sphinxcode{\sphinxupquote{\{\}}},
and \sphinxcode{\sphinxupquote{{[}{]}}}. Each of the matching pairs  of parenthesis have their special meaning, however,
when used as input in our programs, e.g. structure constraint, these details are usually
ignored. Furthermore, base pairs that constitute as pseudo\sphinxhyphen{}knot are denoted by letters from
the latin alphabet and are, if not denoted otherwise, ignored entirely in our programs.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{Hairpin loops}

\sphinxAtStartPar
Unpaired nucleotides that constitute the hairpin loop are indicated by underscores, \sphinxcode{\sphinxupquote{\_}}.
Here is an example:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{o}{\PYGZlt{}}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{Bulges and internal loops}

\sphinxAtStartPar
Residues that constitute a bulge or internal loop are denoted by dashes, \sphinxcode{\sphinxupquote{\sphinxhyphen{}}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZhy{}}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{Multibranch loops}

\sphinxAtStartPar
Unpaired nucleotides in multibranch loops are indicated by commas \sphinxcode{\sphinxupquote{,}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{,}\PYG{p}{,}\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{p}{,}\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{External residues}

\sphinxAtStartPar
Single stranded nucleotides in the exterior loop, i.e. not enclosed by any other pair are
denoted by colons, \sphinxcode{\sphinxupquote{:}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{o}{\PYGZlt{}}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}}\PYG{p}{:}\PYG{p}{:}\PYG{p}{:}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{Insertions}

\sphinxAtStartPar
In cases where an alignment represents the consensus with a known structure, insertions
relative to the known structure are denoted by periods, \sphinxcode{\sphinxupquote{.}}. Regions where local
structural alignment was invoked, leaving regions of both target and query sequence
unaligned, are indicated by tildes, \sphinxcode{\sphinxupquote{\textasciitilde{}}}.

\sphinxAtStartPar
These symbols only appear in alignments of a known (query) structure annotation to a target
sequence of unknown structure.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{Pseudo\sphinxhyphen{}knots}

\sphinxAtStartPar
The WUSS notation allows for annotation of pseudo\sphinxhyphen{}knots using pairs of upper\sphinxhyphen{}case/lower\sphinxhyphen{}case
letters. Our programs and library functions usually ignore pseudo\sphinxhyphen{}knots entirely treating
them as unpaired nucleotides, if not stated otherwise:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZlt{}\PYGZlt{}}\PYG{o}{\PYGZlt{}}\PYG{n}{\PYGZus{}AAA\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}}\PYG{n}{aaa}
\end{sphinxVerbatim}

\end{itemize}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/wuss:c.vrna_db_from_WUSS}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_from\_WUSS()}}}}}
\end{sphinxadmonition}


\subsection{Abstract Shapes}
\label{\detokenize{io/rna_structures:abstract-shapes}}
\sphinxAtStartPar
Abstract Shapes, introduced by Giegerich \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id42}{2004}{]}, collapse the secondary structure while
retaining the nestedness of helices and hairpin loops.

\sphinxAtStartPar
The abstract shapes representation abstracts the structure from individual base pairs
and their corresponding location in the sequence, while retaining the inherent nestedness
of helices and hairpin loops.

\sphinxAtStartPar
Below is a description of what is included in the abstract shapes abstraction for each
respective level together with an example structure:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CGUCUUAAACUCAUCACCGUGUGGAGCUGCGACCCUUCCCUAGAUUCGAAGACGAG}
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}
\end{sphinxVerbatim}


\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\begin{tabulary}{\linewidth}[t]{TTT}
\sphinxtoprule
\sphinxstyletheadfamily 
\sphinxAtStartPar
Shape Level
&\sphinxstyletheadfamily 
\sphinxAtStartPar
Description
&\sphinxstyletheadfamily 
\sphinxAtStartPar
Result
\\
\sphinxmidrule
\sphinxtableatstartofbodyhook
\sphinxAtStartPar
1
&
\sphinxAtStartPar
Most accurate \sphinxhyphen{} all loops and all unpaired
&
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{[}\_{[}\_{[}{]}{]}\_{[}\_{[}{]}\_{]}{]}\_}}
\\
\sphinxhline
\sphinxAtStartPar
2
&
\sphinxAtStartPar
Nesting pattern for all loop types and unpaired regions in external loop and multiloop
&
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{[}{[}\_{[}{]}{]}{[}\_{[}{]}\_{]}{]}}}
\\
\sphinxhline
\sphinxAtStartPar
3
&
\sphinxAtStartPar
Nesting pattern for all loop types but no unpaired regions
&
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{[}{[}{[}{]}{]}{[}{[}{]}{]}{]}}}
\\
\sphinxhline
\sphinxAtStartPar
4
&
\sphinxAtStartPar
Helix nesting pattern in external loop and multiloop
&
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{[}{[}{]}{[}{[}{]}{]}{]}}}
\\
\sphinxhline
\sphinxAtStartPar
5
&
\sphinxAtStartPar
Most abstract \sphinxhyphen{} helix nesting pattern and no unpaired regions
&
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{[}{[}{]}{[}{]}{]}}}
\\
\sphinxbottomrule
\end{tabulary}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Our implementations also provide the special Shape Level 0, which does not
collapse any structural features but simply convert base pairs and unpaired
nucleotides into their corresponding set of symbols for abstract shapes.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/abstract_shapes:c.vrna_abstract_shapes}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_abstract\_shapes()}}}}}, {\hyperref[\detokenize{utils/struct/abstract_shapes:c.vrna_abstract_shapes_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_abstract\_shapes\_pt()}}}}}
\end{sphinxadmonition}


\subsection{Tree Representations}
\label{\detokenize{io/rna_structures:tree-representations}}
\sphinxAtStartPar
Secondary structures can be readily represented as trees, where internal
nodes represent base pairs, and leaves represent unpaired nucleotides.
The dot\sphinxhyphen{}bracket structure string already is a tree represented by a string
of parenthesis (base pairs) and dots for the leaf nodes (unpaired nucleotides).

\sphinxAtStartPar
Alternatively, one may find representations with two types of node labels,
\sphinxcode{\sphinxupquote{P}} for paired and \sphinxcode{\sphinxupquote{U}} for unpaired; a dot is then replaced by \sphinxcode{\sphinxupquote{(U)}}, and
each closed bracket is assigned an additional identifier \sphinxcode{\sphinxupquote{P}}.
We call this the expanded notation. In Fontana \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id25}{1993}{]} a condensed
representation of the secondary structure is proposed, the so\sphinxhyphen{}called
homeomorphically irreducible tree (HIT) representation. Here a stack is
represented as a single pair of matching brackets labeled \sphinxcode{\sphinxupquote{P}} and
weighted by the number of base pairs.  Correspondingly, a contiguous
strain of unpaired bases is shown as one pair of matching brackets
labeled \sphinxcode{\sphinxupquote{U}} and weighted by its length.  Generally any string consisting
of matching brackets and identifiers is equivalent to a plane tree with
as many different types of nodes as there are identifiers.

\sphinxAtStartPar
Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} proposed a coarse grained representation which
does not retain the full information of the secondary structure. He
represents the different structure elements by single matching brackets
and labels them as
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{H}}  (hairpin loop),

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{I}}  (internal loop),

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{B}}  (bulge),

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}}  (multi\sphinxhyphen{}loop), and

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{S}}  (stack).

\end{itemize}

\sphinxAtStartPar
We extend his alphabet by an extra letter for external elements \sphinxcode{\sphinxupquote{E}}.
Again these identifiers may be followed by a weight corresponding to the
number of unpaired bases or base pairs in the structure element.  All tree
representations (except for the dot\sphinxhyphen{}bracket form) can be encapsulated into
a virtual root (labeled \sphinxcode{\sphinxupquote{R}}).

\sphinxAtStartPar
The following example illustrates the different linear tree representations
used by the package:

\sphinxAtStartPar
Consider the secondary structure represented by the dot\sphinxhyphen{}bracket string (full tree):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}
\end{sphinxVerbatim}

\sphinxAtStartPar
which is the most convenient condensed notation used by our programs and
library functions.

\sphinxAtStartPar
Then, the following tree representations are equivalent:
\begin{itemize}
\item {} 
\sphinxAtStartPar
Expanded tree:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{p}{)}\PYG{n}{R}\PYG{p}{)}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
HIT representation ({[}\hyperlink{cite.bibliography:id25}{Fontana \sphinxstyleemphasis{et al.}, 1993}{]}):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{n}{U1}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U2}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U3}\PYG{p}{)}\PYG{n}{P3}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U2}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{U2}\PYG{p}{)}\PYG{n}{P2}\PYG{p}{)}\PYG{n}{P2}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U1}\PYG{p}{)}\PYG{n}{R}\PYG{p}{)}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Coarse Grained Tree Representation ({[}\hyperlink{cite.bibliography:id27}{Shapiro, 1988}{]}):
\begin{itemize}
\item {} 
\sphinxAtStartPar
Short (with root node \sphinxcode{\sphinxupquote{R}}, without stem nodes \sphinxcode{\sphinxupquote{S}}):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}\PYG{n}{R}\PYG{p}{)}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Full (with root node \sphinxtitleref{R\textasciigrave{}}):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{R}\PYG{p}{)}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Extended (with root node \sphinxcode{\sphinxupquote{R}}, with external nodes \sphinxcode{\sphinxupquote{E}}):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{E}\PYG{p}{)}\PYG{n}{R}\PYG{p}{)}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
Weighted (with root node \sphinxcode{\sphinxupquote{R}}, with external nodes \sphinxcode{\sphinxupquote{E}}):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H3}\PYG{p}{)}\PYG{n}{S3}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H2}\PYG{p}{)}\PYG{n}{S2}\PYG{p}{)}\PYG{n}{M4}\PYG{p}{)}\PYG{n}{S2}\PYG{p}{)}\PYG{n}{E2}\PYG{p}{)}\PYG{n}{R}\PYG{p}{)}
\end{sphinxVerbatim}

\end{itemize}

\end{itemize}

\sphinxAtStartPar
The Expanded tree is rather clumsy and mostly included for the sake of
completeness. The different versions of Coarse Grained Tree Representations
are variatios of Shapiro’s linear tree notation.

\sphinxAtStartPar
For the output of aligned structures from string editing, different
representations are needed, where we put the label on both sides.
The above examples for tree representations would then look like:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{a}\PYG{p}{)} \PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{n}{P}\PYG{p}{)}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{P}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
\PYG{n}{b}\PYG{p}{)} \PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{p}{(}\PYG{n}{P2}\PYG{p}{(}\PYG{n}{P2}\PYG{p}{(}\PYG{n}{U2U2}\PYG{p}{)}\PYG{p}{(}\PYG{n}{P2}\PYG{p}{(}\PYG{n}{U3U3}\PYG{p}{)}\PYG{n}{P3}\PYG{p}{)}\PYG{p}{(}\PYG{n}{U2U2}\PYG{p}{)}\PYG{p}{(}\PYG{n}{P2}\PYG{p}{(}\PYG{n}{U2U2}\PYG{p}{)}\PYG{n}{P2}\PYG{p}{)}\PYG{n}{P2}\PYG{p}{)}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}\PYG{n}{P2}\PYG{p}{)}\PYG{p}{(}\PYG{n}{UU}\PYG{p}{)}
\PYG{n}{c}\PYG{p}{)} \PYG{p}{(}\PYG{n}{B}\PYG{p}{(}\PYG{n}{M}\PYG{p}{(}\PYG{n}{HH}\PYG{p}{)}\PYG{p}{(}\PYG{n}{HH}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}\PYG{n}{B}\PYG{p}{)}
   \PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{B}\PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{M}\PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{HH}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{HH}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{B}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}
   \PYG{p}{(}\PYG{n}{E}\PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{B}\PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{M}\PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{HH}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{p}{(}\PYG{n}{S}\PYG{p}{(}\PYG{n}{HH}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{M}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{B}\PYG{p}{)}\PYG{n}{S}\PYG{p}{)}\PYG{n}{E}\PYG{p}{)}
\PYG{n}{d}\PYG{p}{)} \PYG{p}{(}\PYG{n}{R}\PYG{p}{(}\PYG{n}{E2}\PYG{p}{(}\PYG{n}{S2}\PYG{p}{(}\PYG{n}{B1}\PYG{p}{(}\PYG{n}{S2}\PYG{p}{(}\PYG{n}{M4}\PYG{p}{(}\PYG{n}{S3}\PYG{p}{(}\PYG{n}{H3}\PYG{p}{)}\PYG{n}{S3}\PYG{p}{)}\PYG{p}{(}\PYG{p}{(}\PYG{n}{H2}\PYG{p}{)}\PYG{n}{S2}\PYG{p}{)}\PYG{n}{M4}\PYG{p}{)}\PYG{n}{S2}\PYG{p}{)}\PYG{n}{B1}\PYG{p}{)}\PYG{n}{S2}\PYG{p}{)}\PYG{n}{E2}\PYG{p}{)}\PYG{n}{R}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
Aligned structures additionally contain the gap character \sphinxcode{\sphinxupquote{\_}}.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:c.vrna_db_to_tree_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_db\_to\_tree\_string()}}}}}, {\hyperref[\detokenize{utils/struct/trees:c.vrna_tree_string_unweight}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_tree\_string\_unweight()}}}}},
{\hyperref[\detokenize{utils/struct/trees:c.vrna_tree_string_to_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_tree\_string\_to\_db()}}}}}
\end{sphinxadmonition}

\sphinxstepscope


\section{Multiple Sequence Alignments (MSA)}
\label{\detokenize{io/msa:multiple-sequence-alignments-msa}}\label{\detokenize{io/msa::doc}}

\subsection{ClustalW format}
\label{\detokenize{io/msa:clustalw-format}}
\sphinxAtStartPar
The \sphinxstyleemphasis{ClustalW} format is a relatively simple text file containing a single
multiple sequence alignment of DNA, RNA, or protein sequences. It was first used
as an output format for the \sphinxstyleemphasis{clustalw} programs, but nowadays it may also be
generated by various other sequence alignment tools. The specification is straight
forward:
\begin{itemize}
\item {} 
\sphinxAtStartPar
The first line starts with the words:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CLUSTAL} \PYG{n}{W}
\end{sphinxVerbatim}

\sphinxAtStartPar
or:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CLUSTALW}
\end{sphinxVerbatim}

\item {} 
\sphinxAtStartPar
After the above header there is at least one empty line

\item {} 
\sphinxAtStartPar
Finally, one or more blocks of sequence data are following, where each
block is separated by at least one empty line.

\end{itemize}

\sphinxAtStartPar
Each line in a blocks of sequence data consists of the sequence name followed by
the sequence symbols, separated by at least one whitespace character. Usually,
the length of a sequence in one block does not exceed 60 symbols. Optionally,
an additional whitespace separated cumulative residue count may follow the sequence
symbols. Optionally, a block may be followed by a line depicting the degree of
conservation of the respective alignment columns.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Sequence names and the sequences must not contain whitespace characters!
Allowed gap symbols are the hyphen (\sphinxcode{\sphinxupquote{\sphinxhyphen{}}}), and dot (\sphinxcode{\sphinxupquote{.}}).
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Please note that many programs that output this format tend to truncate
the sequence names to a limited number of characters, for instance the
first 15 characters. This can destroy the uniqueness of identifiers in
your MSA.
\end{sphinxadmonition}

\sphinxAtStartPar
Here is an example alignment in ClustalW format:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CLUSTAL} \PYG{n}{W} \PYG{p}{(}\PYG{l+m+mf}{1.83}\PYG{p}{)} \PYG{n}{multiple} \PYG{n}{sequence} \PYG{n}{alignment}


\PYG{n}{AL031296}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{85969}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{86120}      \PYG{n}{CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGUAACAAUACUUAC}
\PYG{n}{AANU01225121}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{438}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{603}      \PYG{n}{CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGUGACAAUACUUAC}
\PYG{n}{AAWR02037329}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{29294}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{29150}  \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{CUCGACACCACU}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{GCCUCGGUUACCCAUCGGUGCAGUGCGGGUAGUAGUACCAAU}

\PYG{n}{AL031296}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{85969}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{86120}      \PYG{n}{UCUCGUUGGUGAUAAGGAACAGCU}
\PYG{n}{AANU01225121}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{438}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{603}      \PYG{n}{UCUCGUUGGUGAUAAGGAACAGCU}
\PYG{n}{AAWR02037329}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{29294}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{29150}  \PYG{n}{GCUAAUUAGUUGUGAGGACCAACU} 
\end{sphinxVerbatim}


\subsection{Stockholm 1.0 format}
\label{\detokenize{io/msa:stockholm-1-0-format}}
\sphinxAtStartPar
Here is an example alignment in Stockholm 1.0 format:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+c1}{\PYGZsh{} STOCKHOLM 1.0}

\PYG{c+c1}{\PYGZsh{}=GF AC   RF01293}
\PYG{c+c1}{\PYGZsh{}=GF ID   ACA59}
\PYG{c+c1}{\PYGZsh{}=GF DE   Small nucleolar RNA ACA59}
\PYG{c+c1}{\PYGZsh{}=GF AU   Wilkinson A}
\PYG{c+c1}{\PYGZsh{}=GF SE   Predicted; WAR; Wilkinson A}
\PYG{c+c1}{\PYGZsh{}=GF SS   Predicted; WAR; Wilkinson A}
\PYG{c+c1}{\PYGZsh{}=GF GA   43.00}
\PYG{c+c1}{\PYGZsh{}=GF TC   44.90}
\PYG{c+c1}{\PYGZsh{}=GF NC   40.30}
\PYG{c+c1}{\PYGZsh{}=GF TP   Gene; snRNA; snoRNA; HACA\PYGZhy{}box;}
\PYG{c+c1}{\PYGZsh{}=GF BM   cmbuild \PYGZhy{}F CM SEED}
\PYG{c+c1}{\PYGZsh{}=GF CB   cmcalibrate \PYGZhy{}\PYGZhy{}mpi CM}
\PYG{c+c1}{\PYGZsh{}=GF SM   cmsearch \PYGZhy{}\PYGZhy{}cpu 4 \PYGZhy{}\PYGZhy{}verbose \PYGZhy{}\PYGZhy{}nohmmonly \PYGZhy{}E 1000 \PYGZhy{}Z 549862.597050 CM SEQDB}
\PYG{c+c1}{\PYGZsh{}=GF DR   snoRNABase; ACA59;}
\PYG{c+c1}{\PYGZsh{}=GF DR   SO; 0001263; ncRNA\PYGZus{}gene;}
\PYG{c+c1}{\PYGZsh{}=GF DR   GO; 0006396; RNA processing;}
\PYG{c+c1}{\PYGZsh{}=GF DR   GO; 0005730; nucleolus;}
\PYG{c+c1}{\PYGZsh{}=GF RN   [1]}
\PYG{c+c1}{\PYGZsh{}=GF RM   15199136}
\PYG{c+c1}{\PYGZsh{}=GF RT   Human box H/ACA pseudouridylation guide RNA machinery.}
\PYG{c+c1}{\PYGZsh{}=GF RA   Kiss AM, Jady BE, Bertrand E, Kiss T}
\PYG{c+c1}{\PYGZsh{}=GF RL   Mol Cell Biol. 2004;24:5797\PYGZhy{}5807.}
\PYG{c+c1}{\PYGZsh{}=GF WK   Small\PYGZus{}nucleolar\PYGZus{}RNA}
\PYG{c+c1}{\PYGZsh{}=GF SQ   3}


\PYG{n}{AL031296}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{85969}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{86120}     \PYG{n}{CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGUAACAAUACUUACUCUCGUUGGUGAUAAGGAACAGCU}
\PYG{n}{AANU01225121}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{438}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{603}     \PYG{n}{CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGUGACAAUACUUACUCUCGUUGGUGAUAAGGAACAGCU}
\PYG{n}{AAWR02037329}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{29294}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{29150} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{CUCGACACCACU}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{GCCUCGGUUACCCAUCGGUGCAGUGCGGGUAGUAGUACCAAUGCUAAUUAGUUGUGAGGACCAACU}
\PYG{c+c1}{\PYGZsh{}=GC SS\PYGZus{}cons               \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}((((,\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{},,,,\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZlt{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{}\PYGZgt{},,,,,))))::::::::::::}
\PYG{c+c1}{\PYGZsh{}=GC RF                    CUGCcccaCAaCacuuguGCCUCaGUUACcCauagguGuAGUGaGgGuggcAaUACccaCcCucgUUgGuggUaAGGAaCAgCU}
\PYG{o}{/}\PYG{o}{/}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{io/rna_structures:wuss-notation}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{WUSS notation}}}}} for legal characters and
their interpretation in the consensus secondary structure line \sphinxcode{\sphinxupquote{SS\_cons}}.
\end{sphinxadmonition}


\subsection{FASTA (Pearson) format}
\label{\detokenize{io/msa:fasta-pearson-format}}
\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Sequence names must not contain whitespace characters. Otherwise, the parts after
the first whitespace will be dropped. The only allowed gap character is the hyphen
(\sphinxcode{\sphinxupquote{\sphinxhyphen{}}}).
\end{sphinxadmonition}

\sphinxAtStartPar
Here is an example alignment in FASTA format:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{AL031296}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{85969}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{86120}
\PYG{n}{CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGUAACAAUACUUAC}
\PYG{n}{UCUCGUUGGUGAUAAGGAACAGCU}
\PYG{o}{\PYGZgt{}}\PYG{n}{AANU01225121}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{438}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{603}
\PYG{n}{CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGUGACAAUACUUAC}
\PYG{n}{UCUCGUUGGUGAUAAGGAACAGCU}
\PYG{o}{\PYGZgt{}}\PYG{n}{AAWR02037329}\PYG{l+m+mf}{.1}\PYG{o}{/}\PYG{l+m+mi}{29294}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{29150}
\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{CUCGACACCACU}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{GCCUCGGUUACCCAUCGGUGCAGUGCGGGUAGUAGUACCAAU}
\PYG{n}{GCUAAUUAGUUGUGAGGACCAACU}
\end{sphinxVerbatim}


\subsection{MAF format}
\label{\detokenize{io/msa:maf-format}}
\sphinxAtStartPar
The multiple alignment format (MAF) is usually used to store multiple alignments on DNA level
between entire genomes. It consists of independent blocks of aligned sequences which are
annotated by their genomic location. Consequently, an MAF formatted MSA file may contain
multiple records. MAF files start with a line:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+c1}{\PYGZsh{}\PYGZsh{}maf}
\end{sphinxVerbatim}

\sphinxAtStartPar
which is optionally extended by whitespace delimited key=value pairs. Lines starting with
the character (\sphinxcode{\sphinxupquote{\#}}) are considered comments and usually ignored.

\sphinxAtStartPar
A MAF block starts with character (\sphinxcode{\sphinxupquote{a}}) at the beginning of a line, optionally followed
by whitespace delimited \sphinxcode{\sphinxupquote{key=value}} pairs. The next lines start with character (\sphinxcode{\sphinxupquote{s}}) and
contain sequence information of the form:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{s} \PYG{n}{src} \PYG{n}{start} \PYG{n}{size} \PYG{n}{strand} \PYG{n}{srcSize} \PYG{n}{sequence}
\end{sphinxVerbatim}

\sphinxAtStartPar
where:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleemphasis{src} is the name of the sequence source

\item {} 
\sphinxAtStartPar
\sphinxstyleemphasis{start} is the start of the aligned region within the source (0\sphinxhyphen{}based)

\item {} 
\sphinxAtStartPar
\sphinxstyleemphasis{size} is the length of the aligned region without gap characters

\item {} 
\sphinxAtStartPar
\sphinxstyleemphasis{strand} is either (\sphinxcode{\sphinxupquote{+}}) or (\sphinxcode{\sphinxupquote{\sphinxhyphen{}}}), depicting the location of the aligned
region relative to the source

\item {} 
\sphinxAtStartPar
\sphinxstyleemphasis{srcSize} is the size of the entire sequence source, e.g. the full chromosome

\item {} 
\sphinxAtStartPar
\sphinxstyleemphasis{sequence} is the aligned sequence including gaps depicted by the hyphen (\sphinxcode{\sphinxupquote{\sphinxhyphen{}}})

\end{itemize}

\sphinxAtStartPar
Here is an example alignment in MAF format (bluntly taken from the
\sphinxhref{https://genome.ucsc.edu/FAQ/FAQformat.html\#format5}{UCSC Genome browser website}):

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+c1}{\PYGZsh{}\PYGZsh{}maf version=1 scoring=tba.v8 }
\PYG{c+c1}{\PYGZsh{} tba.v8 (((human chimp) baboon) (mouse rat)) }
\PYG{c+c1}{\PYGZsh{} multiz.v7}
\PYG{c+c1}{\PYGZsh{} maf\PYGZus{}project.v5 \PYGZus{}tba\PYGZus{}right.maf3 mouse \PYGZus{}tba\PYGZus{}C}
\PYG{c+c1}{\PYGZsh{} single\PYGZus{}cov2.v4 single\PYGZus{}cov2 /dev/stdin}
                   
\PYG{n}{a} \PYG{n}{score}\PYG{o}{=}\PYG{l+m+mf}{23262.0}     
\PYG{n}{s} \PYG{n}{hg16}\PYG{o}{.}\PYG{n}{chr7}    \PYG{l+m+mi}{27578828} \PYG{l+m+mi}{38} \PYG{o}{+} \PYG{l+m+mi}{158545518} \PYG{n}{AAA}\PYG{o}{\PYGZhy{}}\PYG{n}{GGGAATGTTAACCAAATGA}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{ATTGTCTCTTACGGTG}
\PYG{n}{s} \PYG{n}{panTro1}\PYG{o}{.}\PYG{n}{chr6} \PYG{l+m+mi}{28741140} \PYG{l+m+mi}{38} \PYG{o}{+} \PYG{l+m+mi}{161576975} \PYG{n}{AAA}\PYG{o}{\PYGZhy{}}\PYG{n}{GGGAATGTTAACCAAATGA}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{ATTGTCTCTTACGGTG}
\PYG{n}{s} \PYG{n}{baboon}         \PYG{l+m+mi}{116834} \PYG{l+m+mi}{38} \PYG{o}{+}   \PYG{l+m+mi}{4622798} \PYG{n}{AAA}\PYG{o}{\PYGZhy{}}\PYG{n}{GGGAATGTTAACCAAATGA}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{GTTGTCTCTTATGGTG}
\PYG{n}{s} \PYG{n}{mm4}\PYG{o}{.}\PYG{n}{chr6}     \PYG{l+m+mi}{53215344} \PYG{l+m+mi}{38} \PYG{o}{+} \PYG{l+m+mi}{151104725} \PYG{o}{\PYGZhy{}}\PYG{n}{AATGGGAATGTTAAGCAAACGA}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{ATTGTCTCTCAGTGTG}
\PYG{n}{s} \PYG{n}{rn3}\PYG{o}{.}\PYG{n}{chr4}     \PYG{l+m+mi}{81344243} \PYG{l+m+mi}{40} \PYG{o}{+} \PYG{l+m+mi}{187371129} \PYG{o}{\PYGZhy{}}\PYG{n}{AA}\PYG{o}{\PYGZhy{}}\PYG{n}{GGGGATGCTAAGCCAATGAGTTGTTGTCTCTCAATGTG}
                   
\PYG{n}{a} \PYG{n}{score}\PYG{o}{=}\PYG{l+m+mf}{5062.0}                    
\PYG{n}{s} \PYG{n}{hg16}\PYG{o}{.}\PYG{n}{chr7}    \PYG{l+m+mi}{27699739} \PYG{l+m+mi}{6} \PYG{o}{+} \PYG{l+m+mi}{158545518} \PYG{n}{TAAAGA}
\PYG{n}{s} \PYG{n}{panTro1}\PYG{o}{.}\PYG{n}{chr6} \PYG{l+m+mi}{28862317} \PYG{l+m+mi}{6} \PYG{o}{+} \PYG{l+m+mi}{161576975} \PYG{n}{TAAAGA}
\PYG{n}{s} \PYG{n}{baboon}         \PYG{l+m+mi}{241163} \PYG{l+m+mi}{6} \PYG{o}{+}   \PYG{l+m+mi}{4622798} \PYG{n}{TAAAGA} 
\PYG{n}{s} \PYG{n}{mm4}\PYG{o}{.}\PYG{n}{chr6}     \PYG{l+m+mi}{53303881} \PYG{l+m+mi}{6} \PYG{o}{+} \PYG{l+m+mi}{151104725} \PYG{n}{TAAAGA}
\PYG{n}{s} \PYG{n}{rn3}\PYG{o}{.}\PYG{n}{chr4}     \PYG{l+m+mi}{81444246} \PYG{l+m+mi}{6} \PYG{o}{+} \PYG{l+m+mi}{187371129} \PYG{n}{taagga}

\PYG{n}{a} \PYG{n}{score}\PYG{o}{=}\PYG{l+m+mf}{6636.0}
\PYG{n}{s} \PYG{n}{hg16}\PYG{o}{.}\PYG{n}{chr7}    \PYG{l+m+mi}{27707221} \PYG{l+m+mi}{13} \PYG{o}{+} \PYG{l+m+mi}{158545518} \PYG{n}{gcagctgaaaaca}
\PYG{n}{s} \PYG{n}{panTro1}\PYG{o}{.}\PYG{n}{chr6} \PYG{l+m+mi}{28869787} \PYG{l+m+mi}{13} \PYG{o}{+} \PYG{l+m+mi}{161576975} \PYG{n}{gcagctgaaaaca}
\PYG{n}{s} \PYG{n}{baboon}         \PYG{l+m+mi}{249182} \PYG{l+m+mi}{13} \PYG{o}{+}   \PYG{l+m+mi}{4622798} \PYG{n}{gcagctgaaaaca}
\PYG{n}{s} \PYG{n}{mm4}\PYG{o}{.}\PYG{n}{chr6}     \PYG{l+m+mi}{53310102} \PYG{l+m+mi}{13} \PYG{o}{+} \PYG{l+m+mi}{151104725} \PYG{n}{ACAGCTGAAAATA}

\end{sphinxVerbatim}

\sphinxstepscope


\section{Command Files}
\label{\detokenize{io/commands:command-files}}\label{\detokenize{io/commands::doc}}
\sphinxAtStartPar
The RNAlib and many programs of the ViennaRNA Package can parse and apply data from
so\sphinxhyphen{}called \sphinxstyleemphasis{command files}. These commands may refer to structure constraints or even
extensions of the RNA folding grammar (such as \DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{grammar:unstructured domains}}}).

\sphinxAtStartPar
Commands are given as a line of whitespace delimited data fields. The syntax we use
extends the constraint definitions used in the \sphinxhref{http://mfold.rna.albany.edu/?q=mfold}{mfold}
or \sphinxhref{http://mfold.rna.albany.edu/?q=DINAMelt/software}{UNAfold} software, where
each line begins with a command character followed by a set of positions.

\sphinxAtStartPar
However, we introduce several new commands, and allow for an optional loop type context
specifier in form of a sequence of characters, and an orientation flag that enables one
to force a nucleotide to pair upstream, or downstream.


\subsection{Constraint commands}
\label{\detokenize{io/commands:constraint-commands}}
\sphinxAtStartPar
The following set of commands is recognized:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{F}} … Force

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{P}} … Prohibit

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{C}} … Conflicts/Context dependency

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{A}} … Allow (for non\sphinxhyphen{}canonical pairs)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{E}} … Soft constraints for unpaired position(s), or base pair(s)

\end{itemize}


\subsection{RNA folding grammar exensions}
\label{\detokenize{io/commands:rna-folding-grammar-exensions}}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{UD}} … Add ligand binding using the \DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{grammar:unstructured domains}}} feature

\end{itemize}


\subsection{Specification of the loop type context}
\label{\detokenize{io/commands:specification-of-the-loop-type-context}}
\sphinxAtStartPar
The optional loop type context specifier \sphinxcode{\sphinxupquote{{[}LOOP{]}}} may be a combination of the following:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{E}} … Exterior loop

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{H}} … Hairpin loop

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{I}} … Internal/Interior loop

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{M}} … Multibranch loop

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{A}} … All loops

\end{itemize}

\sphinxAtStartPar
For structure constraints, we additionally allow one to address base pairs enclosed
by a particular kind of loop, which results in the specifier \sphinxcode{\sphinxupquote{{[}WHERE{]}}} which consists
of \sphinxcode{\sphinxupquote{{[}LOOP{]}}} plus the following character:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{i}} … enclosed pair of an Interior loop

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{m}} … enclosed pair of a Multibranch loop

\end{itemize}

\sphinxAtStartPar
If no \sphinxcode{\sphinxupquote{{[}LOOP{]}}} or \sphinxcode{\sphinxupquote{{[}WHERE{]}}} flags are set, all contexts are considered
(equivalent to \sphinxcode{\sphinxupquote{A}} ).


\subsection{Controlling the orientation of base pairing}
\label{\detokenize{io/commands:controlling-the-orientation-of-base-pairing}}
\sphinxAtStartPar
For particular nucleotides that are forced to pair, the following \sphinxcode{\sphinxupquote{{[}ORIENTATION{]}}} flags
may be used:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{U}} … Upstream

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{D}} … Downstream

\end{itemize}

\sphinxAtStartPar
If no \sphinxcode{\sphinxupquote{{[}ORIENTATION{]}}} flag is set, both directions are considered.


\subsection{Sequence coordinates}
\label{\detokenize{io/commands:sequence-coordinates}}
\sphinxAtStartPar
Sequence positions of nucleotides/base pairs are 1\sphinxhyphen{}based and consist of three
positions \(i\), \(j\), and \(k\). Alternativly, four positions may
be provided as a pair of two position ranges \([i:j]\), and \([k:l]\)
using the \sphinxcode{\sphinxupquote{\sphinxhyphen{}}} sign as delimiter within each range, i.e. \sphinxcode{\sphinxupquote{i\sphinxhyphen{}j}}, and \sphinxcode{\sphinxupquote{k\sphinxhyphen{}l}}.


\subsection{Valid constraint commands}
\label{\detokenize{io/commands:valid-constraint-commands}}
\sphinxAtStartPar
Below are resulting general cases that are considered \sphinxstyleemphasis{valid} constraints:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Forcing a range of nucleotide positions to be paired”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{F} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k} \PYG{p}{[}\PYG{n}{WHERE}\PYG{p}{]} \PYG{p}{[}\PYG{n}{ORIENTATION}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Enforces the set of \(k\) consecutive nucleotides starting at
position \(i\) to be paired. The optional loop type specifier \sphinxcode{\sphinxupquote{{[}WHERE{]}}}
allows to force them to appear as closing/enclosed pairs of certain types of
loops.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Forcing a set of consecutive base pairs to form”}::

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{F} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k} \PYG{p}{[}\PYG{n}{WHERE}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Enforces the base pairs \((i,j), \ldots, (i+(k-1), j-(k-1))\) to form.
The optional loop type specifier \sphinxcode{\sphinxupquote{{[}WHERE{]}}} allows to specify in which loop
context the base pair must appear.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Prohibiting a range of nucleotide positions to be paired”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{P} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k} \PYG{p}{[}\PYG{n}{WHERE}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Prohibit a set of \(k\) consecutive nucleotides to participate
in base pairing, i.e. make these positions unpaired. The optional loop type
specifier \sphinxcode{\sphinxupquote{{[}WHERE{]}}} allows to force the nucleotides to appear within the
loop of specific types.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Probibiting a set of consecutive base pairs to form”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{P} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k} \PYG{p}{[}\PYG{n}{WHERE}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Probibit the base pairs \((i,j), \ldots, (i+(k-1), j-(k-1))\) to form.
The optional loop type specifier \sphinxcode{\sphinxupquote{{[}WHERE{]}}} allows to specify the type of
loop they are disallowed to be the closing or an enclosed pair of.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Prohibiting two ranges of nucleotides to pair with each other”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{P} \PYG{n}{i}\PYG{o}{\PYGZhy{}}\PYG{n}{j} \PYG{n}{k}\PYG{o}{\PYGZhy{}}\PYG{n}{l} \PYG{p}{[}\PYG{n}{WHERE}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Prohibit any nucleotide \(p \in [i:j]\) to pair with any other nucleotide
\(q \in [k:l]\). The optional loop type specifier \sphinxcode{\sphinxupquote{{[}WHERE{]}}} allows to
specify the type of loop they are disallowed to be the closing or an enclosed pair of.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Enforce a loop context for a range of nucleotide positions”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{C} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k} \PYG{p}{[}\PYG{n}{WHERE}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
This command enforces nucleotides to be unpaired similar to \sphinxstyleemphasis{prohibiting} nucleotides to be paired,
as described above. It too marks the corresponding nucleotides to be unpaired, however,
the \sphinxcode{\sphinxupquote{{[}WHERE{]}}} flag can be used to enforce specfic loop types the nucleotides must appear in.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Remove pairs that conflict with a set of consecutive base pairs”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{C} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Remove all base pairs that conflict with a set of consecutive base pairs
\((i,j), \ldots, (i+(k-1), j-(k-1))\). Two base pairs \((i,j)\) and
\((p,q)\) conflict with each other if \(i < p < j < q\), or
\(p < i < q < j\).

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Allow a set of consecutive (non\sphinxhyphen{}canonical) base pairs to form”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{A} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k} \PYG{p}{[}\PYG{n}{WHERE}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
This command enables the formation of the consecutive base pairs
\((i,j), \ldots, (i+(k-1), j-(k-1))\), no matter if they are \sphinxstyleemphasis{canonical},
or \sphinxstyleemphasis{non\sphinxhyphen{}canonical}. In contrast to the above \sphinxcode{\sphinxupquote{F}} and \sphinxcode{\sphinxupquote{W}} commands, which remove
conflicting base pairs, the \sphinxcode{\sphinxupquote{A}} command does not. Therefore, it may be used to
allow \sphinxstyleemphasis{non\sphinxhyphen{}canoncial} base pair interactions. Since the RNAlib does not contain
free energy contributions \(E_{ij}\) for non\sphinxhyphen{}canonical base pairs \((i,j)\),
they are scored as the \sphinxstyleemphasis{maximum} of similar, known contributions. In terms of a
\sphinxstyleemphasis{Nussinov} like scoring function the free energy of non\sphinxhyphen{}canonical base pairs is
therefore estimated as
\begin{equation*}
\begin{split}E_{ij} = \min \left[  \max_{(i,k) \in \{GC, CG, AU, UA, GU, UG\}} E_{ik}, \max_{(k,j) \in \{GC, CG, AU, UA, GU, UG\}} E_{kj} \right].\end{split}
\end{equation*}
\sphinxAtStartPar
The optional loop type specifier \sphinxcode{\sphinxupquote{{[}WHERE{]}}} allows to specify in which loop
context the base pair may appear.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Apply pseudo free energy to a range of unpaired nucleotide positions”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{E} \PYG{n}{i} \PYG{l+m+mi}{0} \PYG{n}{k} \PYG{n}{e}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Use this command to apply a pseudo free energy of \(e\) to the set of \(k\)
consecutive nucleotides, starting at position \(i\). The pseudo free energy is
applied only if these nucleotides are considered unpaired in the recursions, or
evaluations, and is expected to be given in units of \(\text{kcal} \cdot \text{mol}^{-1}\).

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Apply pseudo free energy to a set of consecutive base pairs”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{E} \PYG{n}{i} \PYG{n}{j} \PYG{n}{k} \PYG{n}{e}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Use this command to apply a pseudo free energy of \(e\) to the set of base pairs
\((i,j), \ldots, (i+(k-1), j-(k-1))\). Energies are expected to be given in
units of \(\text{kcal} \cdot \text{mol}^{-1}\).

\end{itemize}


\subsection{Valid domain extensions commands}
\label{\detokenize{io/commands:valid-domain-extensions-commands}}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstylestrong{“Add ligand binding to unpaired motif (a.k.a. unstructured domains)”}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{UD} \PYG{n}{m} \PYG{n}{e} \PYG{p}{[}\PYG{n}{LOOP}\PYG{p}{]}
\end{sphinxVerbatim}

\sphinxAtStartPar
Description:

\sphinxAtStartPar
Add ligand binding to unpaired sequence motif \(m\) (given in IUPAC format,
capital letters) with binding energy \(e\) in particular loop type(s).

\sphinxAtStartPar
Example:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{UD}  \PYG{n}{AAA}   \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{5.0}    \PYG{n}{A}
\end{sphinxVerbatim}

\sphinxAtStartPar
The above example applies a binding free energy of \(-5\,\text{kcal} \cdot \text{mol}^{-1}\)
for a motif \sphinxcode{\sphinxupquote{AAA}} that may be present in all loop types.

\end{itemize}

\sphinxstepscope


\section{Energy Parameters}
\label{\detokenize{io/parameters:energy-parameters}}\label{\detokenize{io/parameters::doc}}

\subsection{Modified Bases}
\label{\detokenize{io/parameters:modified-bases}}
\sphinxAtStartPar
The functions {\hyperref[\detokenize{modified_bases:c.vrna_sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_sc\_mod()}}}}}, {\hyperref[\detokenize{modified_bases:c.vrna_sc_mod_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_sc\_mod\_json()}}}}} and alike
implement an energy correction framework to account for modified bases in the
secondary structure predictions. To supply these functions with the energy
parameters and general specifications of the base modification, the following
\sphinxcode{\sphinxupquote{JSON}} data format may be used:

\sphinxAtStartPar
JSON data must consist of a header section \sphinxcode{\sphinxupquote{modified\_bases}} This header
is an object with the mandatory keys:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{name}} specifying a name of the modified base

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unmodified}} that consists of a single upper\sphinxhyphen{}case letter of the unmodified
version of this base,

\item {} 
\sphinxAtStartPar
the \sphinxcode{\sphinxupquote{one\_letter\_code}} key to specify which letter is used for the modified
bases in the subsequent energy parameters, and

\item {} 
\sphinxAtStartPar
an array of \sphinxtitleref{pairing\_partners\textasciigrave{}}

\end{itemize}

\sphinxAtStartPar
The latter must be uppercase characters. An optional \sphinxcode{\sphinxupquote{sources}} key may contain
an array of related publications, e.g. those the parameters have been derived from.

\sphinxAtStartPar
Next to the header may follow additional keys to specify the actual energy
contributions of the modified base in various loop contexts. All energy
contributions must be specified in free energies \(\Delta G\) in units of
\(\text{kcal} \cdot \text{mol}^{-1}\). To allow for rescaling of the free
energies at temperatures that differ from the default (\(37^\circ C\)),
enthalpy parameters \(\Delta H\) may be specified as well. Those, however
are optional. The keys for free energy (at \(37^\circ C\)) and enthalpy
parameters have the suffixes \sphinxcode{\sphinxupquote{\_energies}} and \sphinxcode{\sphinxupquote{\_enthalpies}}, respectively.

\sphinxAtStartPar
The parser and underlying framework currently supports the following
loop contexts:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstylestrong{base pair stacks} (via the \sphinxcode{\sphinxupquote{stacking}} key prefix).

\sphinxAtStartPar
This key must point to an object with one key value pair for each
stacking interaction data is provided for. Here, the key consists
of four upper\sphinxhyphen{}case characters denoting the interacting bases, where
the the first two represent one strand in 5’ to 3’ direction and the
last two the opposite strand in 3’ to 5’ direction. The values
are energies in \(kcal \cdot mol^{-1}\).

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{terminal mismatches} (via the \sphinxcode{\sphinxupquote{mismatch}} key prefix).

\sphinxAtStartPar
This key points to an object with key value pairs for each mismatch
energy parameter that is available. Keys are 4 characters long
nucleotide one\sphinxhyphen{}letter codes as used in base pair stacks above.
The second and fourth character denote the two unpaired mismatching
bases, while the other two represent the closing base pair.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{dangling ends} (via the \sphinxcode{\sphinxupquote{dangle5}} and \sphinxcode{\sphinxupquote{dangle3}} key prefixes).

\sphinxAtStartPar
The object behind these keys, again, consists of key value pairs
for each dangling end energy parameter. Keys are 3 characters long
where the first two represent the two nucleotides that form the
base pair, and the third is the unpaired base that either stacks
on the 3’ or 5’ end of the enclosed part of the base pair.

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{terminal pairs} (via the \sphinxcode{\sphinxupquote{terminal}} key prefix).

\sphinxAtStartPar
Terminal base pairs, such as AU or GU, sometimes receive an
additional energy penalty. The object behind this key may
list energy parameters to apply whenever particular base
pairs occur at the end of a helix. Each of those parameters
is specified as key value pair, where the key consists of
two upper\sphinxhyphen{}case characters denoting the terminal base pair.

\end{itemize}

\sphinxAtStartPar
Below is a JSON template specifying most of the possible input
parameters. Actual energy parameter files can be found in the
source code tarball within the \sphinxcode{\sphinxupquote{misc/}} subdirectory.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n+nt}{\PYGZdq{}modified\PYGZus{}base\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}name\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}My modification (M)\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}sources\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{[}
\PYG{+w}{      }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}authors\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}Author 1, Author 2\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}title\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}UV\PYGZhy{}melting of modified oligos\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}journal\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}Some journal\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}year\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{2022}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}doi\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}10.0000/000000\PYGZdq{}}
\PYG{+w}{      }\PYG{p}{\PYGZcb{}}
\PYG{+w}{    }\PYG{p}{],}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}unmodified\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}G\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}pairing\PYGZus{}partners\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{[}
\PYG{+w}{      }\PYG{l+s+s2}{\PYGZdq{}U\PYGZdq{}}\PYG{p}{,}\PYG{l+s+s2}{\PYGZdq{}A\PYGZdq{}}
\PYG{+w}{    }\PYG{p}{],}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}one\PYGZus{}letter\PYGZus{}code\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}M\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}fallback\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}G\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}stacking\PYGZus{}energies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}MAUU\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{  }\PYG{l+m+mf}{\PYGZhy{}1.2}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}AGMC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{  }\PYG{l+m+mf}{\PYGZhy{}2.73}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}stacking\PYGZus{}enthalpies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}MAUU\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{  }\PYG{l+m+mf}{\PYGZhy{}11.1}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}AGMC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{  }\PYG{l+m+mf}{\PYGZhy{}9.73}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}terminal\PYGZus{}energies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}MU\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{0.5}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}UM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{0.5}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}terminal\PYGZus{}enthalpies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}MU\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{2.0}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}UM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{2.0}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}mismatch\PYGZus{}energies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CMGM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}1.11}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}AGUM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}0.73}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}mismatch\PYGZus{}enthalpies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CMGM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.11}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}AGUM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}7.73}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}dangle5\PYGZus{}energies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}UAM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}1.01}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}dangle5\PYGZus{}enthalpies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}UAM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}6.01}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}dangle3\PYGZus{}energies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.1}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}GCM\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}1.3}
\PYG{+w}{    }\PYG{p}{\PYGZcb{}}
\PYG{+w}{  }\PYG{p}{\PYGZcb{}}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
An actual example of real\sphinxhyphen{}world data may look like

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n+nt}{\PYGZdq{}modified\PYGZus{}base\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}name\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}Pseudouridine\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}sources\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{[}
\PYG{+w}{      }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}authors\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}Graham A. Hudson, Richard J. Bloomingdale, and Brent M. Znosko\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}title\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}Thermodynamic contribution and nearest\PYGZhy{}neighbor parameters of pseudouridine\PYGZhy{}adenosine base pairs in oligoribonucleotides\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}journal\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}RNA 19:1474\PYGZhy{}1482\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}year\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{2013}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}doi\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}10.1261/rna.039610.113\PYGZdq{}}
\PYG{+w}{      }\PYG{p}{\PYGZcb{}}
\PYG{+w}{    }\PYG{p}{],}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}unmodified\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}U\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}pairing\PYGZus{}partners\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{[}
\PYG{+w}{      }\PYG{l+s+s2}{\PYGZdq{}A\PYGZdq{}}
\PYG{+w}{    }\PYG{p}{],}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}one\PYGZus{}letter\PYGZus{}code\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}P\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}fallback\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}U\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}stacking\PYGZus{}energies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}APUA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{  }\PYG{l+m+mf}{\PYGZhy{}2.8}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CPGA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.77}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}GPCA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}3.29}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}UPAA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}1.62}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PAAU\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.10}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PCAG\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.49}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PGAC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.2}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PUAA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.74}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}stacking\PYGZus{}enthalpies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}APUA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}22.08}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CPGA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}16.23}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}GPCA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}24.07}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}UPAA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}20.81}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PAAU\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.47}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PCAG\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}17.29}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PGAC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.19}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PUAA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}26.94}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}terminal\PYGZus{}energies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{0.31}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}AP\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{0.31}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}terminal\PYGZus{}enthalpies\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.04}\PYG{p}{,}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}AP\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}2.04}
\PYG{+w}{    }\PYG{p}{\PYGZcb{},}
\PYG{+w}{    }\PYG{n+nt}{\PYGZdq{}duplexes\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGAPACGGCUAUGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.93}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.12}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGCPACGGCGAUGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.96}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.17}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGGPACGGCCAUGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.71}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.53}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGUPACGGCAAUGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.10}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}8.83}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGAPCCGGCUAGGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.92}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.53}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGCPCCGGCGAGGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.93}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.57}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGGPCCGGCCAGGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.76}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.94}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGUPCCGGCAAGGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.76}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.24}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGAPGCGGCUACGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.45}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.40}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGCPGCGGCGACGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.35}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.45}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGGPGCGGCCACGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.59}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.81}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGUPGCGGCAACGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.34}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.11}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGAPUCGGCUAAGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.42}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.86}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGCPUCGGCGAAGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.06}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}11.91}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGGPUCGGCCAAGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.51}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}12.27}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}CGUPUCGGCAAAGC\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{7}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.51}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.58}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}GCGCAPCGCGUA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.90}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.71}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}GCGCCPCGCGGA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.63}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.84}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}GCGCGPCGCGCA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.43}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.46}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}GCGCUPCGCGAA\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}8.55}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}8.50}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PAGCGCAUCGCG\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}8.93}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}8.99}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PCGCGCAGCGCG\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.56}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.66}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PGGCGCACCGCG\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.30}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}10.27}
\PYG{+w}{      }\PYG{p}{\PYGZcb{},}
\PYG{+w}{      }\PYG{n+nt}{\PYGZdq{}PUGCGCAACGCG\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length1\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}length2\PYGZdq{}}\PYG{+w}{ }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mi}{6}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZdq{}}\PYG{+w}{    }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.77}\PYG{p}{,}
\PYG{+w}{        }\PYG{n+nt}{\PYGZdq{}dG37\PYGZus{}p\PYGZdq{}}\PYG{+w}{  }\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{\PYGZhy{}9.65}
\PYG{+w}{      }\PYG{p}{\PYGZcb{}}
\PYG{+w}{    }\PYG{p}{\PYGZcb{}}
\PYG{+w}{  }\PYG{p}{\PYGZcb{}}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}

\sphinxstepscope


\chapter{Concepts and Algorithms}
\label{\detokenize{api:concepts-and-algorithms}}\label{\detokenize{api::doc}}
\sphinxAtStartPar
Our library is grouped into several modules, each addressing different
aspects of RNA secondary structure related problems. This is an overview
of the concepts and algorithms for which implementations can be found
in this library.

\sphinxAtStartPar
Almost all of them rely on the physics based Nearest Neighbor Model
for RNA secondary structure prediction.

\sphinxstepscope


\section{Free Energy Evaluation}
\label{\detokenize{eval:free-energy-evaluation}}\label{\detokenize{eval::doc}}
\sphinxAtStartPar
Secondary structures are decomposed into individual loops to eventually
evaluate their stability in terms of free energy. Here, we demonstrate
how this is done and which parts of the \sphinxstyleemphasis{RNAlib} API are dedicated to
free energy evaluation.

\sphinxstepscope


\subsection{Energy Evaluation for Individual Loops}
\label{\detokenize{eval/eval_loops:energy-evaluation-for-individual-loops}}\label{\detokenize{eval/eval_loops::doc}}
\sphinxAtStartPar
To assess the free energy contribution of a particular loop \(L\) within a
secondary structure, two variants are provided
\begin{itemize}
\item {} 
\sphinxAtStartPar
The \sphinxstyleemphasis{bare} free energy \(E_L\) (usually in units of deka\sphinxhyphen{}calories, i.e.
multiples of \(10 \text{cal} \cdot \text{mol}^{-1}\), and

\item {} 
\sphinxAtStartPar
The \sphinxstyleemphasis{Boltzmann weight} \(q = exp(-\beta E_L)\) of the free energy \(E_L\)
(with \(\beta = \frac{1}{RT}\), gas constant \(R\) and temperature \(T\))

\end{itemize}

\sphinxAtStartPar
The latter is usually required for partition function computations.

\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{eval/eval_loops:id1}}{\hyperref[\detokenize{eval/eval_loops:general}]{\sphinxcrossref{General}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{eval/eval_loops:id2}}{\hyperref[\detokenize{eval/eval_loops:exterior-loops}]{\sphinxcrossref{Exterior Loops}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{eval/eval_loops:id3}}{\hyperref[\detokenize{eval/eval_loops:hairpin-loops}]{\sphinxcrossref{Hairpin Loops}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{eval/eval_loops:id4}}{\hyperref[\detokenize{eval/eval_loops:internal-loops}]{\sphinxcrossref{Internal Loops}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{eval/eval_loops:id5}}{\hyperref[\detokenize{eval/eval_loops:multibranch-loops}]{\sphinxcrossref{Multibranch Loops}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{General}
\label{\detokenize{eval/eval_loops:general}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops}}}
\pysigstopsignatures
\sphinxAtStartPar
Functions to evaluate the free energy of particular types of loops. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_eval\_loop\_pt (C function)@\spxentry{vrna\_eval\_loop\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_eval_loop_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops_1ga5f9fe7c27d0b628a3efc2d725f52853e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_loop\_pt}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000070}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_loop\_pt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_loop_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_loop\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} position of covering base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} the pair table of the secondary structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
free energy of the loop in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_loop\_pt\_v (C function)@\spxentry{vrna\_eval\_loop\_pt\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_eval_loop_pt_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops_1ga905758a7e1320638345f1ef793769f57}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_loop\_pt\_v}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} position of covering base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} the pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
free energy of the loop in 10cal/mol 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Exterior Loops}
\label{\detokenize{eval/eval_loops:exterior-loops}}
\sphinxAtStartPar
Functions to evaluate the free energy contributions for exterior (external) loops.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Boltzmann weight (partition function) interface}
\index{vrna\_mx\_pf\_aux\_el\_t (C type)@\spxentry{vrna\_mx\_pf\_aux\_el\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_el_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1gaf9d5160c11ffad3ec258124a77fee13c}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_mx\_pf\_aux\_el\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_pf\_aux\_el\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Auxiliary helper arrays for fast exterior loop computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_exp\_E\_ext\_fast\_init(), vrna\_exp\_E\_ext\_fast\_rotate(), vrna\_exp\_E\_ext\_fast\_free(), vrna\_exp\_E\_ext\_fast() 


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_exp\_E\_ext\_fast\_init (C function)@\spxentry{vrna\_exp\_E\_ext\_fast\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ext_fast_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga88bf7b86f25fff9d828008df48779539}}{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_el_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_el\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ext\_fast\_init}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ext\_fast\_rotate (C function)@\spxentry{vrna\_exp\_E\_ext\_fast\_rotate}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ext_fast_rotate}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga560d6123a175af3c8fb668885da8b78c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ext\_fast\_rotate}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_el_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_el\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ext\_fast\_free (C function)@\spxentry{vrna\_exp\_E\_ext\_fast\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ext_fast_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga90c23338dfb678853d34e4ca91cda370}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ext\_fast\_free}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_el_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_el\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ext\_fast (C function)@\spxentry{vrna\_exp\_E\_ext\_fast}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ext_fast}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga1522bbee3c068632367decfcdbeeeb74}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ext\_fast}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_el_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_el\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ext\_fast\_update (C function)@\spxentry{vrna\_exp\_E\_ext\_fast\_update}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ext_fast_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1gaf371b09437ca36067620b9bab14baa86}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ext\_fast\_update}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_el_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_el\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic free energy interface}
\index{vrna\_E\_exterior\_stem (C function)@\spxentry{vrna\_E\_exterior\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_exterior_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1gad15211d536d971e3c335813a75897a26}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_exterior\_stem}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n5d}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n3d}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate a stem branching off the exterior loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a base pair \((i,j)\) encoded by \sphinxstyleemphasis{type}, compute the energy contribution including dangling\sphinxhyphen{}end/terminal\sphinxhyphen{}mismatch contributions. Instead of returning the energy contribution per\sphinxhyphen{}se, this function returns the corresponding Boltzmann factor. If either of the adjacent nucleotides \((i - 1)\) and \((j+1)\) must not contribute stacking energy, the corresponding encoding must be \(-1\).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops__ext_1ga70e734a0dc46f049ff2de13d38d6ea69}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_E\_exterior\_stem()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
By default, terminal mismatch energies are applied that correspond to the neighboring nucleotides provided by their encodings \sphinxcode{\sphinxupquote{n5d}} and \sphinxcode{\sphinxupquote{n3d}}. Whenever the encodings are negative, the implementation switches to usage of dangling end energies (for the non\sphinxhyphen{}negative base). If both encodings are negative, no terminal mismatch contributions are added.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The base pair encoding 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n5d}} \textendash{} The encoded nucleotide directly adjacent at the 5’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n3d}} \textendash{} The encoded nucleotide directly adjacent at the 3’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{p}} \textendash{} The pre\sphinxhyphen{}computed energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The energy contribution of the introduced exterior\sphinxhyphen{}loop stem 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_E\_exterior\_loop (C function)@\spxentry{vrna\_E\_exterior\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_exterior_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga30c30a9e744f0f1800fe2144fe27570c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_exterior\_loop}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_eval\_exterior\_stem (C function)@\spxentry{vrna\_eval\_exterior\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_eval_exterior_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga36e1e6bcccc386233e8fed845c810905}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_exterior\_stem}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a base pair in the exterior loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Evalue the free energy of a base pair connecting two nucleotides in the exterior loop and take hard constraints into account.

\sphinxAtStartPar
Typically, this is simply dangling end contributions of the adjacent nucleotides, potentially a terminal A\sphinxhyphen{}U mismatch penalty, and maybe some generic soft constraint contribution for that decomposition.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops__ext_1gad15211d536d971e3c335813a75897a26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_exterior\_stem()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabf464e57b705137b553431ae88b5f276}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_HC}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabfc2f7e81ec9ec64ccc9ef6b2b5aac2a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_SC}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaafb5b0c04bc9f522b7a2e7909bd56d23}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_CONSTRAINTS}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For dangles == 1 || 3 this function also evaluates the three additional pairs (i + 1, j), (i, j \sphinxhyphen{} 1), and (i + 1, j \sphinxhyphen{} 1) and returns the minimum for all four possibilities in total.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
By default, all user\sphinxhyphen{}supplied hard\sphinxhyphen{} and soft constraints will be taken into account! Use the {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabf464e57b705137b553431ae88b5f276}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_HC}}}}} and {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabfc2f7e81ec9ec64ccc9ef6b2b5aac2a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_SC}}}}} bit flags as input for \sphinxcode{\sphinxupquote{options}} to change the default behavior if necessary.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} Fold compound to work on (defines the model and parameters) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} 5’ position of the base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} 3’ position of the base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bit\sphinxhyphen{}field that specifies which aspects (not) to consider during evaluation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Free energy for the terminal base pair of a stem branching off the exterior loop in deka\sphinxhyphen{}kal/mol or INF if the pair is forbidden 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Boltzmann weight (partition function) interface}
\index{vrna\_exp\_E\_exterior\_stem (C function)@\spxentry{vrna\_exp\_E\_exterior\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_exterior_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga70e734a0dc46f049ff2de13d38d6ea69}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_exterior\_stem}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n5d}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n3d}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate a stem branching off the exterior loop (Boltzmann factor version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a base pair \((i,j)\) encoded by \sphinxstyleemphasis{type}, compute the energy contribution including dangling\sphinxhyphen{}end/terminal\sphinxhyphen{}mismatch contributions. Instead of returning the energy contribution per\sphinxhyphen{}se, this function returns the corresponding Boltzmann factor.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_E\_exterior()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
By default, terminal mismatch energies are applied that correspond to the neighboring nucleotides provided by their encodings \sphinxcode{\sphinxupquote{n5d}} and \sphinxcode{\sphinxupquote{n3d}}. Whenever the encodings are negative, the implementation switches to usage of dangling end energies (for the non\sphinxhyphen{}negative base). If both encodings are negative, no terminal mismatch contributions are added.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The base pair encoding 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n5d}} \textendash{} The encoded nucleotide directly adjacent at the 5’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n3d}} \textendash{} The encoded nucleotide directly adjacent at the 3’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{p}} \textendash{} The pre\sphinxhyphen{}computed energy parameters (Boltzmann factor version) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weighted energy contribution of the introduced exterior\sphinxhyphen{}loop stem 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_E\_exterior\_loop (C function)@\spxentry{vrna\_exp\_E\_exterior\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_exterior_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1gadf68e289ab189c1b72fdd9fc6b1d655d}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_exterior\_loop}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Minimum Free Energy API}
\index{vrna\_mfe\_exterior\_f5 (C function)@\spxentry{vrna\_mfe\_exterior\_f5}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_exterior_f5}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1gad073ff02a357aca9fc4509fd31134c67}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_exterior\_f5}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_exterior\_f3 (C function)@\spxentry{vrna\_mfe\_exterior\_f3}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_exterior_f3}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1gaf2849d0912db24c009dc00de8c16ae05}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_exterior\_f3}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_E\_ext\_loop\_5 (C function)@\spxentry{vrna\_E\_ext\_loop\_5}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_ext_loop_5}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1gad26689b27fcaab5a1dcbd0d37d27ad5f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_ext\_loop\_5}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_E\_ext\_loop\_3 (C function)@\spxentry{vrna\_E\_ext\_loop\_3}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_ext_loop_3}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__ext_1ga1bb6bad9f5639a4ad0996debdbd72455}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_ext\_loop\_3}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Hairpin Loops}
\label{\detokenize{eval/eval_loops:hairpin-loops}}
\sphinxAtStartPar
Functions to evaluate the free energy contributions for hairpin loops.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__hp}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic free energy interface}
\index{vrna\_E\_hairpin (C function)@\spxentry{vrna\_E\_hairpin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__hp_1ga86aa270e29f10581ced8a9b867c6b051}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_hairpin}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve the energy of a hairpin\sphinxhyphen{}loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
To evaluate the free energy of a hairpin\sphinxhyphen{}loop, several parameters have to be known. A general hairpin\sphinxhyphen{}loop has this structure:

 
\sphinxAtStartPar
a3 a4

\sphinxAtStartPar
a2     a5

\sphinxAtStartPar
a1     a6

\sphinxAtStartPar
X \sphinxhyphen{} Y

\sphinxAtStartPar
|   |

\sphinxAtStartPar
5’  3’
 where X\sphinxhyphen{}Y marks the closing pair {[}e.g. a \sphinxstylestrong{(G,C)} pair{]}. The length of this loop is 6 as there are six unpaired nucleotides (a1\sphinxhyphen{}a6) enclosed by (X,Y). The 5’ mismatching nucleotide is a1 while the 3’ mismatch is a6. The nucleotide sequence of this loop is “a1.a2.a3.a4.a5.a6” 



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}}, {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gad0bb844f8dc704c71737ae1d7e32b975}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_hp\_loop()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Whenever one of the mismatch base encodings \sphinxcode{\sphinxupquote{si1}} or \sphinxcode{\sphinxupquote{sj1}} is negative, terminal mismatch energies are not applied!
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The parameter \sphinxcode{\sphinxupquote{sequence}} is a 0\sphinxhyphen{}terminated string of size \sphinxcode{\sphinxupquote{size}} + 2 that contain the nucleic acid sequence of the loop in upper\sphinxhyphen{}case letters. This parameter is only required for loops of \sphinxcode{\sphinxupquote{size}} below 7, since it is used for look\sphinxhyphen{}up of unusually stable tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexa\sphinxhyphen{}loops, such as GNRA tetra loops. Those may have additional sequence\sphinxhyphen{}dependent tabulated free energies available.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function \sphinxstylestrong{only} evaluates the free energy of a hairpin loop according to the current Turner energy parameter set! No additional hard\sphinxhyphen{} or soft constraints are applied. See {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gad0bb844f8dc704c71737ae1d7e32b975}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_hp\_loop()}}}}} for a function that also takes into account any user\sphinxhyphen{}supplied constraints!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The size of the loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the base pair closing the hairpin 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The sequence of the loop (May be \sphinxcode{\sphinxupquote{NULL}}, otherwise mst be at least \(size + 2\) long) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The datastructure containing scaled energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Free energy of the Hairpin\sphinxhyphen{}loop in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_hairpin (C function)@\spxentry{vrna\_eval\_hairpin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_eval_hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__hp_1gac0097dbc11097cff5bff873c276c264a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_hairpin}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate free energy of a hairpin loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function evaluates the free energy of a hairpin loop closed by a base pair (i,j). By default (\sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae647cf494a8b80274f63e9921e379c1b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_DEFAULT}}}}}), \sphinxstyleemphasis{all} user\sphinxhyphen{}supplied constraints will be taken into consideration. This means that any hard constraints that prohibit the formation of this loop will result in an energy contribution of \sphinxstylestrong{INF}. On the other hand, if, given the set of constraints, the loop is allowed then its free energy is evaluated according to the Nearest Neighbor energy parameter set. On top of that, any user\sphinxhyphen{}supplied soft\sphinxhyphen{}constraints will be added, if applicable.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{options}} argument allows for (de\sphinxhyphen{})activating certain aspects of the evaluation, e.g. hard constraints, soft constraints, etc.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops__hp_1ga86aa270e29f10581ced8a9b867c6b051}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_hairpin()}}}}}, {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__hp_1ga4997b7ebab4b1d8a34dee8365b28d03e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_eval\_hairpin()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabf464e57b705137b553431ae88b5f276}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_HC}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabfc2f7e81ec9ec64ccc9ef6b2b5aac2a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_SC}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaafb5b0c04bc9f522b7a2e7909bd56d23}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_CONSTRAINTS}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If sequence position \sphinxcode{\sphinxupquote{i}} is larger than \sphinxcode{\sphinxupquote{j}}, the function assumes a hairpin loop formed by a circular RNA, where the unpaired loop sequence spans the n,1\sphinxhyphen{}junction.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
By default, all user\sphinxhyphen{}supplied hard\sphinxhyphen{} and soft constraints will be taken into account! Use the {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabf464e57b705137b553431ae88b5f276}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_HC}}}}} and {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabfc2f7e81ec9ec64ccc9ef6b2b5aac2a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_SC}}}}} bit flags as input for \sphinxcode{\sphinxupquote{options}} to change the default behavior if necessary.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic! The provided {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} may be of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}} or {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the particular energy evaluation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} 5’\sphinxhyphen{}position of the base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} 3’\sphinxhyphen{}position of the base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bit\sphinxhyphen{}field that specifies which aspects (not) to consider during evaluation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Free energy of the hairpin loop closed by \( (i,j) \) in deka\sphinxhyphen{}kal/mol or INF if the loop is forbidden 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Boltzmann weight (partition function) interface}
\index{vrna\_exp\_E\_hairpin (C function)@\spxentry{vrna\_exp\_E\_hairpin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__hp_1ga847c34387b29b06448c7c843156bca91}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_hairpin}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Boltzmann weight \(e^{-\Delta G/kT} \) of a hairpin loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the partition function variant of vrna\_E\_hp() that returns the Boltzmann weight \(e^{-\Delta E/kT} \) instead of the energy \( E \).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_exp\_eval\_hp\_loop(), {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}}, vrna\_E\_hp()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Whenever one of the mismatch base encodings \sphinxcode{\sphinxupquote{si1}} or \sphinxcode{\sphinxupquote{sj1}} is negative, terminal mismatch energies are not applied!
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not forget to scale this Bolztmann factor properly, e.g. by multiplying with scale{[}u+2{]}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The size of the loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the base pair closing the hairpin 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The sequence of the loop (May be \sphinxcode{\sphinxupquote{NULL}}, otherwise mst be at least \(size + 2\) long) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The datastructure containing scaled Boltzmann weights of the energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weight of the Hairpin\sphinxhyphen{}loop 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_eval\_hairpin (C function)@\spxentry{vrna\_exp\_eval\_hairpin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_eval_hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__hp_1ga4997b7ebab4b1d8a34dee8365b28d03e}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_eval\_hairpin}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
High\sphinxhyphen{}Level function for hairpin loop energy evaluation (partition function variant). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the partition function variant of {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gad0bb844f8dc704c71737ae1d7e32b975}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_hp\_loop()}}}}} that returns the Boltzmann weight \(e^{-\Delta E/kT} \) instead of the energy \( E \). On top of all constraints application, this function already scales the Boltzmann factor, i.e. it multiplies the result with scale{[}u + 2{]}

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{options}} argument allows for (de\sphinxhyphen{})activating certain aspects of the evaluation, e.g. hard constraints, soft constraints, etc.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops__hp_1gac0097dbc11097cff5bff873c276c264a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_hairpin()}}}}}, {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__hp_1ga847c34387b29b06448c7c843156bca91}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_E\_hairpin()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabf464e57b705137b553431ae88b5f276}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_HC}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabfc2f7e81ec9ec64ccc9ef6b2b5aac2a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_SC}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaafb5b0c04bc9f522b7a2e7909bd56d23}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_CONSTRAINTS}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If sequence position \sphinxcode{\sphinxupquote{i}} is larger than \sphinxcode{\sphinxupquote{j}}, the function assumes a hairpin loop formed by a circular RNA, where the unpaired loop sequence spans the n,1\sphinxhyphen{}junction.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
By default, all user\sphinxhyphen{}supplied hard\sphinxhyphen{} and soft constraints will be taken into account! Use the {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabf464e57b705137b553431ae88b5f276}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_HC}}}}} and {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabfc2f7e81ec9ec64ccc9ef6b2b5aac2a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EVAL\_LOOP\_NO\_SC}}}}} bit flags to change the default behavior if necessary.
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic! The provided {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} may be of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}} or {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the particular energy evaluation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} 5’\sphinxhyphen{}position of the base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} 3’\sphinxhyphen{}position of the base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bit\sphinxhyphen{}field that specifies which aspects (not) to consider during evaluation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Boltzmann factor of the free energy of the hairpin loop closed by \( (i,j) \) or 0. if the loop is forbidden 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Internal Loops}
\label{\detokenize{eval/eval_loops:internal-loops}}
\sphinxAtStartPar
Functions to evaluate the free energy contributions for internal loops.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic free energy interface}
\index{vrna\_E\_internal (C function)@\spxentry{vrna\_E\_internal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_internal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1gaaaa6eb5605d1c843af1269c6f23cb53c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_internal}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n1}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n2}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sp1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sq1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the Energy of an internal loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the free energy \( E \) of an internal\sphinxhyphen{}loop with the following structure: 

 
\sphinxAtStartPar
3’  5’

\sphinxAtStartPar
|   |

\sphinxAtStartPar
U \sphinxhyphen{} V

\sphinxAtStartPar
a\_n       b\_1

\sphinxAtStartPar
.        .

\sphinxAtStartPar
.        .

\sphinxAtStartPar
.        .

\sphinxAtStartPar
a\_1       b\_m

\sphinxAtStartPar
X \sphinxhyphen{} Y

\sphinxAtStartPar
|   |

\sphinxAtStartPar
5’  3’
 This general structure depicts an internal\sphinxhyphen{}loop that is closed by the base pair (X,Y). The enclosed base pair is (V,U) which leaves the unpaired bases a\_1\sphinxhyphen{}a\_n and b\_1\sphinxhyphen{}b\_n that constitute the loop. In this example, the length of the internal\sphinxhyphen{}loop is \((n+m)\)
\sphinxAtStartPar
where n or m may be 0 resulting in a bulge\sphinxhyphen{}loop or base pair stack. The mismatching nucleotides for the closing pair (X,Y) are:

\sphinxAtStartPar
5’\sphinxhyphen{}mismatch: a\_1

\sphinxAtStartPar
3’\sphinxhyphen{}mismatch: b\_m

\sphinxAtStartPar
and for the enclosed base pair (V,U):

\sphinxAtStartPar
5’\sphinxhyphen{}mismatch: b\_1

\sphinxAtStartPar
3’\sphinxhyphen{}mismatch: a\_n


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_exp\_E\_internal()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar

\sphinxAtStartPar
Base pairs are always denoted in 5’\sphinxhyphen{}\textgreater{}3’ direction. Thus the enclosed base pair must be ‘turned arround’ when evaluating the free energy of the internal\sphinxhyphen{}loop

\sphinxAtStartPar
This function is threadsafe

\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n1}} \textendash{} The size of the ‘left’\sphinxhyphen{}loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n2}} \textendash{} The size of the ‘right’\sphinxhyphen{}loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the base pair closing the internal loop 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type\_2}} \textendash{} The pair type of the enclosed base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide of the closing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide of the closing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sp1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide of the enclosed pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sq1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide of the enclosed pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The datastructure containing scaled energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Free energy of the internal loop in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_internal (C function)@\spxentry{vrna\_eval\_internal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_eval_internal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1ga89b62e8fafa81514c6bd58a16e90d00a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_internal}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy contribution of an internal loop with delimiting base pairs \((i,j)\) and \((k,l)\). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic, i.e. it accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}} as well as {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}
\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_eval\_stack (C function)@\spxentry{vrna\_eval\_stack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_eval_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1gaf2fac131b5006708be6daec2dcec6c13}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_stack}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Boltzmann weight (partition function) interface}
\index{vrna\_exp\_E\_internal (C function)@\spxentry{vrna\_exp\_E\_internal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_internal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1gad02e49086e29c6c2d08aed18205e2538}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_internal}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n1}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n2}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sp1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sq1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_eval\_internal (C function)@\spxentry{vrna\_exp\_eval\_internal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_eval_internal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1ga7aea8d7ecea66138d321e72354fa18f8}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_eval\_internal}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Minimum Free Energy API}
\index{vrna\_mfe\_internal (C function)@\spxentry{vrna\_mfe\_internal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_internal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1ga0d86be5951f448d44d15c5180a259c94}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_internal}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_internal\_ext (C function)@\spxentry{vrna\_mfe\_internal\_ext}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_internal_ext}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1ga281de352394fd2c35bf23f837da63f76}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_internal\_ext}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ip}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{iq}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Boltzmann weight (partition function) interface}
\index{vrna\_exp\_E\_int\_loop (C function)@\spxentry{vrna\_exp\_E\_int\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_int_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1gaa64bb3e28f557985a4d448f8fd86a115}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_int\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_E\_int\_loop (C function)@\spxentry{vrna\_E\_int\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_int_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1gab927db1b264b253a9acd5e63ab5404a1}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_int\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_E\_ext\_int\_loop (C function)@\spxentry{vrna\_E\_ext\_int\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_ext_int_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__int_1gadad05dffc71e28377acdcedde9a3d9fc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_ext\_int\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ip}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{iq}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Multibranch Loops}
\label{\detokenize{eval/eval_loops:multibranch-loops}}
\sphinxAtStartPar
Functions to evaluate the free energy contributions for mutlibranch loops.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Minimum Free Energy API}
\index{vrna\_mx\_mfe\_aux\_ml\_t (C type)@\spxentry{vrna\_mx\_mfe\_aux\_ml\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mx_mfe_aux_ml_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga00a8e1daa266e9ef39967308a082cc0e}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_fast\_init (C function)@\spxentry{vrna\_mfe\_multibranch\_fast\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_fast_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga6ecc64214c66fa1a264bcd554ddad0da}}{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_mfe_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_fast\_init}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_fast\_rotate (C function)@\spxentry{vrna\_mfe\_multibranch\_fast\_rotate}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_fast_rotate}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga71b8aa0fcf1531761ffa8c79c2e42de5}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_fast\_rotate}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_mfe_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_fast\_free (C function)@\spxentry{vrna\_mfe\_multibranch\_fast\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_fast_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1gaf8a318287851f5c2cac5e3cfa92e54a7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_fast\_free}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_mfe_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_loop\_fast (C function)@\spxentry{vrna\_mfe\_multibranch\_loop\_fast}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_loop_fast}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1gaffcbfc75d9bdceeda6b796998e804e51}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_loop\_fast}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_mfe_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{helpers}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_stems\_fast (C function)@\spxentry{vrna\_mfe\_multibranch\_stems\_fast}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_stems_fast}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1gaf0c4590388adb6ff5b730bbbd8afcc73}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_stems\_fast}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{helpers}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_m2\_fast (C function)@\spxentry{vrna\_mfe\_multibranch\_m2\_fast}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_m2_fast}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga244d5c28ba8d6c86344850080cd7a86f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_m2\_fast}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_mx\_mfe\_aux\_ml\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{helpers}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_loop\_stack (C function)@\spxentry{vrna\_mfe\_multibranch\_loop\_stack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_loop_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga8b7f1b9714b713c2ebeb37c3d3e5d653}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_loop\_stack}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate energy of multi branch loop helices stacking onto closing pair (i,j). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Computes total free energy for coaxial stacking of (i.j) with (i+1.k) or (k+1.j\sphinxhyphen{}1) 

\end{fulllineitems}

\index{vrna\_mfe\_multibranch\_m1 (C function)@\spxentry{vrna\_mfe\_multibranch\_m1}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mfe_multibranch_m1}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga7401e61de5a7e48538f822af1ce2eae0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_multibranch\_m1}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Boltzmann weight (partition function) interface}
\index{vrna\_mx\_pf\_aux\_ml\_t (C type)@\spxentry{vrna\_mx\_pf\_aux\_ml\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga39a8cc1385dcb542a60a9393cde6a1e3}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Auxiliary helper arrays for fast exterior loop computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_exp\_E\_ml\_fast\_init(), vrna\_exp\_E\_ml\_fast\_rotate(), vrna\_exp\_E\_ml\_fast\_free(), vrna\_exp\_E\_ml\_fast() 


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_exp\_E\_mb\_loop\_fast (C function)@\spxentry{vrna\_exp\_E\_mb\_loop\_fast}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_mb_loop_fast}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1gac4a6acc1fded0e89460692ef9f62a6c2}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_mb\_loop\_fast}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ml\_fast\_init (C function)@\spxentry{vrna\_exp\_E\_ml\_fast\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ml_fast_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1gab4ec400cb861b8102ca9974406d9de9b}}{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ml\_fast\_init}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ml\_fast\_rotate (C function)@\spxentry{vrna\_exp\_E\_ml\_fast\_rotate}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ml_fast_rotate}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1gabc73c029027ba09bfe70e2318052f0ae}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ml\_fast\_rotate}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ml\_fast\_free (C function)@\spxentry{vrna\_exp\_E\_ml\_fast\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ml_fast_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga3bbc24b3950867b039104ce8b4f39346}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ml\_fast\_free}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ml\_fast\_qqm (C function)@\spxentry{vrna\_exp\_E\_ml\_fast\_qqm}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ml_fast_qqm}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga738d28f9b0a546e01a98c7a309709be8}}\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ml\_fast\_qqm}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ml\_fast\_qqm1 (C function)@\spxentry{vrna\_exp\_E\_ml\_fast\_qqm1}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ml_fast_qqm1}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga460bda434012ac0507c8daec778a4c12}}\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ml\_fast\_qqm1}}}}
{{\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ml\_fast (C function)@\spxentry{vrna\_exp\_E\_ml\_fast}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_ml_fast}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1gaf688fa4e6331403debb9802f3fda8bf4}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ml\_fast}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{eval/eval_loops:c.vrna_mx_pf_aux_ml_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_t}}}}\DUrole{w}{ }\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_m2\_fast (C function)@\spxentry{vrna\_exp\_E\_m2\_fast}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_m2_fast}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga9c439fb66f5ebbac7fd09ad7dac1e160}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_m2\_fast}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_mx\_pf\_aux\_ml\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{aux\_mx}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic free energy interface}
\index{vrna\_E\_multibranch\_stem (C function)@\spxentry{vrna\_E\_multibranch\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_E_multibranch_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga4df9d02217343b879549725fcebbc9ec}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_multibranch\_stem}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy contribution of a stem branching off a multibranch loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields the free energy contribution for the terminal base pairs of a stem branching off a multibranch loop. In essence, this consists of (i) a terminal mismatch or dangling end contribution, (ii) the score for a stem according to the affine multibranch loop model, and (iii) a terminal AU/GU penalty, if applicable.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops__mb_1ga059fc821ba1f35df583d33d9c13322d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_E\_multibranch\_stem()}}}}}, {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__ext_1gad15211d536d971e3c335813a75897a26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_exterior\_stem()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
By default, terminal mismatch energies are applied that correspond to the neighboring nucleotides provided by their encodings \sphinxcode{\sphinxupquote{n5d}} and \sphinxcode{\sphinxupquote{n3d}}. Whenever the encodings are negative, the implementation switches to usage of dangling end energies (for the non\sphinxhyphen{}negative base). If both encodings are negative, no terminal mismatch contributions are added.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The base pair encoding 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The encoded nucleotide directly adjacent at the 5’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The encoded nucleotide directly adjacent at the 3’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The pre\sphinxhyphen{}computed energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The energy contribution of the introduced mutlibranch loop stem 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Boltzmann weight (partition function) interface}
\index{vrna\_exp\_E\_multibranch\_stem (C function)@\spxentry{vrna\_exp\_E\_multibranch\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_loops:c.vrna_exp_E_multibranch_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_loops:group__eval__loops__mb_1ga059fc821ba1f35df583d33d9c13322d1}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_multibranch\_stem}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy contribution of a stem branching off a multibranch loop (Boltzmann factor version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields the free energy contribution as Boltzmann factor \( exp(-E/kT) \) for the terminal base pairs of a stem branching off a multibranch loop. In essence, this consists of (i) a terminal mismatch or dangling end contribution, (ii) the score for a stem according to the affine multibranch loop model, and (iii) a terminal AU/GU penalty, if applicable.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops__mb_1ga4df9d02217343b879549725fcebbc9ec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_multibranch\_stem()}}}}}, {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__ext_1ga70e734a0dc46f049ff2de13d38d6ea69}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_E\_exterior\_stem()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
By default, terminal mismatch energies are applied that correspond to the neighboring nucleotides provided by their encodings \sphinxcode{\sphinxupquote{n5d}} and \sphinxcode{\sphinxupquote{n3d}}. Whenever the encodings are negative, the implementation switches to usage of dangling end energies (for the non\sphinxhyphen{}negative base). If both encodings are negative, no terminal mismatch contributions are added.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The base pair encoding 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The encoded nucleotide directly adjacent at the 5’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The encoded nucleotide directly adjacent at the 3’ side of the base pair (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The pre\sphinxhyphen{}computed energy parameters (Boltzmann factor version) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann factor of the energy contribution for the introduced mutlibranch loop stem 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Energy Evaluation for Atomic Moves}
\label{\detokenize{eval/eval_move:energy-evaluation-for-atomic-moves}}\label{\detokenize{eval/eval_move::doc}}
\sphinxAtStartPar
Functions to evaluate the free energy change of a structure after application of
(a set of) atomic moves

\sphinxAtStartPar
Here, atomic moves are not to be confused with moves of actual physical atoms. Instead,
an atomic move is considered the smallest conformational change a secondary structure
can undergo to form another, distinguishable structure. We currently support the
following moves
\begin{itemize}
\item {} 
\sphinxAtStartPar
Opening (dissociation) of a single base pair

\item {} 
\sphinxAtStartPar
Closing (formation) of a single base pair

\item {} 
\sphinxAtStartPar
Shifting one pairing partner of an existing pair to a different location

\end{itemize}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_move:group__eval__move}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_eval\_move (C function)@\spxentry{vrna\_eval\_move}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_move:c.vrna_eval_move}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_move:group__eval__move_1ga2e542ea644f28d33b05ec81b7cd60ae5}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_move}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000071}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_move()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga03995d1cd83b3881af7c89dd4ddbdefc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} \textendash{} first coordinate of base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} \textendash{} second coordinate of base pair 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in kcal/mol (INF / 100. upon any error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_move\_pt (C function)@\spxentry{vrna\_eval\_move\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_move:c.vrna_eval_move_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_move:group__eval__move_1ga03995d1cd83b3881af7c89dd4ddbdefc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_move\_pt}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000072}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_move\_pt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga2e542ea644f28d33b05ec81b7cd60ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} the pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} \textendash{} first coordinate of base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} \textendash{} second coordinate of base pair 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_move\_pt\_simple (C function)@\spxentry{vrna\_eval\_move\_pt\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_move:c.vrna_eval_move_pt_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_move:group__eval__move_1ga8bd14b548874366b8a2a9c65eff08888}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_move\_pt\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_eval\_move\_shift\_pt (C function)@\spxentry{vrna\_eval\_move\_shift\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_move:c.vrna_eval_move_shift_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_move:group__eval__move_1ga7b651856d7b37cede016a2c6ebd8d9b7}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_move\_shift\_pt}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Evaluation of Structures}
\label{\detokenize{eval/eval_structures:evaluation-of-structures}}\label{\detokenize{eval/eval_structures::doc}}
\sphinxAtStartPar
Several different functions to evaluate the free energy of a full secondary structure
under a particular set of parameters and the Nearest Neighbor Energy model are available
in \sphinxstyleemphasis{RNAlib}.

\sphinxAtStartPar
For most of them, two different forms of representations for the secondary structure may
be used:
\begin{itemize}
\item {} 
\sphinxAtStartPar
The Dot\sphinxhyphen{}Bracket string

\item {} 
\sphinxAtStartPar
A pair table representation

\end{itemize}

\sphinxAtStartPar
Furthermore, the evaluation functions are divided into \sphinxstylestrong{basic} and \sphinxstylestrong{simplified} variants,
where \sphinxstylestrong{basic} functions require the use of a {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}} data structure
holding the sequence string, and model configuration (settings and parameters).

\sphinxAtStartPar
The \sphinxstylestrong{simplified} functions, on the other hand, provide often used default model settings
that may be called directly with only sequence and structure data.

\sphinxAtStartPar
Finally, \sphinxstylestrong{verbose} variants exist for some functions that allow one to print the
(individual) free energy contributions to some \sphinxcode{\sphinxupquote{FILE}} stream.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic Energy Evaluation Interface with Dot\sphinxhyphen{}Bracket Structure String}
\index{vrna\_eval\_structure (C function)@\spxentry{vrna\_eval\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for energy evaluation of a given pair of structure and sequence (alignment). Model details, energy parameters, and possibly soft constraints are used as provided via the parameter ‘fc’. The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} does not need to contain any DP matrices, but requires all most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}EVAL\PYGZus{}ONLY}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000065}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_covar\_structure (C function)@\spxentry{vrna\_eval\_covar\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_covar_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_covar\_structure}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the pseudo energy derived by the covariance scores of a set of aligned sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Consensus structure prediction is driven by covariance scores of base pairs in rows of the provided alignment. This function allows one to retrieve the total amount of this covariance pseudo energy scores. The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} does not need to contain any DP matrices, but requires all most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}comparative}\PYG{p}{(}\PYG{n}{alignment}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}EVAL\PYGZus{}ONLY}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000069}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_covar\_structure()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_covar_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_covar\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}} only!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary (consensus) structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The covariance pseudo energy score of the input structure given the input sequence alignment in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_verbose (C function)@\spxentry{vrna\_eval\_structure\_verbose}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_verbose}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_verbose}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA and print contributions on a per\sphinxhyphen{}loop base. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a simplyfied version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf1fe5f30df6a7a9a1a6c137edcf173d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_v()}}}}} that uses the \sphinxstyleemphasis{default} verbosity level.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000067}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure\_verbose()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}},


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_v (C function)@\spxentry{vrna\_eval\_structure\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gaf1fe5f30df6a7a9a1a6c137edcf173d2}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_v}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA and print contributions on a per\sphinxhyphen{}loop base. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for detailed energy evaluation of a given sequence/structure pair. In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} this function prints detailed energy contributions based on individual loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout. Any positive \sphinxcode{\sphinxupquote{verbosity\_level}} activates potential warning message of the energy evaluting functions, while values \( \ge 1 \) allow for detailed control of what data is printed. A negative parameter \sphinxcode{\sphinxupquote{verbosity\_level}} turns off printing all together.

\sphinxAtStartPar
Model details, energy parameters, and possibly soft constraints are used as provided via the parameter ‘fc’. The fold\_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}EVAL\PYGZus{}ONLY}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}},


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_cstr (C function)@\spxentry{vrna\_eval\_structure\_cstr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_cstr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gad1e50a7f48773295e9da8a789fa43474}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_cstr}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{output\_stream}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic Energy Evaluation Interface with Structure Pair Table}
\index{vrna\_eval\_structure\_pt (C function)@\spxentry{vrna\_eval\_structure\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_pt}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for energy evaluation of a given sequence/structure pair where the structure is provided in pair\_table format as obtained from {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}. Model details, energy parameters, and possibly soft constraints are used as provided via the parameter ‘fc’. The fold\_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}EVAL\PYGZus{}ONLY}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000066}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure\_pt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} Secondary structure as pair\_table 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_pt\_verbose (C function)@\spxentry{vrna\_eval\_structure\_pt\_verbose}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_pt_verbose}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_pt\_verbose}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a simplyfied version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}} that uses the \sphinxstyleemphasis{default} verbosity level.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000068}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure\_pt\_verbose()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt\_verbose()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2573093f1546389c1d56cf7ee9d206fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_v()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} Secondary structure as pair\_table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_pt\_v (C function)@\spxentry{vrna\_eval\_structure\_pt\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_pt_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga2573093f1546389c1d56cf7ee9d206fb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_pt\_v}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for energy evaluation of a given sequence/structure pair where the structure is provided in pair\_table format as obtained from {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}. Model details, energy parameters, and possibly soft constraints are used as provided via the parameter ‘fc’. The fold\_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}EVAL\PYGZus{}ONLY}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}
 In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}} this function prints detailed energy contributions based on individual loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout. Any positive \sphinxcode{\sphinxupquote{verbosity\_level}} activates potential warning message of the energy evaluting functions, while values \( \ge 1 \) allow for detailed control of what data is printed. A negative parameter \sphinxcode{\sphinxupquote{verbosity\_level}} turns off printing all together.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} Secondary structure as pair\_table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified Energy Evaluation with Sequence and Dot\sphinxhyphen{}Bracket Strings}
\index{vrna\_eval\_structure\_simple (C function)@\spxentry{vrna\_eval\_structure\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for energy evaluation of a given sequence/structure pair. In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Therefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000075}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}},


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_structure (C function)@\spxentry{vrna\_eval\_circ\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a sequence/structure pair where the sequence is circular. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000076}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga8a56347a94dd85facde5985b9c206426}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae621c4da20e78df6c374e65eede4a313}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga8a56347a94dd85facde5985b9c206426}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the structure given the circular input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_gquad\_structure (C function)@\spxentry{vrna\_eval\_gquad\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_gquad_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_gquad\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a sequence/structure pair where the structure may contain G\sphinxhyphen{}Quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000077}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2acd501f014d3829a26e8c8fece3f876}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga998a676020cf1464cf65d683e2acdaa8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2acd501f014d3829a26e8c8fece3f876}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the structure including contributions of G\sphinxhyphen{}quadruplexes in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_gquad\_structure (C function)@\spxentry{vrna\_eval\_circ\_gquad\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_gquad_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_gquad\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a sequence/structure pair where the sequence is circular and the structure may contain G\sphinxhyphen{}Quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000078}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga7fd7d128b415f8b87ee1f1c8050a0579}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga15234ede0f328e28f4075f2a1b177022}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga7fd7d128b415f8b87ee1f1c8050a0579}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the structure including contributions of G\sphinxhyphen{}quadruplexes in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_simple\_verbose (C function)@\spxentry{vrna\_eval\_structure\_simple\_verbose}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_simple_verbose}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga4c2895a7dcd756ef2dc7f76db7c4c53e}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_simple\_verbose}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a simplyfied version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}} that uses the \sphinxstyleemphasis{default} verbosity level.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_simple\_v (C function)@\spxentry{vrna\_eval\_structure\_simple\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_simple_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_simple\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for detailed energy evaluation of a given sequence/structure pair. In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} this function prints detailed energy contributions based on individual loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout. Any positive \sphinxcode{\sphinxupquote{verbosity\_level}} activates potential warning message of the energy evaluting functions, while values \( \ge 1 \) allow for detailed control of what data is printed. A negative parameter \sphinxcode{\sphinxupquote{verbosity\_level}} turns off printing all together.

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Threefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000083}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}},


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_structure\_v (C function)@\spxentry{vrna\_eval\_circ\_structure\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_structure_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga8a56347a94dd85facde5985b9c206426}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_structure\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate free energy of a sequence/structure pair, assume sequence to be circular and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is the same as {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}} but assumes the input sequence to be circularized.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000084}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_gquad\_structure\_v (C function)@\spxentry{vrna\_eval\_gquad\_structure\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_gquad_structure_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga2acd501f014d3829a26e8c8fece3f876}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_gquad\_structure\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate free energy of a sequence/structure pair, allow for G\sphinxhyphen{}Quadruplexes in the structure and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is the same as {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}} but allows for annotated G\sphinxhyphen{}Quadruplexes in the dot\sphinxhyphen{}bracket structure input.

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000085}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_gquad\_structure\_v (C function)@\spxentry{vrna\_eval\_circ\_gquad\_structure\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_gquad_structure_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga7fd7d128b415f8b87ee1f1c8050a0579}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_gquad\_structure\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate free energy of a sequence/structure pair, assume sequence to be circular, allow for G\sphinxhyphen{}Quadruplexes in the structure, and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is the same as {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}} but assumes the input sequence to be circular and allows for annotated G\sphinxhyphen{}Quadruplexes in the dot\sphinxhyphen{}bracket structure input.

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000086}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified Energy Evaluation with Sequence Alignments and Consensus Structure Dot\sphinxhyphen{}Bracket String}
\index{vrna\_eval\_consensus\_structure\_simple (C function)@\spxentry{vrna\_eval\_consensus\_structure\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_consensus_structure_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga25d4bc5510e31a2d2d4ac44b060f2272}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_consensus\_structure\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA sequence alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for energy evaluation for a given multiple sequence alignment and consensus structure pair. In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Therefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000079}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters and hyphen (‘\sphinxhyphen{}’) to denote gaps 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus Secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure given the input alignment in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_consensus\_structure (C function)@\spxentry{vrna\_eval\_circ\_consensus\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_consensus_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gae621c4da20e78df6c374e65eede4a313}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_consensus\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a multiple sequence alignment/consensus structure pair where the sequences are circular. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000080}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga25d4bc5510e31a2d2d4ac44b060f2272}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga998a676020cf1464cf65d683e2acdaa8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae924c5f0d1b132e64271b16e700457e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_consensus\_structure\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure given the circular input sequence in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_gquad\_consensus\_structure (C function)@\spxentry{vrna\_eval\_gquad\_consensus\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_gquad_consensus_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga998a676020cf1464cf65d683e2acdaa8}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_gquad\_consensus\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a multiple sequence alignment/consensus structure pair where the structure may contain G\sphinxhyphen{}Quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000081}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga25d4bc5510e31a2d2d4ac44b060f2272}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae621c4da20e78df6c374e65eede4a313}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga3b236c1487fcfd1c95daa36a04bace38}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_consensus\_structure\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure including contributions of G\sphinxhyphen{}quadruplexes in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_gquad\_consensus\_structure (C function)@\spxentry{vrna\_eval\_circ\_gquad\_consensus\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_gquad_consensus_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga15234ede0f328e28f4075f2a1b177022}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_gquad\_consensus\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a multiple sequence alignment/consensus structure pair where the sequence is circular and the structure may contain G\sphinxhyphen{}Quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000082}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga25d4bc5510e31a2d2d4ac44b060f2272}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae621c4da20e78df6c374e65eede4a313}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga8835380ac51903da01dc3656f2387a9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_consensus\_structure\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure including contributions of G\sphinxhyphen{}quadruplexes in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_consensus\_structure\_simple\_verbose (C function)@\spxentry{vrna\_eval\_consensus\_structure\_simple\_verbose}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_consensus_structure_simple_verbose}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga3e7e57b9b4fafcf739eb6646d45be881}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_consensus\_structure\_simple\_verbose}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a consensus structure for an RNA sequence alignment and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a simplyfied version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}} that uses the \sphinxstyleemphasis{default} verbosity level.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters. Gaps are denoted by hyphens (‘\sphinxhyphen{}’) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the conensus structure given the aligned input sequences in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_consensus\_structure\_simple\_v (C function)@\spxentry{vrna\_eval\_consensus\_structure\_simple\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_consensus_structure_simple_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_consensus\_structure\_simple\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a consensus structure for an RNA sequence alignment and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for detailed energy evaluation of a given sequence alignment/consensus structure pair. In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga25d4bc5510e31a2d2d4ac44b060f2272}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple()}}}}} this function prints detailed energy contributions based on individual loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout. Any positive \sphinxcode{\sphinxupquote{verbosity\_level}} activates potential warning message of the energy evaluting functions, while values \( \ge 1 \) allow for detailed control of what data is printed. A negative parameter \sphinxcode{\sphinxupquote{verbosity\_level}} turns off printing all together.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000087}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_eval\_consensus\_structure(), {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters. Gaps are denoted by hyphens (‘\sphinxhyphen{}’) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure given the sequence alignment in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_consensus\_structure\_v (C function)@\spxentry{vrna\_eval\_circ\_consensus\_structure\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_consensus_structure_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gae924c5f0d1b132e64271b16e700457e1}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_consensus\_structure\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a consensus structure for an alignment of circular RNA sequences and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is identical with {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}} but assumed the aligned sequences to be circular.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000088}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae621c4da20e78df6c374e65eede4a313}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters. Gaps are denoted by hyphens (‘\sphinxhyphen{}’) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure given the sequence alignment in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_gquad\_consensus\_structure\_v (C function)@\spxentry{vrna\_eval\_gquad\_consensus\_structure\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_gquad_consensus_structure_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga3b236c1487fcfd1c95daa36a04bace38}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_gquad\_consensus\_structure\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a consensus structure for an RNA sequence alignment, allow for annotated G\sphinxhyphen{}Quadruplexes in the structure and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is identical with {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}} but allows for annotated G\sphinxhyphen{}Quadruplexes in the consensus structure.

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000089}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga998a676020cf1464cf65d683e2acdaa8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters. Gaps are denoted by hyphens (‘\sphinxhyphen{}’) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure given the sequence alignment in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_circ\_gquad\_consensus\_structure\_v (C function)@\spxentry{vrna\_eval\_circ\_gquad\_consensus\_structure\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_circ_gquad_consensus_structure_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga8835380ac51903da01dc3656f2387a9f}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_circ\_gquad\_consensus\_structure\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the free energy of a consensus structure for an alignment of circular RNA sequences, allow for annotated G\sphinxhyphen{}Quadruplexes in the structure and print contributions per loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is identical with {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}} but assumes the sequences in the alignment to be circular and allows for annotated G\sphinxhyphen{}Quadruplexes in the consensus structure.

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer G\sphinxhyphen{}quadruplex: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
GGAAGGAAAGGAGG
++..++...++.++
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000090}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga15234ede0f328e28f4075f2a1b177022}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_consensus\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters. Gaps are denoted by hyphens (‘\sphinxhyphen{}’) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the consensus structure given the sequence alignment in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified Energy Evaluation with Sequence String and Structure Pair Table}
\index{vrna\_eval\_structure\_pt\_simple (C function)@\spxentry{vrna\_eval\_structure\_pt\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_pt_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga0bba59b4d6e53461088666ff4aece7b0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_pt\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}} this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Threefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000091}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2573093f1546389c1d56cf7ee9d206fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_pt_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} Secondary structure as pair\_table 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_pt\_simple\_verbose (C function)@\spxentry{vrna\_eval\_structure\_pt\_simple\_verbose}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_pt_simple_verbose}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga76e152ee9a02be23da14cdddf52b4e44}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_pt\_simple\_verbose}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a simplyfied version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac40b813d35289da9816d0c1eec94faa5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_simple\_v()}}}}} that uses the \sphinxstyleemphasis{default} verbosity level.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gac40b813d35289da9816d0c1eec94faa5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_simple\_v()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} Secondary structure as pair\_table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_structure\_pt\_simple\_v (C function)@\spxentry{vrna\_eval\_structure\_pt\_simple\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_structure_pt_simple_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gac40b813d35289da9816d0c1eec94faa5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_structure\_pt\_simple\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows for energy evaluation of a given sequence/structure pair where the structure is provided in pair\_table format as obtained from {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}. Model details, energy parameters, and possibly soft constraints are used as provided via the parameter ‘fc’. The fold\_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}EVAL\PYGZus{}ONLY}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}
 In contrast to {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}} this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Threefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2573093f1546389c1d56cf7ee9d206fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_v()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} Secondary structure as pair\_table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} The level of verbosity of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle where this function should print to (may be NULL). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified Energy Evaluation with Sequence Alignment and Consensus Structure Pair Table}
\index{vrna\_eval\_consensus\_structure\_pt\_simple (C function)@\spxentry{vrna\_eval\_consensus\_structure\_pt\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_consensus_structure_pt_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gabbb4d2a7aa324ec9cce8f47ce61ab8af}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_consensus\_structure\_pt\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate the Free Energy of a Consensus Secondary Structure given a Sequence Alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000092}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0bba59b4d6e53461088666ff4aece7b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_pt_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga25d4bc5510e31a2d2d4ac44b060f2272}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The free energy returned from this function already includes the covariation pseudo energies that is used fir comparative structure prediction within this library.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} RNA sequence alignment in uppercase letters. Gaps are denoted by hyphens (‘\sphinxhyphen{}’) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} Secondary structure in pair table format 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Free energy of the consensus structure in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_consensus\_structure\_pt\_simple\_verbose (C function)@\spxentry{vrna\_eval\_consensus\_structure\_pt\_simple\_verbose}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_consensus_structure_pt_simple_verbose}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga2769e4369d023ad2d5c5f4d2ee825c23}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_consensus\_structure\_pt\_simple\_verbose}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_eval\_consensus\_structure\_pt\_simple\_v (C function)@\spxentry{vrna\_eval\_consensus\_structure\_pt\_simple\_v}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.vrna_eval_consensus_structure_pt_simple_v}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gaf2d227b3d54bf9b693a3df52faf5e2e4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_consensus\_structure\_pt\_simple\_v}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000093}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0bba59b4d6e53461088666ff4aece7b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_pt_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_VERBOSITY\_QUIET (C macro)@\spxentry{VRNA\_VERBOSITY\_QUIET}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.VRNA_VERBOSITY_QUIET}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_VERBOSITY\_QUIET}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Quiet level verbosity setting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_VERBOSITY\_DEFAULT (C macro)@\spxentry{VRNA\_VERBOSITY\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.VRNA_VERBOSITY_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1ga47430d9e875084cfb983b22612e3abdf}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_VERBOSITY\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default level verbosity setting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_EVAL\_LOOP\_DEFAULT (C macro)@\spxentry{VRNA\_EVAL\_LOOP\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.VRNA_EVAL_LOOP_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gae647cf494a8b80274f63e9921e379c1b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_EVAL\_LOOP\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default options for loop evaluation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_EVAL\_LOOP\_NO\_HC (C macro)@\spxentry{VRNA\_EVAL\_LOOP\_NO\_HC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.VRNA_EVAL_LOOP_NO_HC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gabf464e57b705137b553431ae88b5f276}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_EVAL\_LOOP\_NO\_HC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Do not acknowledge hard constraints in loop evaluation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_EVAL\_LOOP\_NO\_SC (C macro)@\spxentry{VRNA\_EVAL\_LOOP\_NO\_SC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.VRNA_EVAL_LOOP_NO_SC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gabfc2f7e81ec9ec64ccc9ef6b2b5aac2a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_EVAL\_LOOP\_NO\_SC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Do not acknowledge soft constraints in loop evaluation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_EVAL\_LOOP\_NO\_CONSTRAINTS (C macro)@\spxentry{VRNA\_EVAL\_LOOP\_NO\_CONSTRAINTS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_structures:c.VRNA_EVAL_LOOP_NO_CONSTRAINTS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_structures:group__eval_1gaafb5b0c04bc9f522b7a2e7909bd56d23}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_EVAL\_LOOP\_NO\_CONSTRAINTS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Do not acknowledge any constraints in loop evaluation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Energy Parameters}
\label{\detokenize{eval/energy_parameters:energy-parameters}}\label{\detokenize{eval/energy_parameters::doc}}
\sphinxAtStartPar
For secondary structure free energy evaluation we usually utilize the set of
thermodynamic \sphinxstylestrong{Nearest Neighbor} energy parameters also used in other software,
such as \sphinxstyleemphasis{UNAfold} and \sphinxstyleemphasis{RNAstructure}.

\sphinxstepscope


\subsubsection{Salt Corrections}
\label{\detokenize{eval/params/salt:salt-corrections}}\label{\detokenize{eval/params/salt::doc}}
\sphinxAtStartPar
All relevant functions to compute salt correction at a given salt concentration and temperature.

\sphinxAtStartPar
The corrections for loop and stack are taken from Einert and Netz {[}\hyperlink{cite.bibliography:id51}{2011}{]}.

\sphinxAtStartPar
All corrections returned are in units of \(\text{dcal} \cdot \text{mol}^{-1}\).


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/params/salt:group__energy__parameters__salt}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_salt\_loop (C function)@\spxentry{vrna\_salt\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/salt:c.vrna_salt_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/salt:group__energy__parameters__salt_1gae83764d58e98e05ea49530775bcba104}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_salt\_loop}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{salt}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{T}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{backbonelen}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for a loop at a given salt concentration and temperature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/salt.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{L}} \textendash{} backbone number in loop 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} \textendash{} salt concentration (M) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T}} \textendash{} absolute temperature (K) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{backbonelen}} \textendash{} Backbone Length, phosphate\sphinxhyphen{}to\sphinxhyphen{}phosphate distance (typically 6 for RNA, 6.76 for DNA)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Salt correction for loop in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_salt\_loop\_int (C function)@\spxentry{vrna\_salt\_loop\_int}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/salt:c.vrna_salt_loop_int}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/salt:group__energy__parameters__salt_1ga79eb7c0dcb7e08dd37437c19be4a7751}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_salt\_loop\_int}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{salt}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{T}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{backbonelen}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for a loop at a given salt concentration and temperature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/salt.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This functions is same as vrna\_salt\_loop but returns rounded salt correction in integer

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/salt:group__energy__parameters__salt_1gae83764d58e98e05ea49530775bcba104}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_salt\_loop}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{L}} \textendash{} backbone number in loop 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} \textendash{} salt concentration (M) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T}} \textendash{} absolute temperature (K) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{backbonelen}} \textendash{} Backbone Length, phosphate\sphinxhyphen{}to\sphinxhyphen{}phosphate distance (typically 6 for RNA, 6.76 for DNA)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Rounded salt correction for loop in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_salt\_stack (C function)@\spxentry{vrna\_salt\_stack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/salt:c.vrna_salt_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/salt:group__energy__parameters__salt_1gab1b3e5d8995b1688765e4244038f157f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_salt\_stack}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{salt}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{T}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{hrise}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for a stack at a given salt concentration and temperature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/salt.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} \textendash{} salt concentration (M) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T}} \textendash{} absolute temperature (K) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{hrise}} \textendash{} Helical Rise (typically 2.8 for RNA, 3.4 for DNA)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Rounded salt correction for stack in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_salt\_ml (C function)@\spxentry{vrna\_salt\_ml}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/salt:c.vrna_salt_ml}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/salt:group__energy__parameters__salt_1ga1099cd74de693d0aecc7b471342e1a31}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_salt\_ml}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{saltLoop}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{lower}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{upper}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{b}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Fit linear function to loop salt correction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/salt.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
For a given range of loop size (backbone number), we perform a linear fitting on loop salt correction

\sphinxAtStartPar
\begin{equation*}
\begin{split} \text{Loop correction} \approx m \cdot L + b. \end{split}
\end{equation*}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/salt:group__energy__parameters__salt_1gae83764d58e98e05ea49530775bcba104}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_salt\_loop()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{saltLoop}} \textendash{} List of loop salt correction of size from 1 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{lower}} \textendash{} Define the size lower bound for fitting 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{upper}} \textendash{} Define the size upper bound for fitting 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} pointer to store the parameter m in fitting result 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} pointer to store the parameter b in fitting result 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_salt\_duplex\_init (C function)@\spxentry{vrna\_salt\_duplex\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/salt:c.vrna_salt_duplex_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/salt:group__energy__parameters__salt_1ga157f362ca309f306c66bc668edb3aceb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_salt\_duplex\_init}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for duplex initialization at a given salt concentration. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/salt.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} Model details data structure that specfifies salt concentration in buffer (M) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Rounded correction for duplex initialization in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Loading / Saving Energy Parameter Sets}
\label{\detokenize{eval/params/io:loading-saving-energy-parameter-sets}}\label{\detokenize{eval/params/io::doc}}
\sphinxAtStartPar
Read and Write energy parameter sets from and to files or strings


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PARAMETER\_FORMAT\_DEFAULT (C macro)@\spxentry{VRNA\_PARAMETER\_FORMAT\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.VRNA_PARAMETER_FORMAT_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default Energy Parameter File format. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Enums}
\index{parset (C enum)@\spxentry{parset}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga7bf2bb363bcf5ce50d60255d256e5682}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{parset}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{parset.UNKNOWN (C enumerator)@\spxentry{parset.UNKNOWN}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.UNKNOWN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a6ce26a62afab55d7606ad4e92428b30c}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{UNKNOWN}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.QUIT (C enumerator)@\spxentry{parset.QUIT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.QUIT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a76bdc8adfd6c6463ab269ff4c06be9b4}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{QUIT}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.S (C enumerator)@\spxentry{parset.S}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.S}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682af1ce01387d2348f8b858721a7db81670}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{S}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.S\_H (C enumerator)@\spxentry{parset.S\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.S_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682ae1f521d6cb3b00b6c4dbe42ec526926f}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{S\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.HP (C enumerator)@\spxentry{parset.HP}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.HP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a3b47f547ec1200c4854206be912c2c4c}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{HP}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.HP\_H (C enumerator)@\spxentry{parset.HP\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.HP_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a511a3fcf662ed1bedd6e50bbf9693041}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{HP\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.B (C enumerator)@\spxentry{parset.B}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.B}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a3f2a77ecd272aa6d6b5902faa5e5fc68}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{B}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.B\_H (C enumerator)@\spxentry{parset.B\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.B_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a019826668fa75e445746726aace50b96}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{B\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.IL (C enumerator)@\spxentry{parset.IL}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.IL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682aa4c436132f18c991292ad07fe2fbbd46}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{IL}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.IL\_H (C enumerator)@\spxentry{parset.IL\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.IL_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a9f2a1b5f221520d546698d957e653080}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{IL\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMH (C enumerator)@\spxentry{parset.MMH}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a6fa7436f35d08e2fa94d414f8be36145}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMH}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMH\_H (C enumerator)@\spxentry{parset.MMH\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMH_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682aa48db87a064cfdd22bde4ee4320a2a72}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMH\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMI (C enumerator)@\spxentry{parset.MMI}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a24d12acc0725d15ccecb34f0f0b25df7}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMI}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMI\_H (C enumerator)@\spxentry{parset.MMI\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMI_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682ac1325a6137ab07244106df6477b146cb}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMI\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMI1N (C enumerator)@\spxentry{parset.MMI1N}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMI1N}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a2a87595b7bc9c421a92d2335a38921be}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMI1N}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMI1N\_H (C enumerator)@\spxentry{parset.MMI1N\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMI1N_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682ae0e3bfa002ade2b8f909b52598dfa4af}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMI1N\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMI23 (C enumerator)@\spxentry{parset.MMI23}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMI23}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a15bcd1ce5d91ad0209d3947205c9cd37}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMI23}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMI23\_H (C enumerator)@\spxentry{parset.MMI23\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMI23_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a4f57a2f9b66ed6524a629d91841e8d66}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMI23\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMM (C enumerator)@\spxentry{parset.MMM}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a94238d66fd2dc72950407a908db0c3c1}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMM}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MMM\_H (C enumerator)@\spxentry{parset.MMM\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MMM_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a8547b16d4ea4f460c3ad3444c7326887}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MMM\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MME (C enumerator)@\spxentry{parset.MME}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MME}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a104b87bd084bcabeb666af63ca609c9f}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MME}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MME\_H (C enumerator)@\spxentry{parset.MME\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MME_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682af2afcec538843f0877ec5ce9720bc1e9}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MME\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.D5 (C enumerator)@\spxentry{parset.D5}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.D5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a9bfc9615ce2836fe43fe37e0eda2a68a}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{D5}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.D5\_H (C enumerator)@\spxentry{parset.D5\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.D5_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a9107c311da59f65e04053ae3a8b9b443}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{D5\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.D3 (C enumerator)@\spxentry{parset.D3}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.D3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682ade8ef7573c5fa770f07ac7616cbf5d34}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{D3}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.D3\_H (C enumerator)@\spxentry{parset.D3\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.D3_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a74fd1bb58d8b533e0a70f1609d59b8cf}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{D3\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.INT11 (C enumerator)@\spxentry{parset.INT11}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.INT11}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682ad852245f105685db67b11f2d8ee36dee}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{INT11}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.INT11\_H (C enumerator)@\spxentry{parset.INT11\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.INT11_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a9db2fd49a2484e406757005de60c0155}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{INT11\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.INT21 (C enumerator)@\spxentry{parset.INT21}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.INT21}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682af056796af7b26c9a40101915d03e23ad}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{INT21}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.INT21\_H (C enumerator)@\spxentry{parset.INT21\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.INT21_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682abc2cc90fb7f664817def63b07a9f1b95}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{INT21\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.INT22 (C enumerator)@\spxentry{parset.INT22}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.INT22}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a6f7a79af5633b0ef773730b3c78b7920}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{INT22}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.INT22\_H (C enumerator)@\spxentry{parset.INT22\_H}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.INT22_H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a8a370d06c036da9da38797c119326b1a}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{INT22\_H}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.ML (C enumerator)@\spxentry{parset.ML}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682a96795f73b23b0c8607ad96746efc6540}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.TL (C enumerator)@\spxentry{parset.TL}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.TL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682aca301a4c4fa25b27fff84becdd631048}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TL}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.TRI (C enumerator)@\spxentry{parset.TRI}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.TRI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682acde3f260abb10fb9633e1ca01de9e78d}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TRI}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.HEX (C enumerator)@\spxentry{parset.HEX}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.HEX}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682ad3c20094c5fe3327350484d01c44c137}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{HEX}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.NIN (C enumerator)@\spxentry{parset.NIN}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.NIN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682acd3f0e23689c384d9c43644a9c2eccc0}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{NIN}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}

\index{parset.MISC (C enumerator)@\spxentry{parset.MISC}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.parset.MISC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gga7bf2bb363bcf5ce50d60255d256e5682ac598b9c49caca3da6b36b030315b7ce9}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MISC}}}}
\pysigstopmultiline
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_params\_load (C function)@\spxentry{vrna\_params\_load}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{fname}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load energy parameters from a file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000134}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_load}}(fname=””, options={\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}). Here, the empty filename string indicates to load default RNA parameters, i.e. this is equivalent to calling {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}. See, e.g.   \sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_load()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} \textendash{} The path to the file containing the energy parameters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} File format bit\sphinxhyphen{}mask (usually {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_save (C function)@\spxentry{vrna\_params\_save}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_save}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_save}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{fname}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Save energy parameters to a file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000135}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_save}}(fname, options={\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} \textendash{} A filename (path) for the file where the current energy parameters will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} File format bit\sphinxhyphen{}mask (usually {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_from\_string (C function)@\spxentry{vrna\_params\_load\_from\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_from_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_from\_string}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{name}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load energy paramters from string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The string must follow the default energy parameter file convention! The optional \sphinxcode{\sphinxupquote{name}} argument allows one to specify a name for the parameter set which is stored internally.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000136}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_load\_from\_string}}(string, name=””, options={\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} A 0\sphinxhyphen{}terminated string containing energy parameters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{name}} \textendash{} A name for the parameter set in \sphinxcode{\sphinxupquote{string}} (Maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} File format bit\sphinxhyphen{}mask (usually {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_defaults (C function)@\spxentry{vrna\_params\_load\_defaults}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_defaults}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_defaults}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load default RNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience function to load the Turner 2004 RNA free energy parameters. It’s the same as calling {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000137}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_load()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_RNA\_Turner2004 (C function)@\spxentry{vrna\_params\_load\_RNA\_Turner2004}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_RNA_Turner2004}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_RNA\_Turner2004}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load Turner 2004 RNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000138}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Turner2004()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to those of RNA. Only subsequently initialized {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} structures will be affected by this change.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_RNA\_Turner1999 (C function)@\spxentry{vrna\_params\_load\_RNA\_Turner1999}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_RNA_Turner1999}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_RNA\_Turner1999}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load Turner 1999 RNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000139}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Turner1999()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to those of RNA. Only subsequently initialized {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} structures will be affected by this change.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_RNA\_Andronescu2007 (C function)@\spxentry{vrna\_params\_load\_RNA\_Andronescu2007}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_RNA_Andronescu2007}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_RNA\_Andronescu2007}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load Andronsecu 2007 RNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000140}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Andronescu2007()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to those of RNA. Only subsequently initialized {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} structures will be affected by this change.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_RNA\_Langdon2018 (C function)@\spxentry{vrna\_params\_load\_RNA\_Langdon2018}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_RNA_Langdon2018}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_RNA\_Langdon2018}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load Langdon 2018 RNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000141}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Langdon2018()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to those of RNA. Only subsequently initialized {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} structures will be affected by this change.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_RNA\_misc\_special\_hairpins (C function)@\spxentry{vrna\_params\_load\_RNA\_misc\_special\_hairpins}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_RNA_misc_special_hairpins}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_RNA\_misc\_special\_hairpins}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load Misc Special Hairpin RNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000142}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_misc\_special\_hairpins()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to those of RNA. Only subsequently initialized {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} structures will be affected by this change.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_DNA\_Mathews2004 (C function)@\spxentry{vrna\_params\_load\_DNA\_Mathews2004}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_DNA_Mathews2004}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_DNA\_Mathews2004}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load Mathews 2004 DNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000143}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_DNA\_Mathews2004()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to those of DNA. Only subsequently initialized {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} structures will be affected by this change.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_load\_DNA\_Mathews1999 (C function)@\spxentry{vrna\_params\_load\_DNA\_Mathews1999}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.vrna_params_load_DNA_Mathews1999}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_load\_DNA\_Mathews1999}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Load Mathews 1999 DNA energy parameter set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_DNA\_Mathews1999()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004()}}}}}, {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to those of DNA. Only subsequently initialized {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} structures will be affected by this change.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\end{description}\end{quote}

\end{fulllineitems}

\index{last\_parameter\_file (C function)@\spxentry{last\_parameter\_file}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.last_parameter_file}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gaa236318707a7c17e1323e43d5b2783a8}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{last\_parameter\_file}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the file name of the parameter file that was most recently loaded. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The file name of the last parameter file, or NULL if parameters are still at defaults 

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_parameter\_file (C function)@\spxentry{read\_parameter\_file}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.read_parameter_file}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga165a142a3c68fb6655c69ef4ab7cd749}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{read\_parameter\_file}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{fname}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from a file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000181}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}} instead! 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} \textendash{} The path to the file containing the energy parameters 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{write\_parameter\_file (C function)@\spxentry{write\_parameter\_file}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.write_parameter_file}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga8a43459be386a7489feeab68dc2c6c76}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{write\_parameter\_file}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{fname}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Write energy parameters to a file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000182}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}} instead! 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} \textendash{} A filename (path) for the file where the current energy parameters will be written to 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{gettype (C function)@\spxentry{gettype}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.gettype}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1gaaab17a97b765b302b16f7b9eb4004801}}\DUrole{k}{enum}\DUrole{w}{ }{\hyperref[\detokenize{eval/params/io:c.parset}]{\sphinxcrossref{\DUrole{n}{parset}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gettype}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ident}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{settype (C function)@\spxentry{settype}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/io:c.settype}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/io:group__energy__parameters__rw_1ga0bf80f844de39676b24adbe658dc01fd}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{settype}}}}
{\DUrole{k}{enum}\DUrole{w}{ }{\hyperref[\detokenize{eval/params/io:c.parset}]{\sphinxcrossref{\DUrole{n}{parset}}}}\DUrole{w}{ }\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/io.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Converting Energy Parameter Files}
\label{\detokenize{eval/params/convert:converting-energy-parameter-files}}\label{\detokenize{eval/params/convert::doc}}
\sphinxAtStartPar
Converting energy parameter files into the latest format.

\sphinxAtStartPar
To preserve some backward compatibility the RNAlib also provides
functions to convert energy parameter files from the format used
in version 1.4\sphinxhyphen{}1.8 into the new format used since version 2.0


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_CONVERT\_OUTPUT\_ALL (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_ALL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_ALL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga8dc6aee5a806c49b71557152f9616bc4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_ALL}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of a complete parameter set 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_HP (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_HP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_HP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf66fe2cb11dfcfd32d791049c254a8a4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_HP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of hairpin contributions 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_STACK (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_STACK}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_STACK}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gad23522d63f8d4c50d5a5deee9bee3ef2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_STACK}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of base pair stack contributions 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_MM\_HP (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_MM\_HP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_MM_HP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gaa892c7b4957459090f3e08da298cc347}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_MM\_HP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of hairpin mismatch contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_MM\_INT (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_MM\_INT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_MM_INT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga4ff223fb1f9c62cd92d9ab811ad03d55}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_MM\_INT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of internal loop mismatch contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_1N (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_1N}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_MM_INT_1N}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf5d3743219f83c6348155cd81e755bbb}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_1N}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of 1:n internal loop mismatch contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_23 (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_23}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_MM_INT_23}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga78382ec622ba99e0ac2262317bdd7316}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_23}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of 2:3 internal loop mismatch contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_MM\_MULTI (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_MM\_MULTI}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_MM_MULTI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gae67af9f1cdf7baf2865481282a5d1034}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_MM\_MULTI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of multi loop mismatch contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_MM\_EXT (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_MM\_EXT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_MM_EXT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf14ead7ef1fdbe725ade653750fc51e3}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_MM\_EXT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of exterior loop mismatch contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_DANGLE5 (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_DANGLE5}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_DANGLE5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga036ffd996d8c8a9acf631760dd1da24b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_DANGLE5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of 5’ dangle conctribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_DANGLE3 (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_DANGLE3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_DANGLE3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga34a8a5479ef885834ef32f3fb43d79bc}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_DANGLE3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of 3’ dangle contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_INT\_11 (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_INT\_11}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_INT_11}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga079aafefd5f8ab57ee5120099a34bd25}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_INT\_11}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of 1:1 internal loop contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_INT\_21 (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_INT\_21}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_INT_21}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gacf770881d9034431ebe741642342a1f9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_INT\_21}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of 2:1 internal loop contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_INT\_22 (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_INT\_22}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_INT_22}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gaa307671e2631cdacad9cbe4c6583b05f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_INT\_22}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of 2:2 internal loop contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_BULGE (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_BULGE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_BULGE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga7092fe0be4de6f02cc0bf08e81af726a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_BULGE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of bulge loop contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_INT (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_INT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_INT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gac5c2289fdf8ff1b980976d1613ff943a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_INT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of internal loop contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_ML (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_ML}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf2c8755d64eff3852aa45df9ac80a4fe}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of multi loop contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_MISC (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_MISC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_MISC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga46d5b1535ae86060b6317565b7c6b40b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_MISC}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of misc contributions (such as terminalAU) 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_SPECIAL\_HP (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_SPECIAL\_HP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_SPECIAL_HP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gaa1ff48a79642d69579d1766561ec6db6}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_SPECIAL\_HP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of special hairpin contributions (tri\sphinxhyphen{}, tetra\sphinxhyphen{}, hexa\sphinxhyphen{}loops) 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_VANILLA (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_VANILLA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_VANILLA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga0d4e8a836bb4864ab5129c085dbf592d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_VANILLA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of given parameters only



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This option overrides all other output options, except {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gac86976e9c2a55b3a6481ea60044f6098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_DUMP}}}}} ! 
\end{sphinxadmonition}

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_NINIO (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_NINIO}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_NINIO}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1ga2eb0462f16939ddacdaf751a88d675ce}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_NINIO}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate printing of internal loop asymmetry contribution 

\end{fulllineitems}

\index{VRNA\_CONVERT\_OUTPUT\_DUMP (C macro)@\spxentry{VRNA\_CONVERT\_OUTPUT\_DUMP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.VRNA_CONVERT_OUTPUT_DUMP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gac86976e9c2a55b3a6481ea60044f6098}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONVERT\_OUTPUT\_DUMP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Flag to indicate dumping the energy contributions from the library instead of an input file 

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{convert\_parameter\_file (C function)@\spxentry{convert\_parameter\_file}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/params/convert:c.convert_parameter_file}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/params/convert:group__energy__parameters__convert_1gafbe538bc4eb2cf2a33326e1010005f8a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{convert\_parameter\_file}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{iname}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{oname}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/convert.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Convert/dump a Vienna 1.8.4 formatted energy parameter file

\sphinxAtStartPar

\sphinxAtStartPar
The options argument allows one to control the different output modes.

\sphinxAtStartPar
Currently available options are:
{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga8dc6aee5a806c49b71557152f9616bc4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_ALL}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf66fe2cb11dfcfd32d791049c254a8a4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_HP}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gad23522d63f8d4c50d5a5deee9bee3ef2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_STACK}}}}}{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gaa892c7b4957459090f3e08da298cc347}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_MM\_HP}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga4ff223fb1f9c62cd92d9ab811ad03d55}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_MM\_INT}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf5d3743219f83c6348155cd81e755bbb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_1N}}}}}{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga78382ec622ba99e0ac2262317bdd7316}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_MM\_INT\_23}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gae67af9f1cdf7baf2865481282a5d1034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_MM\_MULTI}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf14ead7ef1fdbe725ade653750fc51e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_MM\_EXT}}}}}{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga036ffd996d8c8a9acf631760dd1da24b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_DANGLE5}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga34a8a5479ef885834ef32f3fb43d79bc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_DANGLE3}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga079aafefd5f8ab57ee5120099a34bd25}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_INT\_11}}}}}{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gacf770881d9034431ebe741642342a1f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_INT\_21}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gaa307671e2631cdacad9cbe4c6583b05f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_INT\_22}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga7092fe0be4de6f02cc0bf08e81af726a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_BULGE}}}}}{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gac5c2289fdf8ff1b980976d1613ff943a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_INT}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gaf2c8755d64eff3852aa45df9ac80a4fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_ML}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga46d5b1535ae86060b6317565b7c6b40b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_MISC}}}}}{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gaa1ff48a79642d69579d1766561ec6db6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_SPECIAL\_HP}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga0d4e8a836bb4864ab5129c085dbf592d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_VANILLA}}}}}, {\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1ga2eb0462f16939ddacdaf751a88d675ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_NINIO}}}}}{\hyperref[\detokenize{eval/params/convert:group__energy__parameters__convert_1gac86976e9c2a55b3a6481ea60044f6098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONVERT\_OUTPUT\_DUMP}}}}}

\sphinxAtStartPar
The defined options are fine for bitwise compare\sphinxhyphen{} and assignment\sphinxhyphen{}operations, e. g.: pass a collection of options as a single value like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{convert\PYGZus{}parameter\PYGZus{}file}\PYG{p}{(}\PYG{n}{ifile}\PYG{p}{,} \PYG{n}{ofile}\PYG{p}{,} \PYG{n}{option\PYGZus{}1} \PYG{o}{|} \PYG{n}{option\PYGZus{}2} \PYG{o}{|} \PYG{n}{option\PYGZus{}n}\PYG{p}{)}
\end{sphinxVerbatim}

\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{iname}} \textendash{} The input file name (If NULL input is read from stdin) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{oname}} \textendash{} The output file name (If NULL output is written to stdout) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options (as described above) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Available Parameter Sets}
\label{\detokenize{eval/energy_parameters:available-parameter-sets}}
\sphinxAtStartPar
While the \sphinxstyleemphasis{RNAlib} already contains a compiled\sphinxhyphen{}in set of the latest
\sphinxstyleemphasis{Turner 2004 Free Energy Parameters}, we defined a file format that allows to
change these parameters at runtime. The ViennaRNA Package already comes with
a set of parameter files containing
\begin{itemize}
\item {} 
\sphinxAtStartPar
Turner 1999 RNA parameters

\item {} 
\sphinxAtStartPar
Mathews 1999 DNA parameters

\item {} 
\sphinxAtStartPar
Andronescu 2007 RNA parameters

\item {} 
\sphinxAtStartPar
Mathews 2004 DNA parameters

\end{itemize}


\subsubsection{Energy Parameter API}
\label{\detokenize{eval/energy_parameters:energy-parameter-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_GQUAD\_MAX\_STACK\_SIZE (C macro)@\spxentry{VRNA\_GQUAD\_MAX\_STACK\_SIZE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MAX_STACK_SIZE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gab7b5159125a90babbd3b81319305f35f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_MAX\_STACK\_SIZE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_GQUAD\_MIN\_STACK\_SIZE (C macro)@\spxentry{VRNA\_GQUAD\_MIN\_STACK\_SIZE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MIN_STACK_SIZE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gae24794ad38d2bf86d4c1e2f24cf35230}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_MIN\_STACK\_SIZE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_GQUAD\_MAX\_LINKER\_LENGTH (C macro)@\spxentry{VRNA\_GQUAD\_MAX\_LINKER\_LENGTH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MAX_LINKER_LENGTH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gaabc251a60f6dbe927dd3a3881a161fb7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_MAX\_LINKER\_LENGTH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_GQUAD\_MIN\_LINKER\_LENGTH (C macro)@\spxentry{VRNA\_GQUAD\_MIN\_LINKER\_LENGTH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MIN_LINKER_LENGTH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gab0e3cb58bc3a7e3fb08cc05f8e58ddab}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_MIN\_LINKER\_LENGTH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_GQUAD\_MIN\_BOX\_SIZE (C macro)@\spxentry{VRNA\_GQUAD\_MIN\_BOX\_SIZE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MIN_BOX_SIZE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gad7bdd880afca461f97763d79ee57a347}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_MIN\_BOX\_SIZE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_GQUAD\_MAX\_BOX\_SIZE (C macro)@\spxentry{VRNA\_GQUAD\_MAX\_BOX\_SIZE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MAX_BOX_SIZE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga56cafabad2f8a7db83f2d5d3b0e8d313}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_MAX\_BOX\_SIZE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_param\_t (C type)@\spxentry{vrna\_param\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_s}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_param\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the free energy parameter data structure {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_t (C type)@\spxentry{vrna\_exp\_param\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_s}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_param\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the Boltzmann factor data structure {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{paramT (C type)@\spxentry{paramT}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.paramT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga857dde86357d306cc902f0d8b2797659}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_s}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{paramT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of {\hyperref[\detokenize{eval/energy_parameters:structvrna__param__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000171}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{pf\_paramT (C type)@\spxentry{pf\_paramT}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.pf_paramT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga8bffe1828e2cbec101769f5cc0b1535b}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_s}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_paramT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of {\hyperref[\detokenize{eval/energy_parameters:structvrna__exp__param__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000172}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_params (C function)@\spxentry{vrna\_params}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a data structure containing prescaled free energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If a NULL pointer is passed for the model details parameter, the default model parameters are stored within the requested {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} structure.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to the model details to store inside the structure (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the memory location where the requested parameters are stored 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_copy (C function)@\spxentry{vrna\_params\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_params_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga2cb17f57d4de820b034a9d46f115ea49}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_copy}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{par}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a copy of the provided free energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If NULL is passed as parameter, a default set of energy parameters is created and returned.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{par}} \textendash{} The free energy parameters that are to be copied (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy or a default set of the (provided) parameters 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_params (C function)@\spxentry{vrna\_exp\_params}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_params}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a data structure containing prescaled free energy parameters already transformed to Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function returns a data structure that contains all necessary precomputed energy contributions for each type of loop.

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}}, the free energies within this data structure are stored as their Boltzmann factors, i.e.

\sphinxAtStartPar
\( exp(-E / kT) \)

\sphinxAtStartPar
where \( E \) is the free energy.

\sphinxAtStartPar
If a NULL pointer is passed for the model details parameter, the default model parameters are stored within the requested {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} structure.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}}, vrna\_rescale\_pf\_params()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to the model details to store inside the structure (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the memory location where the requested parameters are stored 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_params\_comparative (C function)@\spxentry{vrna\_exp\_params\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_params_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga71255857b629f2c5b86adc75c78df13e}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_params\_comparative}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a data structure containing prescaled free energy parameters already transformed to Boltzmann factors (alifold version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If a NULL pointer is passed for the model details parameter, the default model parameters are stored within the requested {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} structure.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n\_seq}} \textendash{} The number of sequences in the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to the model details to store inside the structure (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the memory location where the requested parameters are stored 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_params\_copy (C function)@\spxentry{vrna\_exp\_params\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_params_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga47828f98665c57d9b8bc954b5769e484}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_params\_copy}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{par}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a copy of the provided free energy parameters (provided as Boltzmann factors). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If NULL is passed as parameter, a default set of energy parameters is created and returned.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{par}} \textendash{} The free energy parameters that are to be copied (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy or a default set of the (provided) parameters 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_subst (C function)@\spxentry{vrna\_params\_subst}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_params_subst}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_subst}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{par}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Update/Reset energy parameters data structure within a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Passing NULL as second argument leads to a reset of the energy parameters within fc to their default values. Otherwise, the energy parameters provided will be copied over into fc.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000129}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{params\_subst()}} method.

\sphinxAtStartPar
When no parameter is passed, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}}, i.e. resetting the parameters to the global defaults. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_subst()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga033fea3322aeac71a260241e8ba6e773}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_reset()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} that is about to receive updated energy parameters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{par}} \textendash{} The energy parameters used to substitute those within fc (Maybe NULL)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_params\_subst (C function)@\spxentry{vrna\_exp\_params\_subst}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_params_subst}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_params\_subst}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Update the energy parameters for subsequent partition function computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function can be used to properly assign new energy parameters for partition function computations to a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. For this purpose, the data of the provided pointer \sphinxcode{\sphinxupquote{params}} will be copied into \sphinxcode{\sphinxupquote{fc}} and a recomputation of the partition function scaling factor is issued, if the \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{grammar/model_details:group__model__details_1gad3b22044065acc6dee0af68931b52cfd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_scale}}}}}}} attribute of \sphinxcode{\sphinxupquote{params}} is less than \sphinxcode{\sphinxupquote{1.0}}.

\sphinxAtStartPar
Passing NULL as second argument leads to a reset of the energy parameters within fc to their default values

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000130}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{exp\_params\_subst()}} method.

\sphinxAtStartPar
When no parameter is passed, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}}, i.e. resetting the parameters to the global defaults. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_subst()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga7740b358409b339f0db7b99d7c20e693}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_reset()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gac377cdd18c3a6da4e04683742fda3b7a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_rescale()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{params}} \textendash{} A pointer to the new energy parameters

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_params\_rescale (C function)@\spxentry{vrna\_exp\_params\_rescale}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_params_rescale}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gac377cdd18c3a6da4e04683742fda3b7a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_params\_rescale}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{mfe}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Rescale Boltzmann factors for partition function computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function may be used to (automatically) rescale the Boltzmann factors used in partition function computations. Since partition functions over subsequences can easily become extremely large, the RNAlib internally rescales them to avoid numerical over\sphinxhyphen{} and/or underflow. Therefore, a proper scaling factor \(s\) needs to be chosen that in turn is then used to normalize the corresponding partition functions \(\hat{q}[i,j] = q[i,j] / s^{(j-i+1)}\).

\sphinxAtStartPar
This function provides two ways to automatically adjust the scaling factor.\begin{enumerate}
\sphinxsetlistlabels{\alph}{enumi}{enumii}{}{.}%
\item {} 
\sphinxAtStartPar
Automatic guess

\item {} 
\sphinxAtStartPar
Automatic adjustment according to MFE

\end{enumerate}


\sphinxAtStartPar
Passing \sphinxcode{\sphinxupquote{NULL}} as second parameter activates the \sphinxstyleemphasis{automatic guess mode}. Here, the scaling factor is recomputed according to a mean free energy of \sphinxcode{\sphinxupquote{184.3*length}}
\sphinxAtStartPar
cal for random sequences.

\sphinxAtStartPar
On the other hand, if the MFE for a sequence is known, it can be used to recompute a more robust scaling factor, since it represents the lowest free energy of the entire ensemble of structures, i.e. the highest Boltzmann factor. To activate this second mode of
\sphinxstyleemphasis{automatic adjustment according to MFE}, a pointer to the MFE value needs to be passed as second argument. This value is then taken to compute the scaling factor as \( s = exp((sfact * MFE) / kT / length )\), where sfact is an additional scaling weight located in the {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} data structure of \sphinxcode{\sphinxupquote{exp\_params}} in \sphinxcode{\sphinxupquote{fc}}.

\sphinxAtStartPar
The computed scaling factor \(s\) will be stored as \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{grammar/model_details:group__model__details_1gad3b22044065acc6dee0af68931b52cfd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_scale}}}}}}} attribute of the \sphinxcode{\sphinxupquote{exp\_params}} data structure in \sphinxcode{\sphinxupquote{fc}}.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000131}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{exp\_params\_rescale()}} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gac377cdd18c3a6da4e04683742fda3b7a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_rescale()}}}}}, i.e. default scaling of the partition function. Passing an energy in kcal/mol, e.g. as retrieved by a previous call to the \sphinxcode{\sphinxupquote{mfe()}} method, instructs all subsequent calls to scale the partition function accordingly. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_rescale}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_rescale()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This recomputation only takes place if the \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{grammar/model_details:group__model__details_1gad3b22044065acc6dee0af68931b52cfd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_scale}}}}}}} attribute of the \sphinxcode{\sphinxupquote{exp\_params}} data structure contained in \sphinxcode{\sphinxupquote{fc}} has a value below \sphinxcode{\sphinxupquote{1.0}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mfe}} \textendash{} A pointer to the MFE (in kcal/mol) or NULL

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_reset (C function)@\spxentry{vrna\_params\_reset}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_params_reset}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga033fea3322aeac71a260241e8ba6e773}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_reset}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Reset free energy parameters within a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} according to provided, or default model details. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to rescale free energy parameters for subsequent structure prediction or evaluation according to a set of model details, e.g. temperature values. To do so, the caller provides either a pointer to a set of model details to be used for rescaling, or NULL if global default setting should be used.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000132}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{params\_reset()}} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga033fea3322aeac71a260241e8ba6e773}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_reset()}}}}}, i.e. global default model settings are used. Passing an object of type {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} resets the fold compound according to the specifications stored within the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} object. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_reset()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga7740b358409b339f0db7b99d7c20e693}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_reset()}}}}}, vrna\_params\_subs()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to the new model details (or NULL for reset to defaults)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_params\_reset (C function)@\spxentry{vrna\_exp\_params\_reset}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_params_reset}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga7740b358409b339f0db7b99d7c20e693}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_params\_reset}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Reset Boltzmann factors for partition function computations within a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} according to provided, or default model details. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to rescale Boltzmann factors for subsequent partition function computations according to a set of model details, e.g. temperature values. To do so, the caller provides either a pointer to a set of model details to be used for rescaling, or NULL if global default setting should be used.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000133}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{exp\_params\_reset()}} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga7740b358409b339f0db7b99d7c20e693}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_reset()}}}}}, i.e. global default model settings are used. Passing an object of type {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} resets the fold compound according to the specifications stored within the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} object. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_reset()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga033fea3322aeac71a260241e8ba6e773}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_reset()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gac377cdd18c3a6da4e04683742fda3b7a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_rescale()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to the new model details (or NULL for reset to defaults)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_params\_prepare (C function)@\spxentry{vrna\_params\_prepare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_params_prepare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga06befb1f7beed0b4014cc07628636bc3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_params\_prepare}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_parameter\_copy (C function)@\spxentry{get\_parameter\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.get_parameter_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga92879f2a9bc4cfc4e700d7f9222853bc}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_parameter\_copy}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{par}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_scaled\_pf\_parameters (C function)@\spxentry{get\_scaled\_pf\_parameters}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.get_scaled_pf_parameters}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga1007b70b7176f7cc78ed224460b89bbe}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_scaled\_pf\_parameters}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
get a data structure of type {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} which contains the Boltzmann weights of several energy parameters scaled according to the current temperature

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000173}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The data structure containing Boltzmann weights for use in partition function calculations 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_boltzmann\_factors (C function)@\spxentry{get\_boltzmann\_factors}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.get_boltzmann_factors}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gaf05b50c0e8d29511941203554daf2919}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_boltzmann\_factors}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{betaScale}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{n}{md}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{pf\_scale}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get precomputed Boltzmann factors of the loop type dependent energy contributions with independent thermodynamic temperature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar

\sphinxAtStartPar
This function returns a data structure that contains all necessary precalculated Boltzmann factors for each loop type contribution.

\sphinxAtStartPar
In contrast to
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga1007b70b7176f7cc78ed224460b89bbe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_pf\_parameters()}}}}}, this function enables setting of independent temperatures for both, the individual energy contributions as well as the thermodynamic temperature used in \( exp(-\Delta G / kT) \)

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000174}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga1007b70b7176f7cc78ed224460b89bbe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_pf\_parameters()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga356800d32f664d455af4676850638f99}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_boltzmann\_factor\_copy()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{temperature}} \textendash{} The temperature in degrees Celcius used for (re\sphinxhyphen{})scaling the energy contributions 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{betaScale}} \textendash{} A scaling value that is used as a multiplication factor for the absolute temperature of the system 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} The model details to be used 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pf\_scale}} \textendash{} The scaling factor for the Boltzmann factors 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of precomputed Boltzmann factors 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_boltzmann\_factor\_copy (C function)@\spxentry{get\_boltzmann\_factor\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.get_boltzmann_factor_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga356800d32f664d455af4676850638f99}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_boltzmann\_factor\_copy}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a copy of already precomputed Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000175}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga47828f98665c57d9b8bc954b5769e484}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_copy()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gaf05b50c0e8d29511941203554daf2919}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_boltzmann\_factors()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga1007b70b7176f7cc78ed224460b89bbe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_pf\_parameters()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} The input data structure that shall be copied 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the provided Boltzmann factor data set 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_scaled\_alipf\_parameters (C function)@\spxentry{get\_scaled\_alipf\_parameters}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.get_scaled_alipf_parameters}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga1c9a23ef63e80859776eac8a0beda437}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_scaled\_alipf\_parameters}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get precomputed Boltzmann factors of the loop type dependent energy contributions (alifold variant). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000176}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga71255857b629f2c5b86adc75c78df13e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_comparative()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{get\_boltzmann\_factors\_ali (C function)@\spxentry{get\_boltzmann\_factors\_ali}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.get_boltzmann_factors_ali}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga010ff3879cb0a053ce2547948315a10c}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_boltzmann\_factors\_ali}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{betaScale}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{n}{md}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{pf\_scale}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get precomputed Boltzmann factors of the loop type dependent energy contributions (alifold variant) with independent thermodynamic temperature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000177}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga71255857b629f2c5b86adc75c78df13e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_comparative()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{scale\_parameters (C function)@\spxentry{scale\_parameters}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.scale_parameters}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga5fe3524fd6d2a297099238f117254c13}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{scale\_parameters}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get precomputed energy contributions for all the known loop types. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000178}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}} instead!

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: This function relies on several global model settings variables and thus is not to be considered threadsafe. See {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gacdbcef8d5022d9e2eaac347374f5b3a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_parameters()}}}}} for a completely threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of precomputed energy contributions 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_scaled\_parameters (C function)@\spxentry{get\_scaled\_parameters}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.get_scaled_parameters}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gacdbcef8d5022d9e2eaac347374f5b3a9}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_scaled\_parameters}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get precomputed energy contributions for all the known loop types. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Call this function to retrieve precomputed energy contributions, i.e. scaled according to the temperature passed. Furthermore, this function assumes a data structure that contains the model details as well, such that subsequent folding recursions are able to retrieve the correct model settings

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000179}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabad896c3650d420f3f3ddefc69e2bceb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{set\_model\_details()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{temperature}} \textendash{} The temperature in degrees Celcius 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} The model details 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
precomputed energy contributions and model settings 

\end{description}\end{quote}

\end{fulllineitems}

\index{copy\_parameters (C function)@\spxentry{copy\_parameters}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.copy_parameters}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga8e44a24c8277d2dcca5694c30fb3a8b7}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{copy\_parameters}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{set\_parameters (C function)@\spxentry{set\_parameters}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.set_parameters}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gab29c16026009b5e2b1f4e70d18b75cb1}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{set\_parameters}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{dest}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{scale\_pf\_parameters (C function)@\spxentry{scale\_pf\_parameters}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.scale_pf_parameters}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga1309d1982122772d185b86f85ccb5fa5}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{scale\_pf\_parameters}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{copy\_pf\_param (C function)@\spxentry{copy\_pf\_param}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.copy_pf_param}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1gaf2095e2c08146b61ec17a34366b3128d}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{copy\_pf\_param}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{set\_pf\_param (C function)@\spxentry{set\_pf\_param}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.set_pf_param}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/energy_parameters:group__energy__parameters_1ga9ee3f54406bb566ee8f11db4f803937a}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{set\_pf\_param}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{dest}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_param\_s (C struct)@\spxentry{vrna\_param\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_param\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/params/basic.h\textgreater{}}
\sphinxAtStartPar
The datastructure that contains temperature scaled energy parameters. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_param\_s.id (C var)@\spxentry{vrna\_param\_s.id}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.id}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ab2e674fea69570fb83bcf63f19e433ee}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{id}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.stack (C var)@\spxentry{vrna\_param\_s.stack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1af7cdedcea1bb1c171856ab06dc9f6ed2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{stack}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.hairpin (C var)@\spxentry{vrna\_param\_s.hairpin}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ac3160bdbb97b2ef9e949c9ba66bf057c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{hairpin}}}\DUrole{p}{{[}}\DUrole{m}{31}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.bulge (C var)@\spxentry{vrna\_param\_s.bulge}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.bulge}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1aa7121473b8a705f84048c09b12c1d1c2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bulge}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.internal\_loop (C var)@\spxentry{vrna\_param\_s.internal\_loop}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.internal_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a2a4fb2c65023ec371c9b96573da6d2fc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{internal\_loop}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.mismatchExt (C var)@\spxentry{vrna\_param\_s.mismatchExt}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.mismatchExt}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a6122f31447a8cccdd1203c9695ba1e3b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mismatchExt}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.mismatchI (C var)@\spxentry{vrna\_param\_s.mismatchI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.mismatchI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1af1a456ce5983b107c47e5dd25727205e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mismatchI}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.mismatch1nI (C var)@\spxentry{vrna\_param\_s.mismatch1nI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.mismatch1nI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a6058cd6334a2e5929bd36315e9d0fe3a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mismatch1nI}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.mismatch23I (C var)@\spxentry{vrna\_param\_s.mismatch23I}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.mismatch23I}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a2d8a2ed8936cd60fbed953a2bc64f9b3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mismatch23I}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.mismatchH (C var)@\spxentry{vrna\_param\_s.mismatchH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.mismatchH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ad07794648fa1cac6f02c57c095fb53e6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mismatchH}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.mismatchM (C var)@\spxentry{vrna\_param\_s.mismatchM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.mismatchM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1afcc32f63f2c829bfb0016db82f7810fc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mismatchM}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.dangle5 (C var)@\spxentry{vrna\_param\_s.dangle5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.dangle5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ad2534b54836d48b4f549b319766f658f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dangle5}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.dangle3 (C var)@\spxentry{vrna\_param\_s.dangle3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.dangle3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a75c644da73d4d01c86b5f6a1e3af3ae9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dangle3}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.int11 (C var)@\spxentry{vrna\_param\_s.int11}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.int11}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a585e235827774a0073be22bf00e48c30}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{int11}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.int21 (C var)@\spxentry{vrna\_param\_s.int21}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.int21}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a983245e30d7a41a3102e5e5ea4bec7e2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{int21}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.int22 (C var)@\spxentry{vrna\_param\_s.int22}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.int22}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ad56fdeadc2a2e51b9f23b2c26d067ec4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{int22}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.ninio (C var)@\spxentry{vrna\_param\_s.ninio}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.ninio}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ac03c4835310b225a64ea9eb77a174940}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ninio}}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.lxc (C var)@\spxentry{vrna\_param\_s.lxc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.lxc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a24ea058414d3fb918c7fbf189a4a1e51}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{lxc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.MLbase (C var)@\spxentry{vrna\_param\_s.MLbase}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.MLbase}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a6fd54883ec8b69345e970ad372f83679}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MLbase}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.MLintern (C var)@\spxentry{vrna\_param\_s.MLintern}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.MLintern}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a28c7b54d5e8edf9a1121a2d1f9c98e7f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MLintern}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.MLclosing (C var)@\spxentry{vrna\_param\_s.MLclosing}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.MLclosing}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a585d850089d454a367daef9ce2fc8395}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MLclosing}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.TerminalAU (C var)@\spxentry{vrna\_param\_s.TerminalAU}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.TerminalAU}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a0ad35507a03ba7f751e82cb375e991dd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TerminalAU}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.DuplexInit (C var)@\spxentry{vrna\_param\_s.DuplexInit}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.DuplexInit}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a86f6ae1e5649264f7ad82969a49bb09e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{DuplexInit}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.Tetraloop\_E (C var)@\spxentry{vrna\_param\_s.Tetraloop\_E}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.Tetraloop_E}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a3a853cc7dbad832e377d03c2be09f3a0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Tetraloop\_E}}}\DUrole{p}{{[}}\DUrole{m}{200}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.Tetraloops (C var)@\spxentry{vrna\_param\_s.Tetraloops}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.Tetraloops}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a2fda2f47699f66eb79becc63481dc7a5}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Tetraloops}}}\DUrole{p}{{[}}\DUrole{m}{1401}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.Triloop\_E (C var)@\spxentry{vrna\_param\_s.Triloop\_E}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.Triloop_E}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a779303656223c8f9f12a7bdb877ae4ae}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Triloop\_E}}}\DUrole{p}{{[}}\DUrole{m}{40}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.Triloops (C var)@\spxentry{vrna\_param\_s.Triloops}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.Triloops}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a5824325d79edfe569c6023f52a08d7be}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Triloops}}}\DUrole{p}{{[}}\DUrole{m}{241}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.Hexaloop\_E (C var)@\spxentry{vrna\_param\_s.Hexaloop\_E}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.Hexaloop_E}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a9fa7c16fb78efb6e2730b6553282ebf9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Hexaloop\_E}}}\DUrole{p}{{[}}\DUrole{m}{40}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.Hexaloops (C var)@\spxentry{vrna\_param\_s.Hexaloops}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.Hexaloops}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a1b32fef887ebf8097da6f5913743794c}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Hexaloops}}}\DUrole{p}{{[}}\DUrole{m}{1801}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.TripleC (C var)@\spxentry{vrna\_param\_s.TripleC}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.TripleC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ac9ca6eda834acca6eee5d00ee3ee69c9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TripleC}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.MultipleCA (C var)@\spxentry{vrna\_param\_s.MultipleCA}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.MultipleCA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a481323a736818349ec7c66ebf01825c6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MultipleCA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.MultipleCB (C var)@\spxentry{vrna\_param\_s.MultipleCB}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.MultipleCB}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a465b7758e3d105f10a6fa7958024abb4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MultipleCB}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.gquad (C var)@\spxentry{vrna\_param\_s.gquad}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ae614af2c628faa36c8007bd054be21d9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gquad}}}\DUrole{p}{{[}}{\hyperref[\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MAX_STACK_SIZE}]{\sphinxcrossref{\DUrole{n}{VRNA\_GQUAD\_MAX\_STACK\_SIZE}}}}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{w}{ }\DUrole{o}{*}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MAX_LINKER_LENGTH}]{\sphinxcrossref{\DUrole{n}{VRNA\_GQUAD\_MAX\_LINKER\_LENGTH}}}}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.gquadLayerMismatch (C var)@\spxentry{vrna\_param\_s.gquadLayerMismatch}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.gquadLayerMismatch}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1aef17839376efe17c7393908f0e5061b9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gquadLayerMismatch}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.gquadLayerMismatchMax (C var)@\spxentry{vrna\_param\_s.gquadLayerMismatchMax}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.gquadLayerMismatchMax}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a9e5a56dc3a5aa9d8e43da813bf8bbda7}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gquadLayerMismatchMax}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.temperature (C var)@\spxentry{vrna\_param\_s.temperature}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1aeed2cd83713012bcb52e431041e037c8}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{temperature}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Temperature used for loop contribution scaling. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.model\_details (C var)@\spxentry{vrna\_param\_s.model\_details}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.model_details}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a7b84353eb9075c595bad4ceb871bcae7}}{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{model\_details}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Model details to be used in the recursions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.param\_file (C var)@\spxentry{vrna\_param\_s.param\_file}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.param_file}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ace10aa4aacffcbf6de92349f2ee0d66a}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{param\_file}}}\DUrole{p}{{[}}\DUrole{m}{256}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The filename the parameters were derived from, or empty string if they represent the default. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.SaltStack (C var)@\spxentry{vrna\_param\_s.SaltStack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.SaltStack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ab873efff9ad8573f4f72513a4ec1e70c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltStack}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.SaltLoop (C var)@\spxentry{vrna\_param\_s.SaltLoop}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.SaltLoop}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a9d1a99afd49352d2f55e1cd3adb5fb25}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltLoop}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{2}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.SaltLoopDbl (C var)@\spxentry{vrna\_param\_s.SaltLoopDbl}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.SaltLoopDbl}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1abf223f5c7dca67cbc07e7b3e3fd63486}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltLoopDbl}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{2}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.SaltMLbase (C var)@\spxentry{vrna\_param\_s.SaltMLbase}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.SaltMLbase}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1af02e93a80dcb2ca70b9161a91343c2b3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltMLbase}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.SaltMLintern (C var)@\spxentry{vrna\_param\_s.SaltMLintern}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.SaltMLintern}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1a1496a2c8ac0640ec9ce71e9ff4ab22a6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltMLintern}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.SaltMLclosing (C var)@\spxentry{vrna\_param\_s.SaltMLclosing}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.SaltMLclosing}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ac1907f61868d1f1e1a1813c49be07fce}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltMLclosing}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_param\_s.SaltDPXInit (C var)@\spxentry{vrna\_param\_s.SaltDPXInit}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_param_s.SaltDPXInit}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__param__s_1ae05a104d0cca0426e4e6e604d3d968c5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltDPXInit}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_exp\_param\_s (C struct)@\spxentry{vrna\_exp\_param\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_param\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/params/basic.h\textgreater{}}
\sphinxAtStartPar
The data structure that contains temperature scaled Boltzmann weights of the energy parameters. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_exp\_param\_s.id (C var)@\spxentry{vrna\_exp\_param\_s.id}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.id}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a378d5bcf2bae1f3ec84c912c7d3908d2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{id}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An identifier for the data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000180}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This attribute will be removed in version 3 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_exp\_param\_s.expstack (C var)@\spxentry{vrna\_exp\_param\_s.expstack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expstack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a0b288e466e25d1c4f45d138236b5a544}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expstack}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.exphairpin (C var)@\spxentry{vrna\_exp\_param\_s.exphairpin}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.exphairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a7d770c6dbf7bd37b91f56600d387b0cd}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exphairpin}}}\DUrole{p}{{[}}\DUrole{m}{31}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expbulge (C var)@\spxentry{vrna\_exp\_param\_s.expbulge}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expbulge}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a7f2f16246bbfc5b009e4c34113dcacd7}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expbulge}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expinternal (C var)@\spxentry{vrna\_exp\_param\_s.expinternal}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expinternal}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1aa98c3f4a62b997c9a460876c75d2d1ea}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expinternal}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expmismatchExt (C var)@\spxentry{vrna\_exp\_param\_s.expmismatchExt}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expmismatchExt}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a2fe9cc842350991d96b341804522a0d1}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expmismatchExt}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expmismatchI (C var)@\spxentry{vrna\_exp\_param\_s.expmismatchI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expmismatchI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1aac2d7b3c327c7125be000e8328fca606}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expmismatchI}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expmismatch23I (C var)@\spxentry{vrna\_exp\_param\_s.expmismatch23I}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expmismatch23I}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1afed2655b9a16a362fc22d270bfe3a5ab}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expmismatch23I}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expmismatch1nI (C var)@\spxentry{vrna\_exp\_param\_s.expmismatch1nI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expmismatch1nI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ae64727c998a64d8a6f958ef364eda821}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expmismatch1nI}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expmismatchH (C var)@\spxentry{vrna\_exp\_param\_s.expmismatchH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expmismatchH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a3638d270ea7979d80a75a7199a19717e}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expmismatchH}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expmismatchM (C var)@\spxentry{vrna\_exp\_param\_s.expmismatchM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expmismatchM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ac6ed6415250369dd10fe392c7460a5c9}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expmismatchM}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expdangle5 (C var)@\spxentry{vrna\_exp\_param\_s.expdangle5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expdangle5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ad013274ab70d044e382000eec41fea09}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expdangle5}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expdangle3 (C var)@\spxentry{vrna\_exp\_param\_s.expdangle3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expdangle3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a4dd91ccea8929e4779be114b9b76b28f}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expdangle3}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expint11 (C var)@\spxentry{vrna\_exp\_param\_s.expint11}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expint11}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ae58abb197b8bfb624513cb28858a8dab}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expint11}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expint21 (C var)@\spxentry{vrna\_exp\_param\_s.expint21}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expint21}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1acb992a6f846f0d1720b111606d819164}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expint21}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expint22 (C var)@\spxentry{vrna\_exp\_param\_s.expint22}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expint22}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1aa8e5d06b019fb91bf7f1b866e5349fb6}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expint22}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expninio (C var)@\spxentry{vrna\_exp\_param\_s.expninio}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expninio}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1aa02a086c6fce358c984a9685d0c4ece7}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expninio}}}\DUrole{p}{{[}}\DUrole{m}{5}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.lxc (C var)@\spxentry{vrna\_exp\_param\_s.lxc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.lxc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1acbceb6027e4aa73cf216712617d8ab02}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{lxc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expMLbase (C var)@\spxentry{vrna\_exp\_param\_s.expMLbase}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expMLbase}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1aef32ae2492725def74065fcc0f0a5f04}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expMLbase}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expMLintern (C var)@\spxentry{vrna\_exp\_param\_s.expMLintern}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expMLintern}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1acb1b64f42c607ada107e05262eb3d3c7}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expMLintern}}}\DUrole{p}{{[}}\DUrole{n}{NBPAIRS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expMLclosing (C var)@\spxentry{vrna\_exp\_param\_s.expMLclosing}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expMLclosing}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1afdfbc240dc615d45fa5e9f0e8d4f8026}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expMLclosing}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expTermAU (C var)@\spxentry{vrna\_exp\_param\_s.expTermAU}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expTermAU}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a9040df20dfcfeabaef375edb88a15326}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expTermAU}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expDuplexInit (C var)@\spxentry{vrna\_exp\_param\_s.expDuplexInit}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expDuplexInit}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ad6206b8edd6bdb01887c905423e2abb9}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expDuplexInit}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.exptetra (C var)@\spxentry{vrna\_exp\_param\_s.exptetra}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.exptetra}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ad2751af5816c82fcceacf9d496b1e9c9}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exptetra}}}\DUrole{p}{{[}}\DUrole{m}{40}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.exptri (C var)@\spxentry{vrna\_exp\_param\_s.exptri}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.exptri}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a076792cfccdc10ace2dbe2b7a8d3c5df}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exptri}}}\DUrole{p}{{[}}\DUrole{m}{40}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.exphex (C var)@\spxentry{vrna\_exp\_param\_s.exphex}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.exphex}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a193c26eb7ea79e91b4dcb89b87e7926e}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exphex}}}\DUrole{p}{{[}}\DUrole{m}{40}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.Tetraloops (C var)@\spxentry{vrna\_exp\_param\_s.Tetraloops}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.Tetraloops}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1aff2006d0ead3d1de216a9a7f0680fdc2}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Tetraloops}}}\DUrole{p}{{[}}\DUrole{m}{1401}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expTriloop (C var)@\spxentry{vrna\_exp\_param\_s.expTriloop}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expTriloop}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a91650cc682967f5914097c9a99e4f693}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expTriloop}}}\DUrole{p}{{[}}\DUrole{m}{40}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.Triloops (C var)@\spxentry{vrna\_exp\_param\_s.Triloops}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.Triloops}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a309a8d464478a36963c36d91110920b6}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Triloops}}}\DUrole{p}{{[}}\DUrole{m}{241}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.Hexaloops (C var)@\spxentry{vrna\_exp\_param\_s.Hexaloops}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.Hexaloops}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a771e437bb84e669d7a561f342ebbed33}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Hexaloops}}}\DUrole{p}{{[}}\DUrole{m}{1801}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expTripleC (C var)@\spxentry{vrna\_exp\_param\_s.expTripleC}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expTripleC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ab31a5df72a249faea0ce4a8e95c18244}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expTripleC}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expMultipleCA (C var)@\spxentry{vrna\_exp\_param\_s.expMultipleCA}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expMultipleCA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1abf12e9cdf6688361080e70c29bc15133}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expMultipleCA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expMultipleCB (C var)@\spxentry{vrna\_exp\_param\_s.expMultipleCB}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expMultipleCB}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a0b5a9b6ce171cd239250b4287f57aa23}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expMultipleCB}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expgquad (C var)@\spxentry{vrna\_exp\_param\_s.expgquad}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expgquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a8a230c75cd0fae888aedd45f488b4ff7}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expgquad}}}\DUrole{p}{{[}}{\hyperref[\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MAX_STACK_SIZE}]{\sphinxcrossref{\DUrole{n}{VRNA\_GQUAD\_MAX\_STACK\_SIZE}}}}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{w}{ }\DUrole{o}{*}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.VRNA_GQUAD_MAX_LINKER_LENGTH}]{\sphinxcrossref{\DUrole{n}{VRNA\_GQUAD\_MAX\_LINKER\_LENGTH}}}}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expgquadLayerMismatch (C var)@\spxentry{vrna\_exp\_param\_s.expgquadLayerMismatch}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expgquadLayerMismatch}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a501c56443b72d43b73a221e8d07c1b6e}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expgquadLayerMismatch}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.gquadLayerMismatchMax (C var)@\spxentry{vrna\_exp\_param\_s.gquadLayerMismatchMax}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.gquadLayerMismatchMax}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1afecefac11591191e9d0ba1c95b5171be}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gquadLayerMismatchMax}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.kT (C var)@\spxentry{vrna\_exp\_param\_s.kT}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.kT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1aee22f89eac71caf2bac24cc795de17aa}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{kT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.pf\_scale (C var)@\spxentry{vrna\_exp\_param\_s.pf\_scale}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.pf_scale}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a53c12f0d74f94ce371e0471a8ab5a377}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_scale}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor to avoid over\sphinxhyphen{}/underflows. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.temperature (C var)@\spxentry{vrna\_exp\_param\_s.temperature}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a674656d65ea957ddbeff8bd146b7fc16}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{temperature}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Temperature used for loop contribution scaling. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.alpha (C var)@\spxentry{vrna\_exp\_param\_s.alpha}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.alpha}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a77145830b7bb01b36c3217b363310ef0}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{alpha}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor for the thermodynamic temperature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This allows for temperature scaling in Boltzmann factors independently from the energy contributions. The resulting Boltzmann factors are then computed by \( e^{-E/(\alpha \cdot K \cdot T)} \)

\end{fulllineitems}

\index{vrna\_exp\_param\_s.model\_details (C var)@\spxentry{vrna\_exp\_param\_s.model\_details}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.model_details}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ac18055127bccc27c1223f1d2f3b01b53}}{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{model\_details}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Model details to be used in the recursions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.param\_file (C var)@\spxentry{vrna\_exp\_param\_s.param\_file}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.param_file}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a8e1b02a4753a9b64c3c9ae8529b9d75c}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{param\_file}}}\DUrole{p}{{[}}\DUrole{m}{256}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The filename the parameters were derived from, or empty string if they represent the default. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expSaltStack (C var)@\spxentry{vrna\_exp\_param\_s.expSaltStack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expSaltStack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a6db09b051f0c72921eb97709f29f3e2b}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expSaltStack}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.expSaltLoop (C var)@\spxentry{vrna\_exp\_param\_s.expSaltLoop}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.expSaltLoop}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ac106a7461fa5cc3581da97f33ecf2063}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{expSaltLoop}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{2}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.SaltLoopDbl (C var)@\spxentry{vrna\_exp\_param\_s.SaltLoopDbl}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.SaltLoopDbl}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1abd0b7da458b01079743431a5f6bf9284}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltLoopDbl}}}\DUrole{p}{{[}}\DUrole{n}{MAXLOOP}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{2}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.SaltMLbase (C var)@\spxentry{vrna\_exp\_param\_s.SaltMLbase}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.SaltMLbase}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1ad4ff3de6df40b73b97a8183a73064e21}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltMLbase}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.SaltMLintern (C var)@\spxentry{vrna\_exp\_param\_s.SaltMLintern}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.SaltMLintern}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a8e9d8c410a0f32253802c405b47341e0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltMLintern}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.SaltMLclosing (C var)@\spxentry{vrna\_exp\_param\_s.SaltMLclosing}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.SaltMLclosing}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a18989f53b5f128577dc4bd65920d1a49}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltMLclosing}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_param\_s.SaltDPXInit (C var)@\spxentry{vrna\_exp\_param\_s.SaltDPXInit}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/energy_parameters:c.vrna_exp_param_s.SaltDPXInit}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a6e58d14c8ad5e506ea9fd1a5d71db549}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{SaltDPXInit}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Deprecated Interface for Free Energy Evaluation}
\label{\detokenize{eval/eval_deprecated:deprecated-interface-for-free-energy-evaluation}}\label{\detokenize{eval/eval_deprecated::doc}}
\sphinxAtStartPar
Using the functions below is discouraged as they have been marked
deprecated and will be removed from the library in the (near) future!


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{ON\_SAME\_STRAND (C macro)@\spxentry{ON\_SAME\_STRAND}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.ON_SAME_STRAND}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga6b109d72bf39073254090cf105a17641}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{ON\_SAME\_STRAND}}}}
{\DUrole{n}{I}\sphinxparamcomma \DUrole{n}{J}\sphinxparamcomma \DUrole{n}{C}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{energy\_of\_alistruct (C function)@\spxentry{energy\_of\_alistruct}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_alistruct}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga1c48869c03b49a342bf4cbdd61900081}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_alistruct}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of a consensus structure given a set of aligned sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000015}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Usage of this function is discouraged! Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}, and {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} \textendash{} The NULL terminated array of sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The consensus structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n\_seq}} \textendash{} The number of sequences in the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} A pointer to an array of at least two floats that will hold the free energies (energy{[}0{]} will contain the free energy, energy{[}1{]} will be filled with the covariance energy term) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
free energy in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_eval\_ext\_stem (C function)@\spxentry{vrna\_eval\_ext\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_eval_ext_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf5040810fb306e7a24a94556b4d1e868}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_ext\_stem}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{E\_Stem (C function)@\spxentry{E\_Stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.E_Stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga51f9851f3500c2aae66674142a6a2dd5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_Stem}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{extLoop}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the energy contribution of a stem branching off a loop\sphinxhyphen{}region. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the energy contribution of a stem that branches off a loop region. This can be the case in multiloops, when a stem branching off increases the degree of the loop but also \sphinxstyleemphasis{immediately interior base pairs} of an exterior loop contribute free energy. To switch the behavior of the function according to the evaluation of a multiloop\sphinxhyphen{} or exterior\sphinxhyphen{}loop\sphinxhyphen{}stem, you pass the flag ‘extLoop’. The returned energy contribution consists of a TerminalAU penalty if the pair type is greater than 2, dangling end contributions of mismatching nucleotides adjacent to the stem if only one of the si1, sj1 parameters is greater than 0 and mismatch energies if both mismatching nucleotides are positive values. Thus, to avoid incorporating dangling end or mismatch energies just pass a negative number, e.g. \sphinxhyphen{}1 to the mismatch argument.

\sphinxAtStartPar
This is an illustration of how the energy contribution is assembled: 
\sphinxAtStartPar
3’  5’

\sphinxAtStartPar
|   |

\sphinxAtStartPar
X \sphinxhyphen{} Y

\sphinxAtStartPar
5’\sphinxhyphen{}si1     sj1\sphinxhyphen{}3’


\sphinxAtStartPar
Here, (X,Y) is the base pair that closes the stem that branches off a loop region. The nucleotides si1 and sj1 are the 5’\sphinxhyphen{} and 3’\sphinxhyphen{} mismatches, respectively. If the base pair type of (X,Y) is greater than 2 (i.e. an A\sphinxhyphen{}U or G\sphinxhyphen{}U pair, the TerminalAU penalty will be included in the energy contribution returned. If si1 and sj1 are both nonnegative numbers, mismatch energies will also be included. If one of si1 or sj1 is a negative value, only 5’ or 3’ dangling end contributions are taken into account. To prohibit any of these mismatch contributions to be incorporated, just pass a negative number to both, si1 and sj1. In case the argument extLoop is 0, the returned energy contribution also includes the \sphinxstyleemphasis{internal\sphinxhyphen{}loop\sphinxhyphen{}penalty} of a multiloop stem with closing pair type.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000143}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Please use one of the functions {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__ext_1gad15211d536d971e3c335813a75897a26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_exterior\_stem()}}}}} and {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__mb_1ga4df9d02217343b879549725fcebbc9ec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_multibranch\_stem()}}}}} instead! Use the former for cases where \sphinxcode{\sphinxupquote{extLoop}} != 0 and the latter otherwise.

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops__mb_1ga4df9d02217343b879549725fcebbc9ec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_multibranch\_stem()}}}}}, \_ExtLoop()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the first base pair un the stem 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{extLoop}} \textendash{} A flag that indicates whether the contribution reflects the one of an exterior loop or not 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The data structure containing scaled energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Free energy of the branch off the loop in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{E\_ExtLoop (C function)@\spxentry{E\_ExtLoop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.E_ExtLoop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga05c6288c5a79d3bd5ad6d33c1bb34bd0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_ExtLoop}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_E\_ext\_stem (C function)@\spxentry{vrna\_E\_ext\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_E_ext_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaa0c313c90da11aa741dcd62746d85337}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_ext\_stem}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n5d}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n3d}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_ext\_stem (C function)@\spxentry{vrna\_exp\_E\_ext\_stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_exp_E_ext_stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga357484958d3cd677f88f16c75c8a5730}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_ext\_stem}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n5d}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n3d}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{exp\_E\_ExtLoop (C function)@\spxentry{exp\_E\_ExtLoop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.exp_E_ExtLoop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga446828a191c127861e76e2c84055f672}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_E\_ExtLoop}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the partition function variant of E\_ExtLoop() 

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use vrna\_exp\_E\_ext\_stem() instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
E\_ExtLoop()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weighted energy contribution of the introduced exterior\sphinxhyphen{}loop stem 

\end{description}\end{quote}

\end{fulllineitems}

\index{exp\_E\_Stem (C function)@\spxentry{exp\_E\_Stem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.exp_E_Stem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gab0aa9833ab41875a91a9be8a5ffd7092}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_E\_Stem}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{extLoop}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Compute the Boltzmann weighted energy contribution of a stem branching off a loop\sphinxhyphen{}region}

\sphinxAtStartPar
This is the partition function variant of {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga51f9851f3500c2aae66674142a6a2dd5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{E\_Stem()}}}}}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga51f9851f3500c2aae66674142a6a2dd5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{E\_Stem()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weighted energy contribution of the branch off the loop 

\end{description}\end{quote}

\end{fulllineitems}

\index{E\_Hairpin (C function)@\spxentry{E\_Hairpin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.E_Hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaac01109b95889c27943e781f4a3ab0b6}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_Hairpin}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{size}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the Energy of a hairpin\sphinxhyphen{}loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
To evaluate the free energy of a hairpin\sphinxhyphen{}loop, several parameters have to be known. A general hairpin\sphinxhyphen{}loop has this structure:

 
\sphinxAtStartPar
a3 a4

\sphinxAtStartPar
a2     a5

\sphinxAtStartPar
a1     a6

\sphinxAtStartPar
X \sphinxhyphen{} Y

\sphinxAtStartPar
|   |

\sphinxAtStartPar
5’  3’
 where X\sphinxhyphen{}Y marks the closing pair {[}e.g. a \sphinxstylestrong{(G,C)} pair{]}. The length of this loop is 6 as there are six unpaired nucleotides (a1\sphinxhyphen{}a6) enclosed by (X,Y). The 5’ mismatching nucleotide is a1 while the 3’ mismatch is a6. The nucleotide sequence of this loop is “a1.a2.a3.a4.a5.a6” 



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga5fe3524fd6d2a297099238f117254c13}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{scale\_parameters()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The parameter sequence should contain the sequence of the loop in capital letters of the nucleic acid alphabet if the loop size is below 7. This is useful for unusually stable tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexa\sphinxhyphen{}loops which are treated differently (based on experimental data) if they are tabulated.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar

\sphinxAtStartPar
Not (really) thread safe! A threadsafe implementation will replace this function in a future release!

\sphinxAtStartPar
Energy evaluation may change due to updates in global variable “tetra\_loop”

\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The size of the loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the base pair closing the hairpin 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The sequence of the loop (May be \sphinxcode{\sphinxupquote{NULL}}, otherwise mst be at least \(size + 2\) long) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The datastructure containing scaled energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Free energy of the Hairpin\sphinxhyphen{}loop in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_E\_hp\_loop (C function)@\spxentry{vrna\_E\_hp\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_E_hp_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga57179ea326cc5ed8dfe4d3962b233128}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_hp\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_E\_ext\_hp\_loop (C function)@\spxentry{vrna\_E\_ext\_hp\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_E_ext_hp_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga7d358fa17aaf1cfc312a053accd10778}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_ext\_hp\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_eval\_hp\_loop (C function)@\spxentry{vrna\_eval\_hp\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_eval_hp_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gad0bb844f8dc704c71737ae1d7e32b975}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_hp\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000073}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_hp\_loop()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_hp_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_hp\_loop()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_eval\_ext\_hp\_loop (C function)@\spxentry{vrna\_eval\_ext\_hp\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_eval_ext_hp_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gafd39e7355dcf36bf1517bafc1b49c2d2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_ext\_hp\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{exp\_E\_Hairpin (C function)@\spxentry{exp\_E\_Hairpin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.exp_E_Hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga00a1defade1e714fa4c68b86ef95b980}}\DUrole{k}{static}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_E\_Hairpin}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{u}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Boltzmann weight \(e^{-\Delta G/kT} \) of a hairpin loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga1007b70b7176f7cc78ed224460b89bbe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_pf\_parameters()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}}, E\_Hairpin()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
multiply by scale{[}u+2{]}
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar

\sphinxAtStartPar
Not (really) thread safe! A threadsafe implementation will replace this function in a future release!

\sphinxAtStartPar
Energy evaluation may change due to updates in global variable “tetra\_loop”

\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{u}} \textendash{} The size of the loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the base pair closing the hairpin 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The sequence of the loop (May be \sphinxcode{\sphinxupquote{NULL}}, otherwise mst be at least \(size + 2\) long) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The datastructure containing scaled Boltzmann weights of the energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weight of the Hairpin\sphinxhyphen{}loop 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_exp\_E\_hp\_loop (C function)@\spxentry{vrna\_exp\_E\_hp\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_exp_E_hp_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gad62fe037be0a3fc6914676e5cb85be5e}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_hp\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{E\_IntLoop (C function)@\spxentry{E\_IntLoop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.E_IntLoop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga851027dfadccc9211ac2098c03ff9f60}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_IntLoop}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sp1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sq1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Compute the Energy of an internal\sphinxhyphen{}loop}

\sphinxAtStartPar
This function computes the free energy \(\Delta G\) of an internal\sphinxhyphen{}loop with the following structure: 

 
\sphinxAtStartPar
3’  5’

\sphinxAtStartPar
|   |

\sphinxAtStartPar
U \sphinxhyphen{} V

\sphinxAtStartPar
a\_n       b\_1

\sphinxAtStartPar
.        .

\sphinxAtStartPar
.        .

\sphinxAtStartPar
.        .

\sphinxAtStartPar
a\_1       b\_m

\sphinxAtStartPar
X \sphinxhyphen{} Y

\sphinxAtStartPar
|   |

\sphinxAtStartPar
5’  3’
 This general structure depicts an internal\sphinxhyphen{}loop that is closed by the base pair (X,Y). The enclosed base pair is (V,U) which leaves the unpaired bases a\_1\sphinxhyphen{}a\_n and b\_1\sphinxhyphen{}b\_n that constitute the loop. In this example, the length of the internal\sphinxhyphen{}loop is \((n+m)\)
\sphinxAtStartPar
where n or m may be 0 resulting in a bulge\sphinxhyphen{}loop or base pair stack. The mismatching nucleotides for the closing pair (X,Y) are:

\sphinxAtStartPar
5’\sphinxhyphen{}mismatch: a\_1

\sphinxAtStartPar
3’\sphinxhyphen{}mismatch: b\_m

\sphinxAtStartPar
and for the enclosed base pair (V,U):

\sphinxAtStartPar
5’\sphinxhyphen{}mismatch: b\_1

\sphinxAtStartPar
3’\sphinxhyphen{}mismatch: a\_n


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga5fe3524fd6d2a297099238f117254c13}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{scale\_parameters()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar

\sphinxAtStartPar
Base pairs are always denoted in 5’\sphinxhyphen{}\textgreater{}3’ direction. Thus the enclosed base pair must be ‘turned arround’ when evaluating the free energy of the internal\sphinxhyphen{}loop

\sphinxAtStartPar
This function is threadsafe

\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n1}} \textendash{} The size of the ‘left’\sphinxhyphen{}loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n2}} \textendash{} The size of the ‘right’\sphinxhyphen{}loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the base pair closing the internal loop 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type\_2}} \textendash{} The pair type of the enclosed base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide of the closing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide of the closing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sp1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide of the enclosed pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sq1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide of the enclosed pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The datastructure containing scaled energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Free energy of the Interior\sphinxhyphen{}loop in dcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{exp\_E\_IntLoop (C function)@\spxentry{exp\_E\_IntLoop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.exp_E_IntLoop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga73745a132b0fda5e4d8b11ed8eec43ac}}\DUrole{k}{static}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_E\_IntLoop}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{u1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{u2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type2}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sp1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sq1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Compute Boltzmann weight \(e^{-\Delta G/kT} \) of internal loop}

\sphinxAtStartPar
multiply by scale{[}u1+u2+2{]} for scaling

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga1007b70b7176f7cc78ed224460b89bbe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_pf\_parameters()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}}, E\_IntLoop()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{u1}} \textendash{} The size of the ‘left’\sphinxhyphen{}loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{u2}} \textendash{} The size of the ‘right’\sphinxhyphen{}loop (number of unpaired nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The pair type of the base pair closing the internal loop 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type2}} \textendash{} The pair type of the enclosed base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide of the closing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide of the closing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sp1}} \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide of the enclosed pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sq1}} \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide of the enclosed pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} The datastructure containing scaled Boltzmann weights of the energy parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weight of the Interior\sphinxhyphen{}loop 

\end{description}\end{quote}

\end{fulllineitems}

\index{E\_IntLoop\_Co (C function)@\spxentry{E\_IntLoop\_Co}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.E_IntLoop_Co}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga5fac9ca6a1369512f5335567651cb847}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_IntLoop\_Co}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{cutpoint}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sp1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sq1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{dangles}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{\_\_E\_IntLoop\_Co (C function)@\spxentry{\_\_E\_IntLoop\_Co}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.__E_IntLoop_Co}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga3ecbadd697664a75ec7008724ef989f2}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{\_\_E\_IntLoop\_Co}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{cutpoint}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sp1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sq1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{dangles}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{ubf\_eval\_int\_loop (C function)@\spxentry{ubf\_eval\_int\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.ubf_eval_int_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gabfcc65bcd7f7a06f22767d2cd91eebb3}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ubf\_eval\_int\_loop}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sp}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sq}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{rtype}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ij}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{cp}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{ubf\_eval\_int\_loop2 (C function)@\spxentry{ubf\_eval\_int\_loop2}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.ubf_eval_int_loop2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga0897fc4eebc981ed56dcfc70e4a7bca6}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ubf\_eval\_int\_loop2}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sp}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sq}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{rtype}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ij}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sn}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ss}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{ubf\_eval\_ext\_int\_loop (C function)@\spxentry{ubf\_eval\_ext\_int\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.ubf_eval_ext_int_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga701437cdfbeba8f1a0677ee718243165}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ubf\_eval\_ext\_int\_loop}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{q1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sp}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{n}{sq}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_eval\_int\_loop (C function)@\spxentry{vrna\_eval\_int\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_eval_int_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaab3547bfcdc39d89babbc7ed2a1a4b65}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_eval\_int\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_int\_loop()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_int_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_int\_loop()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_E\_stack (C function)@\spxentry{vrna\_E\_stack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_E_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga75bade120c653de9959a1e0eab879ab9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_stack}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_interior\_loop (C function)@\spxentry{vrna\_exp\_E\_interior\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.vrna_exp_E_interior_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga51130eaa2debd3bb8e52de7a3de048ad}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_interior\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{E\_MLstem (C function)@\spxentry{E\_MLstem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.E_MLstem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga3fe1e1a38723b0d4f2f370b77e745446}}\DUrole{k}{static}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_MLstem}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{exp\_E\_MLstem (C function)@\spxentry{exp\_E\_MLstem}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.exp_E_MLstem}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga9f9e6e045ffc1dfbe4875a31c0cc3095}}\DUrole{k}{static}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_E\_MLstem}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{energy\_of\_structure (C function)@\spxentry{energy\_of\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf93986cb3cb29770ec9cca69c9fab8cf}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA using global model detail settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000145}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: This function relies on several global model settings variables and thus is not to be considered threadsafe. See {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf9d064d3c496de42eca6734a96fd2090}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct\_par()}}}}} for a completely threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} a flag to turn verbose output on/off 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_struct\_par (C function)@\spxentry{energy\_of\_struct\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_struct_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf9d064d3c496de42eca6734a96fd2090}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_struct\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000146}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} A data structure containing the prescaled energy contributions and the model details. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} A flag to turn verbose output on/off 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_circ\_structure (C function)@\spxentry{energy\_of\_circ\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_circ_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaeb14f3664aec67fc03268ac75253f0f8}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_circ\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded circular RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar

If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000147}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: This function relies on several global model settings variables and thus is not to be considered threadsafe. See {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga3f01f9744ba6a40555eb4d81fc77f6df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_struct\_par()}}}}} for a completely threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} A flag to turn verbose output on/off 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_circ\_struct\_par (C function)@\spxentry{energy\_of\_circ\_struct\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_circ_struct_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga3f01f9744ba6a40555eb4d81fc77f6df}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_circ\_struct\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded circular RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} A data structure containing the prescaled energy contributions and the model details. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} A flag to turn verbose output on/off 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_gquad\_structure (C function)@\spxentry{energy\_of\_gquad\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_gquad_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga30687ad32835b9894875940958e3eb9a}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_gquad\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{energy\_of\_gquad\_struct\_par (C function)@\spxentry{energy\_of\_gquad\_struct\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_gquad_struct_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga7d8e18eab7bdc45744b063c81a25ca78}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_gquad\_struct\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{energy\_of\_structure\_pt (C function)@\spxentry{energy\_of\_structure\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_structure_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga8831445966b761417e713360791299d8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_structure\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptable}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000149}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: This function relies on several global model settings variables and thus is not to be considered threadsafe. See {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga49acb3d5627dc6823a7ce12d116d4c69}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct\_pt\_par()}}}}} for a completely threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} \textendash{} the pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} a flag to turn verbose output on/off 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in 10kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_struct\_pt\_par (C function)@\spxentry{energy\_of\_struct\_pt\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_struct_pt_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga49acb3d5627dc6823a7ce12d116d4c69}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_struct\_pt\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptable}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbosity\_level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000150}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence in uppercase letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} \textendash{} The pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} Encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} Encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} A data structure containing the prescaled energy contributions and the model details. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} \textendash{} A flag to turn verbose output on/off 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_move (C function)@\spxentry{energy\_of\_move}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_move}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga539ecaed89730f7644c202f304d7529b}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_move}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000151}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga2e542ea644f28d33b05ec81b7cd60ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga2e542ea644f28d33b05ec81b7cd60ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} \textendash{} first coordinate of base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} \textendash{} second coordinate of base pair 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_move\_pt (C function)@\spxentry{energy\_of\_move\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_move_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga49e0ee561be69faf0568213546f6a53f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_move\_pt}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{m2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000152}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga03995d1cd83b3881af7c89dd4ddbdefc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move\_pt()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga03995d1cd83b3881af7c89dd4ddbdefc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} the pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} \textendash{} first coordinate of base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} \textendash{} second coordinate of base pair 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in 10cal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{loop\_energy (C function)@\spxentry{loop\_energy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.loop_energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga507d4fd93f4b398d793ba2402731388d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{loop\_energy}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptable}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000153}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/eval_loops:group__eval__loops_1ga5f9fe7c27d0b628a3efc2d725f52853e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_loop\_pt()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_loops:group__eval__loops_1ga5f9fe7c27d0b628a3efc2d725f52853e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_loop\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} \textendash{} the pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} position of covering base pair 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
free energy of the loop in 10cal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_struct (C function)@\spxentry{energy\_of\_struct}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_struct}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gac2b37fea2145c94d925a3f33378ef87b}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_struct}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Calculate the free energy of an already folded RNA

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000154}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is deprecated and should not be used in future programs! Use {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf93986cb3cb29770ec9cca69c9fab8cf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf93986cb3cb29770ec9cca69c9fab8cf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure}}}}}, {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga657222e2758c46bf13b416ef3032e417}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_struct()}}}}}, {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga27ce6f68512d43bf1fe14a06c9d76d5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct\_pt()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not entirely threadsafe! Depending on the state of the global variable {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga567530678f6260a1a649a5beca5da4c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{eos\_debug}}}}} it prints energy information to stdout or not…

 
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_struct\_pt (C function)@\spxentry{energy\_of\_struct\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_struct_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga27ce6f68512d43bf1fe14a06c9d76d5c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_struct\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptable}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Calculate the free energy of an already folded RNA

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000155}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is deprecated and should not be used in future programs! Use {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga8831445966b761417e713360791299d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure\_pt()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab037d0de2e4c3d6a3f1d51b5b22315dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{make\_pair\_table()}}}}}, {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf93986cb3cb29770ec9cca69c9fab8cf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not entirely threadsafe! Depending on the state of the global variable {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga567530678f6260a1a649a5beca5da4c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{eos\_debug}}}}} it prints energy information to stdout or not…

 
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} \textendash{} the pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} encoded RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} encoded RNA sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in 10kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_of\_circ\_struct (C function)@\spxentry{energy\_of\_circ\_struct}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.energy_of_circ_struct}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga657222e2758c46bf13b416ef3032e417}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_of\_circ\_struct}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Calculate the free energy of an already folded circular RNA

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000156}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is deprecated and should not be used in future programs Use {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaeb14f3664aec67fc03268ac75253f0f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_structure()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaeb14f3664aec67fc03268ac75253f0f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_structure()}}}}}, {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gac2b37fea2145c94d925a3f33378ef87b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct()}}}}}, {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga27ce6f68512d43bf1fe14a06c9d76d5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct\_pt()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not entirely threadsafe! Depending on the state of the global variable {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga567530678f6260a1a649a5beca5da4c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{eos\_debug}}}}} it prints energy information to stdout or not…

 
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{cut\_point (C var)@\spxentry{cut\_point}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.cut_point}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1gab9b2c3a37a5516614c06d0ab54b97cda}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cut\_point}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
first pos of second seq for cofolding 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{eos\_debug (C var)@\spxentry{eos\_debug}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{eval/eval_deprecated:c.eos_debug}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga567530678f6260a1a649a5beca5da4c5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{eos\_debug}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
verbose info from energy\_of\_struct 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsection{Loop Decomposition}
\label{\detokenize{eval:loop-decomposition}}
\sphinxAtStartPar
Each base pair in a secondary structure closes a loop, thereby directly
enclosing unpaired nucleotides, and/or further base pairs. Our implementation
distinguishes four basic types of loops:
\begin{itemize}
\item {} 
\sphinxAtStartPar
hairpin loops

\item {} 
\sphinxAtStartPar
internal loops

\item {} 
\sphinxAtStartPar
multibranch loops

\item {} 
\sphinxAtStartPar
exterior loop

\end{itemize}

\sphinxAtStartPar
While the exterior loop is a special case without a closing pair, the other
loops are determined by the number of base pairs involved in the loop formation,
i.e. hairpin loops are 1\sphinxhyphen{}loops, since only a single base pair delimits the loop.
internal loops are 2\sphinxhyphen{}loops due to their enclosing, and enclosed base pair. All
loops where more than two base pairs are involved, are termed multibranch loops.

\noindent\sphinxincludegraphics{{loop_types}.png}

\sphinxAtStartPar
Any secondary structure can be decomposed into its loops. Each of the loops then
can be scored in terms of free energy, and the free energy of an entire secondary
structure is simply the sum of free energies of its loops.

\noindent\sphinxincludegraphics{{loop_decomposition}.png}


\subsection{Fine\sphinxhyphen{}tuning of the Evaluation Model}
\label{\detokenize{eval:fine-tuning-of-the-evaluation-model}}
\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details::doc}]{\sphinxcrossref{\DUrole{doc}{Fine\sphinxhyphen{}tuning of the Implemented Models}}}}
\end{sphinxadmonition}

\sphinxstepscope


\section{The RNA Folding Grammar}
\label{\detokenize{grammar:the-rna-folding-grammar}}\label{\detokenize{grammar::doc}}
\sphinxAtStartPar
The RNA folding grammar as implemented in RNAlib

\sphinxstepscope


\subsection{Fine\sphinxhyphen{}tuning of the Implemented Models}
\label{\detokenize{grammar/model_details:fine-tuning-of-the-implemented-models}}\label{\detokenize{grammar/model_details::doc}}
\sphinxAtStartPar
Functions and data structures to fine\sphinxhyphen{}tune the implemented
secondary structure evaluation model.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{NBASES (C macro)@\spxentry{NBASES}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.NBASES}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad554b4852cd5fec35025db8edbbba3cd}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{NBASES}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_TEMPERATURE (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_TEMPERATURE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_TEMPERATURE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaf47f9850b3b4763479f7a7e7a15648a2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_TEMPERATURE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
  Default temperature for structure prediction and free energy evaluation in \$\textasciicircum{}\textbackslash{}circ C\$  

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a5f7e5c2b65bada5188443470e576aa4b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.temperature}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_PF\_SCALE (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_PF\_SCALE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_PF_SCALE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga5505389cba74a18bbc116d2bb20256fa}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_PF\_SCALE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default scaling factor for partition function computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a53c12f0d74f94ce371e0471a8ab5a377}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t.pf\_scale}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_BETA\_SCALE (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_BETA\_SCALE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_BETA_SCALE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga383d3ac8d08c3b6221754b50871c1200}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_BETA\_SCALE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default scaling factor for absolute thermodynamic temperature in Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:structvrna__exp__param__s_1a77145830b7bb01b36c3217b363310ef0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t.alpha}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a19524bf1d8d7ab590ed36edbbcaaba2c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.betaScale}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_DANGLES (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_DANGLES}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_DANGLES}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga2aa7bc2cae774b83a5c468f824c27a42}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_DANGLES}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default dangling end model. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1adcda4ff2ea77748ae0e8700288282efc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.dangles}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_SPECIAL\_HP (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_SPECIAL\_HP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_SPECIAL_HP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gabd1ab224e1048defd45c165ed7d1c108}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_SPECIAL\_HP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for lookup of special tri\sphinxhyphen{}, tetra\sphinxhyphen{}, and hexa\sphinxhyphen{}loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1add64a96d23e77ef1d0ddf8dfc5228143}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.special\_hp}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_NO\_LP (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_NO\_LP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_NO_LP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gab72462726dd60ed0d43339bbf7ee08ad}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_NO\_LP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for so\sphinxhyphen{}called ‘lonely pairs’. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a753200bf21cee0ea2df64afe43999f5d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.noLP}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_NO\_GU (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_NO\_GU}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_NO_GU}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga34702f7d14d38b877ba8e475281e97e2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_NO\_GU}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for G\sphinxhyphen{}U base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ad64a5eaf9c4550e7525b36a725fec4b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.noGU}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_NO\_GU\_CLOSURE (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_NO\_GU\_CLOSURE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_NO_GU_CLOSURE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga5308de46faaca4b9fd16045864901ee7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_NO\_GU\_CLOSURE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for G\sphinxhyphen{}U base pairs closing a loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a7e883db1f33f8f3baa5c9b140350c78e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.noGUclosure}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_CIRC (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_CIRC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_CIRC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga22059033db7bcd875c51fec32425490a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_CIRC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior to treat a molecule as a circular RNA (DNA). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a92762e1008503d4623ff5c01e358a464}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.circ}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_GQUAD (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_GQUAD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_GQUAD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga793ed812e86f43799b14b2deee917f23}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_GQUAD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior regarding the treatment of G\sphinxhyphen{}Quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1af88a511a2b1f526b4c6213de6cb8fd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.gquad}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_UNIQ\_ML (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_UNIQ\_ML}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_UNIQ_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga63f6006a02ba2d89148441f406c309e7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_UNIQ\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default behavior of the model regarding unique multi\sphinxhyphen{}branch loop decomposition. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_ENERGY\_SET (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_ENERGY\_SET}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_ENERGY_SET}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga6fcf6b2d0f89256cdbd166486c9b6e1e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_ENERGY\_SET}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior on which energy set to use. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a5eee4e3b468eb690d1407e0178dafb3f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.energy\_set}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_BACKTRACK (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_BACKTRACK}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_BACKTRACK}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga3fda8006ab84baf817bd8e5ccbc6bb35}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_BACKTRACK}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior with regards to backtracking of structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a31f4471608cbdd03887f63c281823adb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.backtrack}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_BACKTRACK\_TYPE (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_BACKTRACK\_TYPE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_BACKTRACK_TYPE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad0e81fcaca53c4a826c68e0796de2afb}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_BACKTRACK\_TYPE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior on what type of backtracking to perform. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abb265da25121d22ed11c8435861f0e53}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.backtrack\_type}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_COMPUTE\_BPP (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_COMPUTE\_BPP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_COMPUTE_BPP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga1d6cd5051940b126c248147c011bac6c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_COMPUTE\_BPP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior with regards to computing base pair probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1aa0c3e03d9064363e27adcc92b8d0380f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.compute\_bpp}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_MAX\_BP\_SPAN (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_MAX\_BP\_SPAN}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_MAX_BP_SPAN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga7cb6f4ae8fdebff6746a4410814f2977}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_MAX\_BP\_SPAN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for the allowed maximum base pair span. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a659e5fcc6e8c9f1a68e7de6548eef3b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.max\_bp\_span}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_WINDOW\_SIZE (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_WINDOW\_SIZE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_WINDOW_SIZE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga8de04a9cb57e811e313b0f9f207f6bdb}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_WINDOW\_SIZE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for the sliding window approach. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abea42f9229f8d8d6bcbedef316315bfc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.window\_size}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_LOG\_ML (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_LOG\_ML}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_LOG_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga938f68463e84fe060aa6502f428a517d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_LOG\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior on how to evaluate the energy contribution of multi\sphinxhyphen{}branch loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ae259f89a94acae0c7f1412603e7f57b5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.logML}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_ALI\_OLD\_EN (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_ALI\_OLD\_EN}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_ALI_OLD_EN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga2a5bbfc1edf33077e39466d2d9807115}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_ALI\_OLD\_EN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for consensus structure energy evaluation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ab53aec4503130877973c6111ae6f0f76}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.oldAliEn}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_ALI\_RIBO (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_ALI\_RIBO}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_ALI_RIBO}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga64b3ab65a9ca42d4ad1d05e193083147}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_ALI\_RIBO}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for consensus structure co\sphinxhyphen{}variance contribution assessment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a3df2ae4bd9c133ef8ab92a53b1d035ec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.ribo}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_ALI\_CV\_FACT (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_ALI\_CV\_FACT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_ALI_CV_FACT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaaaf3d73d6abc18d3889676952bfedb96}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_ALI\_CV\_FACT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for weighting the co\sphinxhyphen{}variance score in consensus structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a62ebefb9d0643e5c4c8a2ec84a105ce6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.cv\_fact}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_ALI\_NC\_FACT (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_ALI\_NC\_FACT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_ALI_NC_FACT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga8f774daaafec28160c1ca5d09f2cbdba}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_ALI\_NC\_FACT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model behavior for weighting the nucleotide conservation? in consensus structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abcf568e6124bfcb2f847ff4eb0dfded6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.nc\_fact}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_PF\_SMOOTH (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_PF\_SMOOTH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_PF_SMOOTH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaef182321c4991e5f434fa236961dd9ad}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_PF\_SMOOTH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_SALT (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_SALT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_SALT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaa68703da9ccc5ae6da508bfda36b533f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_SALT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model salt concentration (M). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_SALT\_MLLOWER (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_SALT\_MLLOWER}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_SALT_MLLOWER}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaec326f45e31be223d4ff2ae33e1a6ee5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_SALT\_MLLOWER}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model lower bound of multiloop size for salt correction fiting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_SALT\_MLUPPER (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_SALT\_MLUPPER}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_SALT_MLUPPER}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga1d16fa20d2c6099957e975746f5fb610}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_SALT\_MLUPPER}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model upper bound of multiloop size for salt correction fiting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_SALT\_DPXINIT (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_SALT\_DPXINIT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_SALT_DPXINIT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga9fde1c2000066236e3130dda3ca71a21}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_SALT\_DPXINIT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default model value to turn off user\sphinxhyphen{}provided salt correction for duplex initializtion. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_SALT\_DPXINIT\_FACT\_RNA (C macro)@\spxentry{VRNA\_MODEL\_SALT\_DPXINIT\_FACT\_RNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_SALT_DPXINIT_FACT_RNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaa927ba890b7810660282172c01eeedd9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_SALT\_DPXINIT\_FACT\_RNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_SALT\_DPXINIT\_FACT\_DNA (C macro)@\spxentry{VRNA\_MODEL\_SALT\_DPXINIT\_FACT\_DNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_SALT_DPXINIT_FACT_DNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga1531d9f6bc79ca4240635d83e27e9a00}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_SALT\_DPXINIT\_FACT\_DNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_SALT\_DPXINIT\_FACT (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_SALT\_DPXINIT\_FACT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_SALT_DPXINIT_FACT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga3061e5911a3916aee83c40f6c761b872}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_SALT\_DPXINIT\_FACT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_HELICAL\_RISE\_RNA (C macro)@\spxentry{VRNA\_MODEL\_HELICAL\_RISE\_RNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_HELICAL_RISE_RNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga8b91d97432e8b88c9807d575867f20c0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_HELICAL\_RISE\_RNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_HELICAL\_RISE\_DNA (C macro)@\spxentry{VRNA\_MODEL\_HELICAL\_RISE\_DNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_HELICAL_RISE_DNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga5ea2891b4fd45cc4e4384e56b3d5a7e8}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_HELICAL\_RISE\_DNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_HELICAL\_RISE (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_HELICAL\_RISE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_HELICAL_RISE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga6ac110e53604675da1cbed67336e9177}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_HELICAL\_RISE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default helical rise. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_BACKBONE\_LENGTH\_RNA (C macro)@\spxentry{VRNA\_MODEL\_BACKBONE\_LENGTH\_RNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_BACKBONE_LENGTH_RNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga2f9e4a6870666e3acb9709349b96aac0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_BACKBONE\_LENGTH\_RNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_BACKBONE\_LENGTH\_DNA (C macro)@\spxentry{VRNA\_MODEL\_BACKBONE\_LENGTH\_DNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_BACKBONE_LENGTH_DNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga4feb9245ca60b88c5e3bc1ee1b2af89f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_BACKBONE\_LENGTH\_DNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_BACKBONE\_LENGTH (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_BACKBONE\_LENGTH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_BACKBONE_LENGTH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga62e1e462516736e9e4482e2e4a550aab}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_BACKBONE\_LENGTH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default backbone length. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_CIRC\_PENALTY (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_CIRC\_PENALTY}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_CIRC_PENALTY}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad3c920c31df1215337ec6a2ee50385bd}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_CIRC\_PENALTY}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MODEL\_DEFAULT\_CIRC\_ALPHA0 (C macro)@\spxentry{VRNA\_MODEL\_DEFAULT\_CIRC\_ALPHA0}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.VRNA_MODEL_DEFAULT_CIRC_ALPHA0}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad5aafaa5aedc62cb6e128229e9735f63}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MODEL\_DEFAULT\_CIRC\_ALPHA0}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{MAXALPHA (C macro)@\spxentry{MAXALPHA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.MAXALPHA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga05a5ffe718aa431d97419a12fb082379}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{MAXALPHA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximal length of alphabet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{model\_detailsT (C macro)@\spxentry{model\_detailsT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.model_detailsT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga590b5539f4560d5b02e24db8d3ed1977}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{model\_detailsT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_md\_t (C type)@\spxentry{vrna\_md\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{grammar/model_details:c.vrna_md_s}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the model details data structure {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_md\_set\_default (C function)@\spxentry{vrna\_md\_set\_default}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_set_default}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_set\_default}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply default model details to a provided {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function to initialize a {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} data structure with its default values
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to the data structure that is about to be initialized 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_update (C function)@\spxentry{vrna\_md\_update}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga36ae40b8c3b82362f5798ad5b047b814}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_update}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Update the model details data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function should be called after changing the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a5eee4e3b468eb690d1407e0178dafb3f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.energy\_set}}}}} attribute since it re\sphinxhyphen{}initializes base pairing related arrays within the {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} data structure. In particular, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ab4da594c638707e212f64aadb54a7454}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.pair}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a66136cf9abc8ff790ec0d33245d68fd5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.alias}}}}}, and {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ad082d0fea31e002b90cdfe5e6382f8b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.rtype}}}}} are set to the values that correspond to the specified {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a5eee4e3b468eb690d1407e0178dafb3f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.energy\_set}}}}} option

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a5eee4e3b468eb690d1407e0178dafb3f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.energy\_set}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ab4da594c638707e212f64aadb54a7454}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.pair}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ad082d0fea31e002b90cdfe5e6382f8b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.rtype}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a66136cf9abc8ff790ec0d33245d68fd5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.alias}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_md\_copy (C function)@\spxentry{vrna\_md\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaa7c753fefc98866d5dc0dae3e6bd4486}}{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_copy}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_to}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_from}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Copy/Clone a {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} model. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function to clone a given model either inplace (target container \sphinxcode{\sphinxupquote{md\_to}} given) or create a copy by cloning the source model and returning it (\sphinxcode{\sphinxupquote{md\_to}} == NULL).
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_to}} \textendash{} The model to be overwritten (if non\sphinxhyphen{}NULL and \sphinxcode{\sphinxupquote{md\_to}} != \sphinxcode{\sphinxupquote{md\_from}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_from}} \textendash{} The model to copy (if non\sphinxhyphen{}NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the copy model (or NULL if \sphinxcode{\sphinxupquote{md\_from}} == NULL) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_option\_string (C function)@\spxentry{vrna\_md\_option\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_option_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga2207e3b40295825655c629421fe8f349}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_option\_string}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a corresponding commandline parameter string of the options in a {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not threadsafe! 
\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_md\_set\_nonstandards (C function)@\spxentry{vrna\_md\_set\_nonstandards}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_set_nonstandards}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga87398a419421bf5d90f246382e6ed70c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_set\_nonstandards}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ns\_bases}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_reset (C function)@\spxentry{vrna\_md\_defaults\_reset}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_reset}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_reset}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Reset the global default model details to a specific set of parameters, or their initial values. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function resets the global default model details to their initial values, i.e. as specified by the ViennaRNA Package release, upon passing NULL as argument. Alternatively it resets them according to a set of provided parameters.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The global default parameters affect all function calls of RNAlib where model details are not explicitly provided. Hence, any change of them is not considered threadsafe
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function first resets the global default settings to factory defaults, and only then applies user provided settings (if any). User settings that do not meet specifications are skipped.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} \textendash{} A set of model details to use as global default (if NULL is passed, factory defaults are restored) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_temperature (C function)@\spxentry{vrna\_md\_defaults\_temperature}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaf9e527e9a2f7e6fd6e42bc6e602f5445}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_temperature}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{T}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default temperature for energy evaluation of loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf47f9850b3b4763479f7a7e7a15648a2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_TEMPERATURE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T}} \textendash{} Temperature in centigrade 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_temperature\_get (C function)@\spxentry{vrna\_md\_defaults\_temperature\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_temperature_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga96b24a74437f9ba46c4e06343155bf46}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_temperature\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default temperature for energy evaluation of loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf9e527e9a2f7e6fd6e42bc6e602f5445}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_temperature()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf47f9850b3b4763479f7a7e7a15648a2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_TEMPERATURE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for temperature in centigrade 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_betaScale (C function)@\spxentry{vrna\_md\_defaults\_betaScale}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_betaScale}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gae984567db36c3f9b8731ecc917abf3a2}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_betaScale}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default scaling factor of thermodynamic temperature in Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Bolzmann factors are then computed as \( exp(-E / (b \cdot kT))\).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga383d3ac8d08c3b6221754b50871c1200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_BETA\_SCALE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The scaling factor, default is 1.0 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_betaScale\_get (C function)@\spxentry{vrna\_md\_defaults\_betaScale\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_betaScale_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gabb8780f5410c52f970d75b044059bd09}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_betaScale\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default scaling factor of thermodynamic temperature in Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gae984567db36c3f9b8731ecc917abf3a2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_betaScale()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga383d3ac8d08c3b6221754b50871c1200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_BETA\_SCALE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default thermodynamic temperature scaling factor 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_pf\_smooth (C function)@\spxentry{vrna\_md\_defaults\_pf\_smooth}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_pf_smooth}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga8524ad32519fd3a8a2055fd3a2723cad}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_pf\_smooth}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_pf\_smooth\_get (C function)@\spxentry{vrna\_md\_defaults\_pf\_smooth\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_pf_smooth_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gae3fdc588bf45c8432c532066d6167c51}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_pf\_smooth\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_dangles (C function)@\spxentry{vrna\_md\_defaults\_dangles}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_dangles}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gac76a5374def8e5e4e644ff6e4cc72dee}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_dangles}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{d}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default dangle model for structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga2aa7bc2cae774b83a5c468f824c27a42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_DANGLES}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{d}} \textendash{} The dangle model 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_dangles\_get (C function)@\spxentry{vrna\_md\_defaults\_dangles\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_dangles_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga67ca06f95ae133778c79a4493c9817b8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_dangles\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default dangle model for structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gac76a5374def8e5e4e644ff6e4cc72dee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_dangles()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga2aa7bc2cae774b83a5c468f824c27a42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_DANGLES}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for the dangle model 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_special\_hp (C function)@\spxentry{vrna\_md\_defaults\_special\_hp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_special_hp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gafff6449a02744add0308e653230c15fc}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_special\_hp}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for lookup of tabulated free energies for special hairpin loops, such as Tri\sphinxhyphen{}, Tetra\sphinxhyphen{}, or Hexa\sphinxhyphen{}loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabd1ab224e1048defd45c165ed7d1c108}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_SPECIAL\_HP}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_special\_hp\_get (C function)@\spxentry{vrna\_md\_defaults\_special\_hp\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_special_hp_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga1d68a6efdaa1253cc63fd9cd06452559}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_special\_hp\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for lookup of tabulated free energies for special hairpin loops, such as Tri\sphinxhyphen{}, Tetra\sphinxhyphen{}, or Hexa\sphinxhyphen{}loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gafff6449a02744add0308e653230c15fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_special\_hp()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabd1ab224e1048defd45c165ed7d1c108}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_SPECIAL\_HP}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for the treatment of special hairpin loops 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_noLP (C function)@\spxentry{vrna\_md\_defaults\_noLP}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_noLP}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga2f88ffc393ac9d7987849c965fd29ea8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_noLP}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for prediction of canonical secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab72462726dd60ed0d43339bbf7ee08ad}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_NO\_LP}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_noLP\_get (C function)@\spxentry{vrna\_md\_defaults\_noLP\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_noLP_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga934344888fbacaed538bbbfe910f2aa6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_noLP\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for prediction of canonical secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga2f88ffc393ac9d7987849c965fd29ea8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_noLP()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab72462726dd60ed0d43339bbf7ee08ad}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_NO\_LP}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for predicting canonical secondary structures 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_noGU (C function)@\spxentry{vrna\_md\_defaults\_noGU}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_noGU}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga98218f85c7a957a1d1ddf4627fdf5a39}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_noGU}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for treatment of G\sphinxhyphen{}U wobble pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga34702f7d14d38b877ba8e475281e97e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_NO\_GU}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_noGU\_get (C function)@\spxentry{vrna\_md\_defaults\_noGU\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_noGU_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga5faa7d4e536d7fe36ec25428c0cf2563}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_noGU\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for treatment of G\sphinxhyphen{}U wobble pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga98218f85c7a957a1d1ddf4627fdf5a39}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_noGU()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga34702f7d14d38b877ba8e475281e97e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_NO\_GU}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for treatment of G\sphinxhyphen{}U wobble pairs 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_noGUclosure (C function)@\spxentry{vrna\_md\_defaults\_noGUclosure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_noGUclosure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gade5b9951d71ca2fb357a4e6c0c18ccd1}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_noGUclosure}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for G\sphinxhyphen{}U pairs as closing pair for loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga5308de46faaca4b9fd16045864901ee7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_NO\_GU\_CLOSURE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_noGUclosure\_get (C function)@\spxentry{vrna\_md\_defaults\_noGUclosure\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_noGUclosure_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga4f7fdad083243a5348d63320ddaa70f3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_noGUclosure\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for G\sphinxhyphen{}U pairs as closing pair for loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gade5b9951d71ca2fb357a4e6c0c18ccd1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_noGUclosure()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga5308de46faaca4b9fd16045864901ee7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_NO\_GU\_CLOSURE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for treatment of G\sphinxhyphen{}U pairs closing a loop 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_logML (C function)@\spxentry{vrna\_md\_defaults\_logML}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_logML}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga3de50a73455d88c3957386933b8e1f90}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_logML}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior recomputing free energies of multi\sphinxhyphen{}branch loops using a logarithmic model. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga938f68463e84fe060aa6502f428a517d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_LOG\_ML}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_logML\_get (C function)@\spxentry{vrna\_md\_defaults\_logML\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_logML_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga93f04e070d529c5d0bb87c9681f6ad29}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_logML\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior recomputing free energies of multi\sphinxhyphen{}branch loops using a logarithmic model. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga3de50a73455d88c3957386933b8e1f90}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_logML()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga938f68463e84fe060aa6502f428a517d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_LOG\_ML}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for logarithmic model in multi\sphinxhyphen{}branch loop free energy evaluation 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_circ (C function)@\spxentry{vrna\_md\_defaults\_circ}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_circ}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga4e1deb3e91a8a99e5c6dd905a5eb0186}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_circ}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior whether input sequences are circularized. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga22059033db7bcd875c51fec32425490a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_CIRC}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_circ\_get (C function)@\spxentry{vrna\_md\_defaults\_circ\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_circ_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad3a7e58de344ad93a08925f58f94f6fb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_circ\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior whether input sequences are circularized. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga4e1deb3e91a8a99e5c6dd905a5eb0186}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_circ()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga22059033db7bcd875c51fec32425490a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_CIRC}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for treating input sequences as circular 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_circ\_penalty (C function)@\spxentry{vrna\_md\_defaults\_circ\_penalty}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_circ_penalty}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gae36c04033105fc519e040063341e6f4b}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_circ\_penalty}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for fully unpaired circular RNA penalty. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_E\_exterior\_loop(), {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, \#VRNA\_MODEL\_DEFAULT\_CIRC\_PENALTY


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_circ\_penalty\_get (C function)@\spxentry{vrna\_md\_defaults\_circ\_penalty\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_circ_penalty_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gadd7f2da829239856a5a14f6c43d26921}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_circ\_penalty\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for fully unpaired circular RNA penalty. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gae36c04033105fc519e040063341e6f4b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_circ\_penalty()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga22059033db7bcd875c51fec32425490a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_CIRC}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for adding an entropic penalty for unpaired circular RNA ring 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_gquad (C function)@\spxentry{vrna\_md\_defaults\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga0685ca2aeb39af76f2421fc308163dce}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_gquad}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for treatment of G\sphinxhyphen{}Quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga793ed812e86f43799b14b2deee917f23}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_GQUAD}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_gquad\_get (C function)@\spxentry{vrna\_md\_defaults\_gquad\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_gquad_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gae645b8612f879eb38b45244fa9eddb9e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_gquad\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for treatment of G\sphinxhyphen{}Quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga0685ca2aeb39af76f2421fc308163dce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_gquad()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga793ed812e86f43799b14b2deee917f23}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_GQUAD}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for treatment of G\sphinxhyphen{}Quadruplexes 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_uniq\_ML (C function)@\spxentry{vrna\_md\_defaults\_uniq\_ML}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_uniq_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga59b944f61c5d2babec2d4c48c820de67}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_uniq\_ML}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for creating additional matrix for unique multi\sphinxhyphen{}branch loop prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga63f6006a02ba2d89148441f406c309e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_UNIQ\_ML}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Activating this option usually results in higher memory consumption!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_uniq\_ML\_get (C function)@\spxentry{vrna\_md\_defaults\_uniq\_ML\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_uniq_ML_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gab48e70fd024bf838404bcbcca0c874a0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_uniq\_ML\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for creating additional matrix for unique multi\sphinxhyphen{}branch loop prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga59b944f61c5d2babec2d4c48c820de67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_uniq\_ML()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga63f6006a02ba2d89148441f406c309e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_UNIQ\_ML}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for creating additional matrices for unique multi\sphinxhyphen{}branch loop prediction 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_energy\_set (C function)@\spxentry{vrna\_md\_defaults\_energy\_set}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_energy_set}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga8dd29c55787a4576277e1907e92d810c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_energy\_set}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{e}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default energy set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga6fcf6b2d0f89256cdbd166486c9b6e1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ENERGY\_SET}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{e}} \textendash{} Energy set (0, 1, 2, 3) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_energy\_set\_get (C function)@\spxentry{vrna\_md\_defaults\_energy\_set\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_energy_set_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga017ed6afb1cba2b7f242412cab618b53}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_energy\_set\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default energy set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8dd29c55787a4576277e1907e92d810c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_energy\_set()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga6fcf6b2d0f89256cdbd166486c9b6e1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ENERGY\_SET}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for the energy set 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_backtrack (C function)@\spxentry{vrna\_md\_defaults\_backtrack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga978c468b2fe96a70d5191e3dd17d5599}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_backtrack}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for whether to backtrack secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga3fda8006ab84baf817bd8e5ccbc6bb35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_BACKTRACK}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_backtrack\_get (C function)@\spxentry{vrna\_md\_defaults\_backtrack\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga90da1156e6883ddd68527c2830706648}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_backtrack\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for whether to backtrack secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga978c468b2fe96a70d5191e3dd17d5599}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_backtrack()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga3fda8006ab84baf817bd8e5ccbc6bb35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_BACKTRACK}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for backtracking structures 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_backtrack\_type (C function)@\spxentry{vrna\_md\_defaults\_backtrack\_type}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack_type}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga68305274de96b56b7799575e222560d8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_backtrack\_type}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{t}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default backtrack type, i.e. which DP matrix is used. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad0e81fcaca53c4a826c68e0796de2afb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_BACKTRACK\_TYPE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{t}} \textendash{} The type (‘F’, ‘C’, or ‘M’) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_backtrack\_type\_get (C function)@\spxentry{vrna\_md\_defaults\_backtrack\_type\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack_type_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga1425b4ebd0e034dead66d79becd64143}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_backtrack\_type\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default backtrack type, i.e. which DP matrix is used. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga68305274de96b56b7799575e222560d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_backtrack\_type()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad0e81fcaca53c4a826c68e0796de2afb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_BACKTRACK\_TYPE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings that specify which DP matrix is used for backtracking 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_compute\_bpp (C function)@\spxentry{vrna\_md\_defaults\_compute\_bpp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_compute_bpp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaf1b5db10f1f476767f9a95f8a78e3132}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_compute\_bpp}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the default behavior for whether to compute base pair probabilities after partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1d6cd5051940b126c248147c011bac6c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_COMPUTE\_BPP}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_compute\_bpp\_get (C function)@\spxentry{vrna\_md\_defaults\_compute\_bpp\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_compute_bpp_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaa3a537e61fbe0518673bf9f73fd820f3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_compute\_bpp\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the default behavior for whether to compute base pair probabilities after partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf1b5db10f1f476767f9a95f8a78e3132}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_compute\_bpp()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1d6cd5051940b126c248147c011bac6c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_COMPUTE\_BPP}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings that specify whether base pair probabilities are computed together with partition function 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_max\_bp\_span (C function)@\spxentry{vrna\_md\_defaults\_max\_bp\_span}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_max_bp_span}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga4c4bc962f09b4480cb8499f1cf8ae4ec}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_max\_bp\_span}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{span}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default maximal base pair span. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga7cb6f4ae8fdebff6746a4410814f2977}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_MAX\_BP\_SPAN}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{span}} \textendash{} Maximal base pair span 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_max\_bp\_span\_get (C function)@\spxentry{vrna\_md\_defaults\_max\_bp\_span\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_max_bp_span_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaa60f989e062fecd4d4bac89c1883da85}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_max\_bp\_span\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default maximal base pair span. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga4c4bc962f09b4480cb8499f1cf8ae4ec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_max\_bp\_span()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga7cb6f4ae8fdebff6746a4410814f2977}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_MAX\_BP\_SPAN}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for maximum base pair span 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_min\_loop\_size (C function)@\spxentry{vrna\_md\_defaults\_min\_loop\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_min_loop_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gac152f1e78c1058a10261022c8dfda0f7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_min\_loop\_size}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default minimal loop size. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, TURN


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} Minimal size, i.e. number of unpaired nucleotides for a hairpin loop 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_min\_loop\_size\_get (C function)@\spxentry{vrna\_md\_defaults\_min\_loop\_size\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_min_loop_size_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga5cc691174a75c652807dc361b617632a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_min\_loop\_size\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default minimal loop size. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gac152f1e78c1058a10261022c8dfda0f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_min\_loop\_size()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, TURN


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for minimal size of hairpin loops 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_window\_size (C function)@\spxentry{vrna\_md\_defaults\_window\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_window_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga7b802ce0e8c3181bf5cb580de6d5b26a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_window\_size}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default window size for sliding window structure prediction approaches. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8de04a9cb57e811e313b0f9f207f6bdb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_WINDOW\_SIZE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The size of the sliding window 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_window\_size\_get (C function)@\spxentry{vrna\_md\_defaults\_window\_size\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_window_size_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga670146a9aa3ba77f4d422d60b7c30ac9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_window\_size\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default window size for sliding window structure prediction approaches. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga7b802ce0e8c3181bf5cb580de6d5b26a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_window\_size()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8de04a9cb57e811e313b0f9f207f6bdb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_WINDOW\_SIZE}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for the size of the sliding window 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_oldAliEn (C function)@\spxentry{vrna\_md\_defaults\_oldAliEn}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_oldAliEn}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga41521d5b9fb7e0f31e7ea73f5792afab}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_oldAliEn}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for whether to use old energy model for comparative structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga2a5bbfc1edf33077e39466d2d9807115}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_OLD\_EN}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This option is outdated. Activating the old energy model usually results in worse consensus structure predictions.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_oldAliEn\_get (C function)@\spxentry{vrna\_md\_defaults\_oldAliEn\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_oldAliEn_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga2374492b5019df88022fe4c05f0f3630}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_oldAliEn\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for whether to use old energy model for comparative structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga41521d5b9fb7e0f31e7ea73f5792afab}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_oldAliEn()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga2a5bbfc1edf33077e39466d2d9807115}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_OLD\_EN}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for using old energy model for comparative structure prediction 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_ribo (C function)@\spxentry{vrna\_md\_defaults\_ribo}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_ribo}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga937c45e1d06fd6168730a9b08d130be3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_ribo}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{flag}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default behavior for whether to use Ribosum Scoring in comparative structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga64b3ab65a9ca42d4ad1d05e193083147}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_RIBO}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{flag}} \textendash{} On/Off switch (0 = OFF, else = ON) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_ribo\_get (C function)@\spxentry{vrna\_md\_defaults\_ribo\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_ribo_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga169027f0c0561ea7d87b655e4b336bfc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_ribo\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get default behavior for whether to use Ribosum Scoring in comparative structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga937c45e1d06fd6168730a9b08d130be3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_ribo()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga64b3ab65a9ca42d4ad1d05e193083147}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_RIBO}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for using Ribosum scoring in comparative structure prediction 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_cv\_fact (C function)@\spxentry{vrna\_md\_defaults\_cv\_fact}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_cv_fact}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad3a3f40baafd91a6ce80a91a68e20053}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_cv\_fact}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{factor}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the default co\sphinxhyphen{}variance scaling factor used in comparative structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaaaf3d73d6abc18d3889676952bfedb96}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_CV\_FACT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{factor}} \textendash{} The co\sphinxhyphen{}variance factor 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_cv\_fact\_get (C function)@\spxentry{vrna\_md\_defaults\_cv\_fact\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_cv_fact_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gae59c68393807217b0a2497adb64d3ee3}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_cv\_fact\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the default co\sphinxhyphen{}variance scaling factor used in comparative structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gad3a3f40baafd91a6ce80a91a68e20053}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_cv\_fact()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaaaf3d73d6abc18d3889676952bfedb96}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_CV\_FACT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings for the co\sphinxhyphen{}variance factor 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_nc\_fact (C function)@\spxentry{vrna\_md\_defaults\_nc\_fact}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_nc_fact}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gac35e596c850dce3ad55c49119fd7d471}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_nc\_fact}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{factor}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8f774daaafec28160c1ca5d09f2cbdba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_NC\_FACT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{factor}}

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_nc\_fact\_get (C function)@\spxentry{vrna\_md\_defaults\_nc\_fact\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_nc_fact_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga7ac759eaa7159bf5f022745f5da59508}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_nc\_fact\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gac35e596c850dce3ad55c49119fd7d471}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_nc\_fact()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8f774daaafec28160c1ca5d09f2cbdba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MODEL\_DEFAULT\_ALI\_NC\_FACT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_sfact (C function)@\spxentry{vrna\_md\_defaults\_sfact}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_sfact}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga3f73d3029d3d0025d4cc311510cd95a3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_sfact}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{factor}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the default scaling factor used to avoid under\sphinxhyphen{}/overflows in partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{factor}} \textendash{} The scaling factor (default: 1.07) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_sfact\_get (C function)@\spxentry{vrna\_md\_defaults\_sfact\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_sfact_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gab2df6aab954b63fd3592d18e90285dae}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_sfact\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the default scaling factor used to avoid under\sphinxhyphen{}/overflows in partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga3f73d3029d3d0025d4cc311510cd95a3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_sfact()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The global default settings of the scaling factor 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_salt (C function)@\spxentry{vrna\_md\_defaults\_salt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_salt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gabfb475999a35e9af42b21326a9edca12}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_salt}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{salt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the default salt concentration. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} \textendash{} The sodium concentration in M (default: 1.021) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_salt\_get (C function)@\spxentry{vrna\_md\_defaults\_salt\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_salt_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga28eb9dd2f11828da7cc25b93884c965f}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_salt\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the default salt concentration. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The default salt concentration 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltMLLower (C function)@\spxentry{vrna\_md\_defaults\_saltMLLower}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltMLLower}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga807b1615aea57f61cc0a269065beface}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltMLLower}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{lower}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the default multiloop size lower bound for loop salt correciton linear fitting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{lower}} \textendash{} Size lower bound (number of backbone in loop) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltMLLower\_get (C function)@\spxentry{vrna\_md\_defaults\_saltMLLower\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltMLLower_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga0813eb58f9382ae92642016960a4a781}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltMLLower\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the default multiloop size lower bound for loop salt correciton linear fitting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The default lower bound 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltMLUpper (C function)@\spxentry{vrna\_md\_defaults\_saltMLUpper}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltMLUpper}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaf4d0ae6115687f13d4ccabcd3b45ad7c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltMLUpper}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{upper}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the default multiloop size upper bound for loop salt correciton linear fitting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{upper}} \textendash{} Size Upper bound (number of backbone in loop) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltMLUpper\_get (C function)@\spxentry{vrna\_md\_defaults\_saltMLUpper\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltMLUpper_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga28bc6652930e82ca1b105e419f6f4595}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltMLUpper\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the default multiloop size upper bound for loop salt correciton linear fitting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The default upper bound 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltDPXInit (C function)@\spxentry{vrna\_md\_defaults\_saltDPXInit}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltDPXInit}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaaa7cca6b6a021221d56a7ee3b2b9b10c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltDPXInit}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{value}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set user\sphinxhyphen{}provided salt correciton for duplex initialization If value is 99999 the default value from fitting is used. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} The value of salt correction for duplex initialization (in dcal/mol) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltDPXInit\_get (C function)@\spxentry{vrna\_md\_defaults\_saltDPXInit\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltDPXInit_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga02e0db8bf2345c12c28913af1a92186c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltDPXInit\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get user\sphinxhyphen{}provided salt correciton for duplex initialization If value is 99999 the default value from fitting is used. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The user\sphinxhyphen{}provided salt correction for duplex initialization 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltDPXInitFact (C function)@\spxentry{vrna\_md\_defaults\_saltDPXInitFact}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltDPXInitFact}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gab33bd5d2d3170e2e36ab3d7c81f4b35f}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltDPXInitFact}}}}
{\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{value}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_saltDPXInitFact\_get (C function)@\spxentry{vrna\_md\_defaults\_saltDPXInitFact\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_saltDPXInitFact_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga8a11417e5b8683e973effa4d874b0d68}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_saltDPXInitFact\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_helical\_rise (C function)@\spxentry{vrna\_md\_defaults\_helical\_rise}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_helical_rise}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gafdbc3fc166c2d72df0ed2609a7ec6069}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_helical\_rise}}}}
{\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{value}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_helical\_rise\_get (C function)@\spxentry{vrna\_md\_defaults\_helical\_rise\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_helical_rise_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gab9bb1dfeeb4aea4644b34d332cb5ec53}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_helical\_rise\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_backbone\_length (C function)@\spxentry{vrna\_md\_defaults\_backbone\_length}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_backbone_length}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad7cc34b70d275f5c7211dd2aa62f6c3c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_backbone\_length}}}}
{\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{value}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_backbone\_length\_get (C function)@\spxentry{vrna\_md\_defaults\_backbone\_length\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_backbone_length_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gacdafdf6d361ee6a9abb46622986c9016}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_backbone\_length\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_circ\_alpha0 (C function)@\spxentry{vrna\_md\_defaults\_circ\_alpha0}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_circ_alpha0}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaa9e920d3277fdbd25a240db9a7c435cc}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_circ\_alpha0}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{a0}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_defaults\_circ\_alpha0\_get (C function)@\spxentry{vrna\_md\_defaults\_circ\_alpha0\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_defaults_circ_alpha0_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga53ce984830640c940f101e0cb2077ba0}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_defaults\_circ\_alpha0\_get}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{set\_model\_details (C function)@\spxentry{set\_model\_details}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.set_model_details}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gabad896c3650d420f3f3ddefc69e2bceb}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{set\_model\_details}}}}
{{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set default model details. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function if you wish to initialize a {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} data structure with its default values, i.e. the global model settings as provided by the deprecated global variables.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000090}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will vanish as soon as backward compatibility of RNAlib is dropped (expected in version 3). Use {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to the data structure that is about to be initialized 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{option\_string (C function)@\spxentry{option\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.option_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaff4caf2154e6f189a7c09008cefa67a8}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{option\_string}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{cv\_fact (C var)@\spxentry{cv\_fact}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.cv_fact}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaf3cbac6ff5d706d6e414677841ddf94c}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cv\_fact}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
This variable controls the weight of the covariance term in the energy function of alignment folding algorithms. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000016}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a62ebefb9d0643e5c4c8a2ec84a105ce6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.cv\_fact}}}}}, and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} to avoid using global variables

\end{fulllineitems}



\sphinxAtStartPar
Default is 1. 

\end{fulllineitems}

\index{nc\_fact (C var)@\spxentry{nc\_fact}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.nc_fact}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga502948a122a2af5b914355b1f3ea2f61}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{nc\_fact}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
This variable controls the magnitude of the penalty for non\sphinxhyphen{}compatible sequences in the covariance term of alignment folding algorithms. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abcf568e6124bfcb2f847ff4eb0dfded6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.nc\_fact}}}}}, and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} to avoid using global variables

\end{fulllineitems}



\sphinxAtStartPar
Default is 1. 

\end{fulllineitems}

\index{temperature (C var)@\spxentry{temperature}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{temperature}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Rescale energy parameters to a temperature in degC. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Default is 37C. You have to call the update\_…\_params() functions after changing this parameter.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000089}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf9e527e9a2f7e6fd6e42bc6e602f5445}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_temperature()}}}}}, and {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga96b24a74437f9ba46c4e06343155bf46}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_temperature\_get()}}}}} to change, and read the global default temperature settings

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf9e527e9a2f7e6fd6e42bc6e602f5445}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_temperature()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga96b24a74437f9ba46c4e06343155bf46}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_temperature\_get()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga70834424cf804d149937de89f80ceb45}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_reset()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{pf\_scale (C var)@\spxentry{pf\_scale}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.pf_scale}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad3b22044065acc6dee0af68931b52cfd}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_scale}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A scaling factor used by {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} to avoid overflows. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Should be set to approximately \(exp{((-F/kT)/length)}\), where \(F\) is an estimate for the ensemble free energy, for example the minimum free energy. You must call {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga384e927890f9c034ff09fa66da102d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_pf\_params()}}}}}
\sphinxAtStartPar
after changing this parameter.

\sphinxAtStartPar
If pf\_scale is \sphinxhyphen{}1 (the default) , an estimate will be provided automatically when computing partition functions, e.g.
{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} The automatic estimate is usually insufficient for sequences more than a few hundred bases long. 

\end{fulllineitems}

\index{dangles (C var)@\spxentry{dangles}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.dangles}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga72b511ed1201f7e23ec437e468790d74}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dangles}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Switch the energy model for dangling end contributions (0, 1, 2, 3). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If set to 0 no stabilizing energies are assigned to bases adjacent to helices in free ends and multiloops (so called dangling ends). Normally (dangles = 1) dangling end energies are assigned only to unpaired bases and a base cannot participate simultaneously in two dangling ends. In the partition function algorithm {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} these checks are neglected. If {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga72b511ed1201f7e23ec437e468790d74}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{dangles}}}}}
\sphinxAtStartPar
is set to 2, all folding routines will follow this convention. This treatment of dangling ends gives more favorable energies to helices directly adjacent to one another, which can be beneficial since such helices often do engage in stabilizing interactions through co\sphinxhyphen{}axial stacking.

\sphinxAtStartPar
If dangles = 3 co\sphinxhyphen{}axial stacking is explicitly included for adjacent helices in multiloops. The option affects only mfe folding and energy evaluation (
{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold()}}}}} and {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf93986cb3cb29770ec9cca69c9fab8cf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure()}}}}}), as well as suboptimal folding ({\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt()}}}}}) via re\sphinxhyphen{}evaluation of energies. Co\sphinxhyphen{}axial stacking with one intervening mismatch is not considered so far.

\sphinxAtStartPar
Default is 2 in most algorithms, partition function algorithms can only handle 0 and 2 

\end{fulllineitems}

\index{tetra\_loop (C var)@\spxentry{tetra\_loop}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.tetra_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga4f6265bdf0ead7ff4628a360adbfd77e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{tetra\_loop}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Include special stabilizing energies for some tri\sphinxhyphen{}, tetra\sphinxhyphen{} and hexa\sphinxhyphen{}loops;. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
default is 1. 

\end{fulllineitems}

\index{noLonelyPairs (C var)@\spxentry{noLonelyPairs}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.noLonelyPairs}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga097eccaabd6ae8b4fef83cccff85bb5d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{noLonelyPairs}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Global switch to avoid/allow helices of length 1. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Disallow all pairs which can only occur as lonely pairs (i.e. as helix of length 1). This avoids lonely base pairs in the predicted structures in most cases. 

\end{fulllineitems}

\index{noGU (C var)@\spxentry{noGU}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.noGU}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gabf380d09e4f1ab94fc6af57cf0ad5d32}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{noGU}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Global switch to forbid/allow GU base pairs at all. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{no\_closingGU (C var)@\spxentry{no\_closingGU}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.no_closingGU}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaa8d1c7b92489179e1eafa562b7bdd259}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{no\_closingGU}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
GU allowed only inside stacks if set to 1. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{circ (C var)@\spxentry{circ}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.circ}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gaf9202a1a09f5828dc731e2d9a10fa111}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{circ}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
backward compatibility variable.. this does not effect anything 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{gquad (C var)@\spxentry{gquad}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga25f2bdcdf56e813d288845484a13d704}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gquad}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Allow G\sphinxhyphen{}quadruplex formation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{uniq\_ML (C var)@\spxentry{uniq\_ML}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.uniq_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga6c5655c8b272e3e6cab74dd0f540294f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{uniq\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
do ML decomposition uniquely (for subopt) 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{energy\_set (C var)@\spxentry{energy\_set}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.energy_set}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gafb1ef1166da85092ae8a325e02dcae71}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_set}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
0 = BP; 1=any with GC; 2=any with AU\sphinxhyphen{}parameter 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If set to 1 or 2: fold sequences from an artificial alphabet ABCD…, where A pairs B, C pairs D, etc. using either GC (1) or AU parameters (2); default is 0, you probably don’t want to change it. 

\end{fulllineitems}

\index{do\_backtrack (C var)@\spxentry{do\_backtrack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.do_backtrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gad512b5dd4dbec60faccfe137bb474489}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{do\_backtrack}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
do backtracking, i.e. compute secondary structures or base pair probabilities 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If 0, do not calculate pair probabilities in {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}; this is about twice as fast. Default is 1. 

\end{fulllineitems}

\index{backtrack\_type (C var)@\spxentry{backtrack\_type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.backtrack_type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga83bdb43472a259c71e69fa9f70f420c3}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backtrack\_type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A backtrack array marker for {\hyperref[\detokenize{inverse:group__inverse__fold_1ga7af026de55d4babad879f2c92559cbbc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{inverse\_fold()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If set to ‘C’: force (1,N) to be paired, ‘M’ fold as if the sequence were inside a multiloop. Otherwise (‘F’) the usual mfe structure is computed. 

\end{fulllineitems}

\index{nonstandards (C var)@\spxentry{nonstandards}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.nonstandards}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga2695d91cc535d09c2eae5c3884e2ec64}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{nonstandards}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains allowed non standard base pairs 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Lists additional base pairs that will be allowed to form in addition to GC, CG, AU, UA, GU and UG. Nonstandard base pairs are given a stacking energy of 0. 

\end{fulllineitems}

\index{max\_bp\_span (C var)@\spxentry{max\_bp\_span}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.max_bp_span}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga18df869af0d70101106458fc3f027806}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{max\_bp\_span}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum allowed base pair span. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
A value of \sphinxhyphen{}1 indicates no restriction for distant base pairs. 

\end{fulllineitems}

\index{oldAliEn (C var)@\spxentry{oldAliEn}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.oldAliEn}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gac408868ba00671cbc7d1d535105af045}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{oldAliEn}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
use old alifold energies (with gaps) 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{ribo (C var)@\spxentry{ribo}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.ribo}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga0656afca1d2853f9ee6591172f5638de}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ribo}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
use ribosum matrices 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{cv\_fact (C var)@\spxentry{cv\_fact}\spxextra{C var}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:id0}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cv\_fact}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{nc\_fact (C var)@\spxentry{nc\_fact}\spxextra{C var}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:id1}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{nc\_fact}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{logML (C var)@\spxentry{logML}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.logML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga80c3c5fd35e7479704cc91d2d0367743}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{logML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
if nonzero use logarithmic ML energy in energy\_of\_struct 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{salt (C var)@\spxentry{salt}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.salt}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1ga59bc4fe917f2ad11376d083260e289da}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{salt}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
salt concentration 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{saltDPXInit (C var)@\spxentry{saltDPXInit}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.saltDPXInit}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gafd2b9a6a1d42a6bf2b8be99a4b44dc7e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{saltDPXInit}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Salt correction for duplex initialization. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{helical\_rise (C var)@\spxentry{helical\_rise}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.helical_rise}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gabb3f00c97700606dd80705404911318a}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{helical\_rise}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{backbone\_length (C var)@\spxentry{backbone\_length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.backbone_length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:group__model__details_1gac1bcc01a720eba0abe6caa1bf97a8f7d}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backbone\_length}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_md\_s (C struct)@\spxentry{vrna\_md\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_md\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/model.h\textgreater{}}
\sphinxAtStartPar
The data structure that contains the complete model details used throughout the calculations. 

\sphinxAtStartPar
For convenience reasons, we provide the type name {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} to address this data structure without the use of the struct keyword

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000127}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
This data structure is wrapped as an object \sphinxcode{\sphinxupquote{md}} with multiple related functions attached as methods.

\sphinxAtStartPar
A new set of default parameters can be obtained by calling the constructure of \sphinxcode{\sphinxupquote{md:}}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{md()}} \textendash{} Initialize with default settings

\end{itemize}


\sphinxAtStartPar
The resulting object has a list of attached methods which directly correspond to functions that mainly operate on the corresponding \sphinxstyleemphasis{C} data structure:

\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{reset()}} \sphinxhyphen{} {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{set\_from\_globals()}} \sphinxhyphen{} {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabad896c3650d420f3f3ddefc69e2bceb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{set\_model\_details()}}}}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{option\_string()}} \sphinxhyphen{} {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga2207e3b40295825655c629421fe8f349}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_option\_string()}}}}}

\end{itemize}


\sphinxAtStartPar



\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabad896c3650d420f3f3ddefc69e2bceb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{set\_model\_details()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga36ae40b8c3b82362f5798ad5b047b814}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_update()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_md\_s.temperature (C var)@\spxentry{vrna\_md\_s.temperature}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a5f7e5c2b65bada5188443470e576aa4b}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{temperature}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The temperature used to scale the thermodynamic parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.betaScale (C var)@\spxentry{vrna\_md\_s.betaScale}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.betaScale}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a19524bf1d8d7ab590ed36edbbcaaba2c}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{betaScale}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A scaling factor for the thermodynamic temperature of the Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.pf\_smooth (C var)@\spxentry{vrna\_md\_s.pf\_smooth}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.pf_smooth}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a97b9f2fa2d157c65413d33b1beb5159d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_smooth}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A flat specifying whether energies in Boltzmann factors need to be smoothed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.dangles (C var)@\spxentry{vrna\_md\_s.dangles}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.dangles}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1adcda4ff2ea77748ae0e8700288282efc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dangles}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Specifies the dangle model used in any energy evaluation (0,1,2 or 3). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If set to 0 no stabilizing energies are assigned to bases adjacent to helices in free ends and multiloops (so called dangling ends). Normally (dangles = 1) dangling end energies are assigned only to unpaired bases and a base cannot participate simultaneously in two dangling ends. In the partition function algorithm {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}
\sphinxAtStartPar
these checks are neglected. To provide comparability between free energy minimization and partition function algorithms, the default setting is 2. This treatment of dangling ends gives more favorable energies to helices directly adjacent to one another, which can be beneficial since such helices often do engage in stabilizing interactions through co\sphinxhyphen{}axial stacking.

\sphinxAtStartPar
If set to 3 co\sphinxhyphen{}axial stacking is explicitly included for adjacent helices in multiloops. The option affects only mfe folding and energy evaluation (
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}), as well as suboptimal folding ({\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gad0cce16455fda0737873d8e1c5846480}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt()}}}}}) via re\sphinxhyphen{}evaluation of energies. Co\sphinxhyphen{}axial stacking with one intervening mismatch is not considered so far. Note, that some function do not implement all dangle model but only a subset of (0,1,2,3). In particular, partition function algorithms can only handle 0 and 2. Read the documentation of the particular recurrences or energy evaluation function for information about the provided dangle model. 

\end{fulllineitems}

\index{vrna\_md\_s.special\_hp (C var)@\spxentry{vrna\_md\_s.special\_hp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.special_hp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1add64a96d23e77ef1d0ddf8dfc5228143}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{special\_hp}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Include special hairpin contributions for tri, tetra and hexaloops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.noLP (C var)@\spxentry{vrna\_md\_s.noLP}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.noLP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a753200bf21cee0ea2df64afe43999f5d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{noLP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Only consider canonical structures, i.e. no ‘lonely’ base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.noGU (C var)@\spxentry{vrna\_md\_s.noGU}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.noGU}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1ad64a5eaf9c4550e7525b36a725fec4b2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{noGU}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.noGUclosure (C var)@\spxentry{vrna\_md\_s.noGUclosure}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.noGUclosure}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a7e883db1f33f8f3baa5c9b140350c78e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{noGUclosure}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Do not allow loops to be closed by GU pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.logML (C var)@\spxentry{vrna\_md\_s.logML}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.logML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1ae259f89a94acae0c7f1412603e7f57b5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{logML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use logarithmic scaling for multiloops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.circ (C var)@\spxentry{vrna\_md\_s.circ}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.circ}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a92762e1008503d4623ff5c01e358a464}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{circ}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Assume RNA to be circular instead of linear. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.circ\_penalty (C var)@\spxentry{vrna\_md\_s.circ\_penalty}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.circ_penalty}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a164a185e23c3d11492d8844da9457ce0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{circ\_penalty}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an entropic penalty to the unpaired circRNA chain. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.gquad (C var)@\spxentry{vrna\_md\_s.gquad}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1af88a511a2b1f526b4c6213de6cb8fd6e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gquad}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Include G\sphinxhyphen{}quadruplexes in structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.uniq\_ML (C var)@\spxentry{vrna\_md\_s.uniq\_ML}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.uniq_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{uniq\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to ensure unique multi\sphinxhyphen{}branch loop decomposition during folding. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.energy\_set (C var)@\spxentry{vrna\_md\_s.energy\_set}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.energy_set}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a5eee4e3b468eb690d1407e0178dafb3f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_set}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Specifies the energy set that defines set of compatible base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.backtrack (C var)@\spxentry{vrna\_md\_s.backtrack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.backtrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a31f4471608cbdd03887f63c281823adb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backtrack}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Specifies whether or not secondary structures should be backtraced. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.backtrack\_type (C var)@\spxentry{vrna\_md\_s.backtrack\_type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.backtrack_type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1abb265da25121d22ed11c8435861f0e53}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backtrack\_type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Specifies in which matrix to backtrack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.compute\_bpp (C var)@\spxentry{vrna\_md\_s.compute\_bpp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.compute_bpp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1aa0c3e03d9064363e27adcc92b8d0380f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{compute\_bpp}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Specifies whether or not backward recursions for base pair probability (bpp) computation will be performed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.nonstandards (C var)@\spxentry{vrna\_md\_s.nonstandards}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.nonstandards}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a3fde4ac9eaf972f503c7a76726cefb59}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{nonstandards}}}\DUrole{p}{{[}}\DUrole{m}{64}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains allowed non standard bases 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.max\_bp\_span (C var)@\spxentry{vrna\_md\_s.max\_bp\_span}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.max_bp_span}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a659e5fcc6e8c9f1a68e7de6548eef3b0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{max\_bp\_span}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
maximum allowed base pair span 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.min\_loop\_size (C var)@\spxentry{vrna\_md\_s.min\_loop\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.min_loop_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a9ed7ba42fcc46915c5c0c524f3d255f5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{min\_loop\_size}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Minimum size of hairpin loops. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The default value for this field is TURN, however, it may be 0 in cofolding context. 

\end{fulllineitems}

\index{vrna\_md\_s.window\_size (C var)@\spxentry{vrna\_md\_s.window\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.window_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1abea42f9229f8d8d6bcbedef316315bfc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{window\_size}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Size of the sliding window for locally optimal structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.oldAliEn (C var)@\spxentry{vrna\_md\_s.oldAliEn}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.oldAliEn}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1ab53aec4503130877973c6111ae6f0f76}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{oldAliEn}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use old alifold energy model. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.ribo (C var)@\spxentry{vrna\_md\_s.ribo}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.ribo}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a3df2ae4bd9c133ef8ab92a53b1d035ec}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ribo}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use ribosum scoring table in alifold energy model. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.cv\_fact (C var)@\spxentry{vrna\_md\_s.cv\_fact}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.cv_fact}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a62ebefb9d0643e5c4c8a2ec84a105ce6}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cv\_fact}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Co\sphinxhyphen{}variance scaling factor for consensus structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.nc\_fact (C var)@\spxentry{vrna\_md\_s.nc\_fact}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.nc_fact}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1abcf568e6124bfcb2f847ff4eb0dfded6}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{nc\_fact}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor to weight co\sphinxhyphen{}variance contributions of non\sphinxhyphen{}canonical pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.sfact (C var)@\spxentry{vrna\_md\_s.sfact}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.sfact}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1ab6f4cabaa9b4726b13592486d5bc21c7}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{sfact}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor for partition function scaling. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.rtype (C var)@\spxentry{vrna\_md\_s.rtype}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.rtype}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1ad082d0fea31e002b90cdfe5e6382f8b0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{rtype}}}\DUrole{p}{{[}}\DUrole{m}{8}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Reverse base pair type array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.alias (C var)@\spxentry{vrna\_md\_s.alias}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.alias}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a66136cf9abc8ff790ec0d33245d68fd5}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{alias}}}\DUrole{p}{{[}}{\hyperref[\detokenize{grammar/model_details:c.MAXALPHA}]{\sphinxcrossref{\DUrole{n}{MAXALPHA}}}}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
alias of an integer nucleotide representation 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.pair (C var)@\spxentry{vrna\_md\_s.pair}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.pair}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1ab4da594c638707e212f64aadb54a7454}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pair}}}\DUrole{p}{{[}}{\hyperref[\detokenize{grammar/model_details:c.MAXALPHA}]{\sphinxcrossref{\DUrole{n}{MAXALPHA}}}}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}\DUrole{p}{{[}}{\hyperref[\detokenize{grammar/model_details:c.MAXALPHA}]{\sphinxcrossref{\DUrole{n}{MAXALPHA}}}}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Integer representation of a base pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.pair\_dist (C var)@\spxentry{vrna\_md\_s.pair\_dist}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.pair_dist}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a94bb8f9342aa99d9669c34426f6ef69c}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pair\_dist}}}\DUrole{p}{{[}}\DUrole{m}{7}\DUrole{p}{{]}}\DUrole{p}{{[}}\DUrole{m}{7}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Base pair dissimilarity, a.k.a. distance matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.salt (C var)@\spxentry{vrna\_md\_s.salt}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.salt}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a66193a872ba929c87915bcd6d7e540d2}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{salt}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Salt (monovalent) concentration (M) in buffer. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.saltMLLower (C var)@\spxentry{vrna\_md\_s.saltMLLower}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.saltMLLower}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1acf367f80a54bd135a3f889e17bd670a3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{saltMLLower}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Lower bound of multiloop size to use in loop salt correction linear fitting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.saltMLUpper (C var)@\spxentry{vrna\_md\_s.saltMLUpper}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.saltMLUpper}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a7bc6a05de301754eb5b95a620a72a60a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{saltMLUpper}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Upper bound of multiloop size to use in loop salt correction linear fitting. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.saltDPXInit (C var)@\spxentry{vrna\_md\_s.saltDPXInit}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.saltDPXInit}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a467b2618649b277a8843967861e2d287}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{saltDPXInit}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
User\sphinxhyphen{}provided salt correction for duplex initialization (in dcal/mol). If set to 99999 the default salt correction is used. If set to 0 there is no salt correction for duplex initialization. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.saltDPXInitFact (C var)@\spxentry{vrna\_md\_s.saltDPXInitFact}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.saltDPXInitFact}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a510fc89055e7c2bf15bfa9a327256579}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{saltDPXInitFact}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.helical\_rise (C var)@\spxentry{vrna\_md\_s.helical\_rise}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.helical_rise}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a6a78867b9eb35045f3624e4c23ed59a7}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{helical\_rise}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.backbone\_length (C var)@\spxentry{vrna\_md\_s.backbone\_length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.backbone_length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1a26e1297d205ddb8722cb1f0a2fa2da6e}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backbone\_length}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_md\_s.circ\_alpha0 (C var)@\spxentry{vrna\_md\_s.circ\_alpha0}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/model_details:c.vrna_md_s.circ_alpha0}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/model_details:structvrna__md__s_1afe548d04402fc763e62b9d1930afd2fb}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{circ\_alpha0}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/model.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Secondary Structure Constraints}
\label{\detokenize{grammar/constraints:secondary-structure-constraints}}\label{\detokenize{grammar/constraints::doc}}
\sphinxAtStartPar
Secondary structure constraints provide an easy control of which structures
the prediction algorithms actually include into their solution space and how
these structures are evaluated.

\sphinxstepscope


\subsubsection{Hard Constraints}
\label{\detokenize{grammar/constraints/hard:hard-constraints}}\label{\detokenize{grammar/constraints/hard::doc}}
\sphinxAtStartPar
This module covers all functionality for hard constraints in secondary
structure prediction.

\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/hard:id1}}{\hyperref[\detokenize{grammar/constraints/hard:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/hard:id2}}{\hyperref[\detokenize{grammar/constraints/hard:hard-constraints-api}]{\sphinxcrossref{Hard Constraints API}}}

\end{itemize}
\end{sphinxcontents}


\paragraph{Introduction}
\label{\detokenize{grammar/constraints/hard:introduction}}
\sphinxAtStartPar
Hard constraints as implemented in our library can be specified for individual loop
types, i.e. the atomic derivations of the RNA folding grammar rules. Hence, the pairing
behavior of both, single nucleotides and pairs of bases, can be constrained in every
loop context separately. Additionally, an abstract implementation using a callback
mechanism allows for full control of more complex hard constraints.


\paragraph{Hard Constraints API}
\label{\detokenize{grammar/constraints/hard:hard-constraints-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_CONSTRAINT\_DB (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4bfc2f15c4f261c62a11af9d2aa80c90}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag for {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}} to indicate that constraint is passed in pseudo dot\sphinxhyphen{}bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_ENFORCE\_BP (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_ENFORCE\_BP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_ENFORCE_BP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga29ebe940110d60ab798fdacbcdbbfb7d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_ENFORCE\_BP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Switch for dot\sphinxhyphen{}bracket structure constraint to enforce base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag should be used to really enforce base pairs given in dot\sphinxhyphen{}bracket constraint rather than just weakly\sphinxhyphen{}enforcing them.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_PIPE (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_PIPE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_PIPE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga13053547a2de5532b64b64d35e097ae1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_PIPE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag that is used to indicate the pipe ‘|’ sign in pseudo dot\sphinxhyphen{}bracket notation of hard constraints. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this definition to indicate the pipe sign ‘|’ (paired with another base)

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_DOT (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_DOT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_DOT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga369bea82eae75fbe626f409fa425747e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_DOT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
dot ‘.’ switch for structure constraints (no constraint at all) 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_X (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_X}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_X}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga7283bbe0f8954f7b030ecc3f2d1932b2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_X}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
‘x’ switch for structure constraint (base must not pair) 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_RND\_BRACK (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_RND_BRACK}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1gac17b034852c914bc5879954c65d7e74b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
round brackets ‘(‘,’)’ switch for structure constraint (base i pairs base j) 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_INTRAMOL (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_INTRAMOL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_INTRAMOL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga5c17253f5a39d1d49b0fb11f5196982a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_INTRAMOL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag that is used to indicate the character ‘l’ in pseudo dot\sphinxhyphen{}bracket notation of hard constraints. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this definition to indicate the usage of ‘l’ character (intramolecular pairs only)

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_INTERMOL (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_INTERMOL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_INTERMOL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga31d0ebb9755ca8a4acafc14f00ca755d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_INTERMOL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag that is used to indicate the character ‘e’ in pseudo dot\sphinxhyphen{}bracket notation of hard constraints. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this definition to indicate the usage of ‘e’ character (intermolecular pairs only)

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_GQUAD (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_GQUAD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_GQUAD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga75cfab03cdc97c95b3ce8bb29f52b08e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_GQUAD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
‘+’ switch for structure constraint (base is involved in a gquad) 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This flag is for future purposes only! No implementation recognizes it yet. 
\end{sphinxadmonition}

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_WUSS (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_WUSS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_WUSS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga10ce6bd2355945f3c8161b7a30a2c322}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_WUSS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate Washington University Secondary Structure (WUSS) notation of the hard constraint string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This secondary structure notation for RNAs is usually used as consensus secondary structure (SS\_cons) entry in Stockholm formatted files 

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_DB\_DEFAULT (C macro)@\spxentry{VRNA\_CONSTRAINT\_DB\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_DB_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga1c3864bdc92147a4d93de2b1b4356177}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_DB\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Switch for dot\sphinxhyphen{}bracket structure constraint with default symbols. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag conveniently combines all possible symbols in dot\sphinxhyphen{}bracket notation for hard constraints and {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4bfc2f15c4f261c62a11af9d2aa80c90}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB}}}}}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP (C macro)@\spxentry{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_EXT_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Hard constraints flag, base pair in the exterior loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP (C macro)@\spxentry{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_HP_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Hard constraints flag, base pair encloses hairpin loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP (C macro)@\spxentry{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_INT_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Hard constraints flag, base pair encloses an internal loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC (C macro)@\spxentry{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga0536288e04ff6332ecdc23ca4705402b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Hard constraints flag, base pair encloses a multi branch loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP (C macro)@\spxentry{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_MB_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Hard constraints flag, base pair is enclosed in an internal loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC (C macro)@\spxentry{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga02a3d703ddbcfce393e4bbfcb9db7077}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Hard constraints flag, base pair is enclosed in a multi branch loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS (C macro)@\spxentry{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga886d9127c49bb982a4b67cd7581e8a5a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Constraint context flag indicating any loop context. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_hc\_t (C type)@\spxentry{vrna\_hc\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1gac7e4c4f8abe3163a68110c5bff24e01d}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{grammar/constraints/hard:c.vrna_hc_s}]{\sphinxcrossref{\DUrole{n}{vrna\_hc\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the hard constraints data structure {\hyperref[\detokenize{grammar/constraints/hard:structvrna__hc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_up\_t (C type)@\spxentry{vrna\_hc\_up\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_up_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga8cd53427a942a81c87ec526bbff32ef9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{grammar/constraints/hard:c.vrna_hc_up_s}]{\sphinxcrossref{\DUrole{n}{vrna\_hc\_up\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_up\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the single nucleotide hard constraint data structure {\hyperref[\detokenize{grammar/constraints/hard:structvrna__hc__up__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_up\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_eval\_f (C type)@\spxentry{vrna\_hc\_eval\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_eval_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga23a523332de2867a1568a0229345ab80}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_eval\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{d}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to evaluate whether or not a particular decomposition step is contributing to the solution space. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the prototype for callback functions used by the folding recursions to evaluate generic hard constraints. The first four parameters passed indicate the delimiting nucleotide positions of the decomposition, and the parameter \sphinxcode{\sphinxupquote{denotes}} the decomposition step. The last parameter \sphinxcode{\sphinxupquote{data}} is the auxiliary data structure associated to the hard constraints via {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaba4f4528b605d0b18ac5b3153ee93eae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_data()}}}}}, or NULL if no auxiliary data was added.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000010}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback enables one to over\sphinxhyphen{}rule default hard constraints in secondary structure decompositions. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_HP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaeab04f34d7730cff2d651d782f95d857}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_IL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa15b1185673f0b9e900c4748d45f388f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4a23054c75d8efc785de50e3ea87602f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4fe48d575830b16c208e280e01ab1497}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_COAXIAL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga437adf5115c1999304eff26b41e4c9b6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaff1ddaffe86d984623910b40cc8a8717}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gabb09c5b78b75a44502fc77b950125c1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga06efd054c9271438f6d82d4559d9e69f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga2e75d7a77118735b32f25422d9686719}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM1}}}}}, vrna\_hc\_add\_f(), {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaba4f4528b605d0b18ac5b3153ee93eae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_data()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param i}
\sphinxAtStartPar
Left (5’) delimiter position of substructure 

\sphinxlineitem{Param j}
\sphinxAtStartPar
Right (3’) delimiter position of substructure 

\sphinxlineitem{Param k}
\sphinxAtStartPar
Left delimiter of decomposition 

\sphinxlineitem{Param l}
\sphinxAtStartPar
Right delimiter of decomposition 

\sphinxlineitem{Param d}
\sphinxAtStartPar
Decomposition step indicator 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Auxiliary data 

\sphinxlineitem{Return}
\sphinxAtStartPar
A non\sphinxhyphen{}zero value if the decomposition is valid, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_constraints\_add (C function)@\spxentry{vrna\_constraints\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_constraints_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_constraints\_add}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{constraint}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add constraints to a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function to add/update the hard/soft constraints The function allows for passing a string ‘constraint’ that can either be a filename that points to a constraints definition file or it may be a pseudo dot\sphinxhyphen{}bracket notation indicating hard constraints. For the latter, the user has to pass the {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4bfc2f15c4f261c62a11af9d2aa80c90}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB}}}}} option. Also, the user has to specify, which characters are allowed to be interpreted as constraints by passing the corresponding options via the third parameter.

\sphinxAtStartPar
The following is an example for adding hard constraints given in pseudo dot\sphinxhyphen{}bracket notation. Here, \sphinxcode{\sphinxupquote{fc}} is the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} object, \sphinxcode{\sphinxupquote{structure}} is a char array with the hard constraint in dot\sphinxhyphen{}bracket notation, and \sphinxcode{\sphinxupquote{enforceConstraints}} is a flag indicating whether or not constraints for base pairs should be enforced instead of just doing a removal of base pair that conflict with the constraint.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kt}{unsigned}\PYG{+w}{ }\PYG{k+kt}{int}\PYG{+w}{ }\PYG{n}{constraint\PYGZus{}options}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}CONSTRAINT\PYGZus{}DB\PYGZus{}DEFAULT}\PYG{p}{;}

\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{enforceConstraints}\PYG{p}{)}
\PYG{+w}{        }\PYG{n}{constraint\PYGZus{}options}\PYG{+w}{ }\PYG{o}{|}\PYG{o}{=}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}CONSTRAINT\PYGZus{}DB\PYGZus{}ENFORCE\PYGZus{}BP}\PYG{p}{;}

\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{canonicalBPonly}\PYG{p}{)}
\PYG{+w}{        }\PYG{n}{constraint\PYGZus{}options}\PYG{+w}{ }\PYG{o}{|}\PYG{o}{=}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}CONSTRAINT\PYGZus{}DB\PYGZus{}CANONICAL\PYGZus{}BP}\PYG{p}{;}

\PYG{n}{vrna\PYGZus{}constraints\PYGZus{}add}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{p}{(}\PYG{k}{const}\PYG{+w}{ }\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{n}{cstruc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{constraint\PYGZus{}options}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
In constrat to the above, constraints may also be read from file:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}constraints\PYGZus{}add}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{constraints\PYGZus{}file}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaed20a31c4143ffb6b4835cff46d400b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gafe5379c54a6450f028f41d1e78ea5feb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_up\_batch()}}}}} vrna\_hc\_add\_bp\_unspecific(), {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga08b90109b99e3e3916e319bf3e424ec1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}}, {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1gad609895467d59ea53faac4f98b71c099}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_deigan()}}}}}, {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga5a673837ebe42d790bdf3ccf8982d3dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_zarringhalam()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga696dcf77887d856c6f21ea266d8b9ca2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_free()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1ga6d55446448d69346fc313b993c4fb3e8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_free()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4bfc2f15c4f261c62a11af9d2aa80c90}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga1c3864bdc92147a4d93de2b1b4356177}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DEFAULT}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga13053547a2de5532b64b64d35e097ae1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_PIPE}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga369bea82eae75fbe626f409fa425747e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DOT}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga7283bbe0f8954f7b030ecc3f2d1932b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_X}}}}}, VRNA\_CONSTRAINT\_DB\_ANG\_BRACK, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac17b034852c914bc5879954c65d7e74b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga5c17253f5a39d1d49b0fb11f5196982a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTRAMOL}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga31d0ebb9755ca8a4acafc14f00ca755d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTERMOL}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga75cfab03cdc97c95b3ce8bb29f52b08e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_GQUAD}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraint}} \textendash{} A string with either the filename of the constraint definitions or a pseudo dot\sphinxhyphen{}bracket notation of the hard constraint. May be NULL. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The option flags 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_init (C function)@\spxentry{vrna\_hc\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_init}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Initialize/Reset hard constraints to default values. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function resets the hard constraints to their default values, i.e. all positions may be unpaired in all contexts, and base pairs are allowed in all contexts, if they resemble canonical pairs. Previously set hard constraints will be removed before initialization.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000038}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{hc\_init()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga08b90109b99e3e3916e319bf3e424ec1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga719fd082b5c7c6b222916d4378c715a6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp\_nonspecific()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaed20a31c4143ffb6b4835cff46d400b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_up()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_add\_up (C function)@\spxentry{vrna\_hc\_add\_up}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1gaed20a31c4143ffb6b4835cff46d400b0}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_up}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make a certain nucleotide unpaired. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga08b90109b99e3e3916e319bf3e424ec1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga719fd082b5c7c6b222916d4378c715a6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp\_nonspecific()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga886d9127c49bb982a4b67cd7581e8a5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the hard constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The position that needs to stay unpaired (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} The options flag indicating how/where to store the hard constraints 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_add\_up\_strand (C function)@\spxentry{vrna\_hc\_add\_up\_strand}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_up_strand}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1gaec15e527103f5b68258ea4c636fa90d7}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_up\_strand}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{strand}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make a certain nucleotide unpaired. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function puts a constraint onto a single nucleotide to limit or enforce its structural context. The position \sphinxcode{\sphinxupquote{i}} should be given in local coordinates relative to the strand \sphinxcode{\sphinxupquote{strand}} it corresponds to.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga08b90109b99e3e3916e319bf3e424ec1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga719fd082b5c7c6b222916d4378c715a6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp\_nonspecific()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga886d9127c49bb982a4b67cd7581e8a5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
A negative value for the strand number \sphinxcode{\sphinxupquote{strand}} indicates autodetection of the strand number assuming that coordinate i is given as global coordinates for the (current) concatenation of all strands. In this case, the function behaves exactly as {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaed20a31c4143ffb6b4835cff46d400b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_up()}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the hard constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The position that needs to stay unpaired (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{strand}} \textendash{} The strand number of nucleotide \sphinxcode{\sphinxupquote{i}} (0\sphinxhyphen{}based, negative value for autodetect) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} The options flag indicating how/where to store the hard constraints 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_add\_up\_batch (C function)@\spxentry{vrna\_hc\_add\_up\_batch}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_up_batch}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1gafe5379c54a6450f028f41d1e78ea5feb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_up\_batch}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/hard:c.vrna_hc_up_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hc\_up\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{constraints}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply a list of hard constraints for single nucleotides. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the hard constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} \textendash{} The list off constraints to apply, last entry must have position attribute set to 0 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_add\_bp (C function)@\spxentry{vrna\_hc\_add\_bp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_bp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga08b90109b99e3e3916e319bf3e424ec1}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_bp}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Favorize/Enforce a certain base pair (i,j). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga719fd082b5c7c6b222916d4378c715a6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp\_nonspecific()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaed20a31c4143ffb6b4835cff46d400b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga0536288e04ff6332ecdc23ca4705402b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga02a3d703ddbcfce393e4bbfcb9db7077}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}}}}, VRNA\_CONSTRAINT\_CONTEXT\_ENFORCE, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga886d9127c49bb982a4b67cd7581e8a5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the hard constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The 5’ located nucleotide position of the base pair (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} The 3’ located nucleotide position of the base pair (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} The options flag indicating how/where to store the hard constraints 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_add\_bp\_strand (C function)@\spxentry{vrna\_hc\_add\_bp\_strand}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_bp_strand}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4c5149492fdd45ef138f3796e05cefea}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_bp\_strand}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{strand\_i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{strand\_j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Favorize/Enforce a certain base pair (i,j) where i and j may point to different strands. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function adds a base pair constraint for pair (i,j), where the positions i and j are relative to the RNA strands i and j correspond to. For each strand \sphinxcode{\sphinxupquote{strand\_i}} and \sphinxcode{\sphinxupquote{strand\_j}} positions are 1\sphinxhyphen{}based. For instance, if position 5 of strand 0 must pair with position 10 of strand 1, the function call would be 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}hc\PYGZus{}add\PYGZus{}bp}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,} \PYG{l+m+mi}{5}\PYG{p}{,} \PYG{l+m+mi}{10}\PYG{p}{,} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{n}{VRNA\PYGZus{}CONSTRAINT\PYGZus{}CONTEXT\PYGZus{}ALL\PYGZus{}LOOPS} \PYG{o}{|} \PYG{n}{VRNA\PYGZus{}CONSTRAINT\PYGZus{}CONTEXT\PYGZus{}ENFORCE}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar
Negative values for the strand numbers \sphinxcode{\sphinxupquote{strand\_i}} and \sphinxcode{\sphinxupquote{strand\_j}} indicate autodetection of the strand number assuming that coordinates i and/or j are given as global coordinates for the (current) concatenation of all strands

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga719fd082b5c7c6b222916d4378c715a6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp\_nonspecific()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaed20a31c4143ffb6b4835cff46d400b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga08b90109b99e3e3916e319bf3e424ec1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga0536288e04ff6332ecdc23ca4705402b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga02a3d703ddbcfce393e4bbfcb9db7077}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}}}}, VRNA\_CONSTRAINT\_CONTEXT\_ENFORCE, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga886d9127c49bb982a4b67cd7581e8a5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the hard constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The 5’ located nucleotide position of the base pair (1\sphinxhyphen{}based, relative to \sphinxcode{\sphinxupquote{strand\_i}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} The 3’ located nucleotide position of the base pair (1\sphinxhyphen{}based, relative to \sphinxcode{\sphinxupquote{strand\_j}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{strand\_i}} \textendash{} The strand number of pairing partner \sphinxcode{\sphinxupquote{i}} (0\sphinxhyphen{}based, negative value for autodetect) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{strand\_j}} \textendash{} The strand number of pairing partner \sphinxcode{\sphinxupquote{j}} (0\sphinxhyphen{}based, negative value for autodetect) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} The option flag(s) indicating loop types and enforcement of the constraint 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_add\_bp\_nonspecific (C function)@\spxentry{vrna\_hc\_add\_bp\_nonspecific}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_bp_nonspecific}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga719fd082b5c7c6b222916d4378c715a6}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_bp\_nonspecific}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{d}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Enforce a nucleotide to be paired (upstream/downstream). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga08b90109b99e3e3916e319bf3e424ec1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gaed20a31c4143ffb6b4835cff46d400b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga0536288e04ff6332ecdc23ca4705402b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga02a3d703ddbcfce393e4bbfcb9db7077}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga886d9127c49bb982a4b67cd7581e8a5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the hard constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The position that needs to stay unpaired (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{d}} \textendash{} The direction of base pairing ( \( d < 0 \): pairs upstream, \( d > 0 \): pairs downstream, \( d == 0 \): no direction) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} The options flag indicating in which loop type context the pairs may appear 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_free (C function)@\spxentry{vrna\_hc\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1ga696dcf77887d856c6f21ea266d8b9ca2}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_free}}}}
{{\hyperref[\detokenize{grammar/constraints/hard:c.vrna_hc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{hc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free the memory allocated by a {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac7e4c4f8abe3163a68110c5bff24e01d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_t}}}}} data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function to free all memory that was allocated for a data structure of type {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac7e4c4f8abe3163a68110c5bff24e01d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_t}}}}} .

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
get\_hard\_constraints(), {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac7e4c4f8abe3163a68110c5bff24e01d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_t}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_hc\_add\_data (C function)@\spxentry{vrna\_hc\_add\_data}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1gaba4f4528b605d0b18ac5b3153ee93eae}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_data}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{f}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary data structure for the generic hard constraints callback function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_hc\_add\_f()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound the generic hard constraint function should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to the data structure that holds required data for function ‘f’ 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} \textendash{} A pointer to a function that free’s the memory occupied by \sphinxcode{\sphinxupquote{data}} (Maybe \sphinxcode{\sphinxupquote{NULL}}) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hc\_add\_from\_db (C function)@\spxentry{vrna\_hc\_add\_from\_db}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_add_from_db}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_add\_from\_db}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{constraint}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add hard constraints from pseudo dot\sphinxhyphen{}bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to apply hard constraints from a pseudo dot\sphinxhyphen{}bracket notation. The \sphinxcode{\sphinxupquote{options}} parameter controls, which characters are recognized by the parser. Use the {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga1c3864bdc92147a4d93de2b1b4356177}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DEFAULT}}}}} convenience macro, if you want to allow all known characters

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000042}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{hc\_add\_from\_db()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_from_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_from\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga13053547a2de5532b64b64d35e097ae1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_PIPE}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga369bea82eae75fbe626f409fa425747e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DOT}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga7283bbe0f8954f7b030ecc3f2d1932b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_X}}}}}, VRNA\_CONSTRAINT\_DB\_ANG\_BRACK, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac17b034852c914bc5879954c65d7e74b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga5c17253f5a39d1d49b0fb11f5196982a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTRAMOL}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga31d0ebb9755ca8a4acafc14f00ca755d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTERMOL}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga75cfab03cdc97c95b3ce8bb29f52b08e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_GQUAD}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraint}} \textendash{} A pseudo dot\sphinxhyphen{}bracket notation of the hard constraint. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The option flags

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_hc\_s (C struct)@\spxentry{vrna\_hc\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/constraints/hard.h\textgreater{}}
\sphinxAtStartPar
The hard constraints data structure. 

\sphinxAtStartPar
The content of this data structure determines the decomposition pattern used in the folding recursions. Attribute ‘matrix’ is used as source for the branching pattern of the decompositions during all folding recursions. Any entry in matrix{[}i,j{]} consists of the 6 LSB that allows one to distinguish the following types of base pairs:\begin{itemize}
\item {} 
\sphinxAtStartPar
in the exterior loop ({\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}})

\item {} 
\sphinxAtStartPar
enclosing a hairpin ({\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}})

\item {} 
\sphinxAtStartPar
enclosing an internal loop ({\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}})

\item {} 
\sphinxAtStartPar
enclosed by an exterior loop ({\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga0536288e04ff6332ecdc23ca4705402b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}}}})

\item {} 
\sphinxAtStartPar
enclosing a multi branch loop ({\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}})

\item {} 
\sphinxAtStartPar
enclosed by a multi branch loop ({\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga02a3d703ddbcfce393e4bbfcb9db7077}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}}}})

\end{itemize}


\sphinxAtStartPar
The four linear arrays ‘up\_xxx’ provide the number of available unpaired nucleotides (including position i) 3’ of each position in the sequence.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga696dcf77887d856c6f21ea266d8b9ca2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_free()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga9418eda62a5dec070896702c279d2548}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga79203702b197b6b9d3b78eed40663eb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga456ecd2ff00056bb64da8dd4f61bbfc5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga02a3d703ddbcfce393e4bbfcb9db7077}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_hc\_s.type (C var)@\spxentry{vrna\_hc\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a4b1666cfd4f6653832ae350dc5e52505}}\DUrole{n}{vrna\_hc\_type\_e}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.n (C var)@\spxentry{vrna\_hc\_s.n}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.n}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1ac5cedc9a5f819afe75bba2db712033c9}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{n}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.strands (C var)@\spxentry{vrna\_hc\_s.strands}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.strands}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a6efe223cb72394f0d82f16c2a8f3340e}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{strands}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.sn (C var)@\spxentry{vrna\_hc\_s.sn}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.sn}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1aaa87a0d17dea3716484e3b3244f5b372}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sn}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.state (C var)@\spxentry{vrna\_hc\_s.state}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.state}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1ac42bbf2e8108954696701f54cf055532}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{state}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.mx (C var)@\spxentry{vrna\_hc\_s.mx}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.mx}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a9a686ea4489cfed421cac92e323d224d}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{mx}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.matrix\_local (C var)@\spxentry{vrna\_hc\_s.matrix\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.matrix_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a7a3a6e27f6a45447a6a3e4d294d0b90a}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{matrix\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.up\_ext (C var)@\spxentry{vrna\_hc\_s.up\_ext}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.up_ext}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a1eeb78354751034653cae0e8d9479606}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{up\_ext}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in an exterior loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.up\_hp (C var)@\spxentry{vrna\_hc\_s.up\_hp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.up_hp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a3e2c015ab854e4840ab2fbf9fec67ee4}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{up\_hp}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in a hairpin loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.up\_int (C var)@\spxentry{vrna\_hc\_s.up\_int}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.up_int}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a43c7f642a9abbbe3b711ab2b6d9d9df8}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{up\_int}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in an internal loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.up\_ml (C var)@\spxentry{vrna\_hc\_s.up\_ml}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.up_ml}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a77747a921caf4a31779d7b8d1081ce9e}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{up\_ml}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in a multi branched loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.f (C var)@\spxentry{vrna\_hc\_s.f}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1ab8e78449185c98024fca57720e0db1f0}}{\hyperref[\detokenize{grammar/constraints/hard:c.vrna_hc_eval_f}]{\sphinxcrossref{\DUrole{n}{vrna\_hc\_eval\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{f}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A function pointer that returns whether or not a certain decomposition may be evaluated. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.data (C var)@\spxentry{vrna\_hc\_s.data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1acef3d722142cb5f4a8e114e5fbce3b1a}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{data}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A pointer to some structure where the user may store necessary data to evaluate its generic hard constraint function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.free\_data (C var)@\spxentry{vrna\_hc\_s.free\_data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.free_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1aae5cddf2662f6a2027ac89ff5deaf6ab}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_data}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A pointer to a function to free memory occupied by auxiliary data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The function this pointer is pointing to will be called upon destruction of the {\hyperref[\detokenize{grammar/constraints/hard:structvrna__hc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_s}}}}}, and provided with the {\hyperref[\detokenize{grammar/constraints/hard:structvrna__hc__s_1acef3d722142cb5f4a8e114e5fbce3b1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_s.data}}}}} pointer that may hold auxiliary data. Hence, to avoid leaking memory, the user may use this pointer to free memory occupied by auxiliary data. 

\end{fulllineitems}

\index{vrna\_hc\_s.depot (C var)@\spxentry{vrna\_hc\_s.depot}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.depot}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a89e14469f3fd6bb1169a9040603a7e1a}}\DUrole{n}{vrna\_hc\_depot\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{depot}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.eval\_ext (C var)@\spxentry{vrna\_hc\_s.eval\_ext}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.eval_ext}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a9cdc843e9cae3279af87f37ae2d5dc32}}\DUrole{n}{vrna\_hc\_eval\_loop\_f}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{eval\_ext}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.eval\_hp (C var)@\spxentry{vrna\_hc\_s.eval\_hp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.eval_hp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1adfe9897deaa1c5fcc2350d22539ac712}}\DUrole{n}{vrna\_hc\_eval\_hp\_f}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{eval\_hp}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.eval\_int (C var)@\spxentry{vrna\_hc\_s.eval\_int}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.eval_int}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1aa54ce0ef2212d830ab45131a58dfd5cd}}\DUrole{n}{vrna\_hc\_eval\_int\_f}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{eval\_int}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_s.eval\_mb (C var)@\spxentry{vrna\_hc\_s.eval\_mb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_s.eval_mb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__s_1a263c7b8210a18e910c4c9a930ab3efa5}}\DUrole{n}{vrna\_hc\_eval\_loop\_f}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{eval\_mb}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_hc\_up\_s (C struct)@\spxentry{vrna\_hc\_up\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_up_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__up__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hc\_up\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/constraints/hard.h\textgreater{}}
\sphinxAtStartPar
A single hard constraint for a single nucleotide. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_hc\_up\_s.position (C var)@\spxentry{vrna\_hc\_up\_s.position}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_up_s.position}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__up__s_1a67a98def263c534a8c57298098da16e8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{position}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The sequence position (1\sphinxhyphen{}based). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_up\_s.strand (C var)@\spxentry{vrna\_hc\_up\_s.strand}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_up_s.strand}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__up__s_1aee5c96d8fd5c146a7660dbbfaa3e2b12}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{strand}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hc\_up\_s.options (C var)@\spxentry{vrna\_hc\_up\_s.options}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/hard:c.vrna_hc_up_s.options}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/hard:structvrna__hc__up__s_1a468414760f373f7dc0eb1fd47cf708d0}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{options}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The hard constraint option. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Soft Constraints}
\label{\detokenize{grammar/constraints/soft:soft-constraints}}\label{\detokenize{grammar/constraints/soft::doc}}
\sphinxAtStartPar
Functions and data structures for secondary structure soft constraints.

\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/soft:id1}}{\hyperref[\detokenize{grammar/constraints/soft:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/soft:id2}}{\hyperref[\detokenize{grammar/constraints/soft:common-api-symbols}]{\sphinxcrossref{Common API symbols}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/soft:id3}}{\hyperref[\detokenize{grammar/constraints/soft:constraints-for-unpaired-positions}]{\sphinxcrossref{Constraints for Unpaired Positions}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/soft:id4}}{\hyperref[\detokenize{grammar/constraints/soft:constraints-for-base-pairs}]{\sphinxcrossref{Constraints for Base Pairs}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/soft:id5}}{\hyperref[\detokenize{grammar/constraints/soft:constraints-for-stacked-base-pairs}]{\sphinxcrossref{Constraints for Stacked Base Pairs}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/constraints/soft:id6}}{\hyperref[\detokenize{grammar/constraints/soft:generic-implementation}]{\sphinxcrossref{Generic implementation}}}

\end{itemize}
\end{sphinxcontents}


\paragraph{Introduction}
\label{\detokenize{grammar/constraints/soft:introduction}}
\sphinxAtStartPar
Soft\sphinxhyphen{}constraints are used to change position specific contributions
in the recursions by adding bonuses/penalties in form of pseudo free energies
to certain loop configurations.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For the sake of memory efficiency, we do not implement a loop context aware version of
soft constraints. The \sphinxstyleemphasis{static} soft constraints as implemented only distinguish unpaired
from paired nucleotides. This is usually sufficient for most use\sphinxhyphen{}case scenarios.
However, similar to hard constraints, an abstract soft constraints implementation using
a callback mechanism exists, that allows for any soft constraint that is compatible with
the RNA folding grammar. Thus, loop contexts and even individual derivation rules can
be addressed separately for maximum flexibility in soft\sphinxhyphen{}constraints application.
\end{sphinxadmonition}


\paragraph{Common API symbols}
\label{\detokenize{grammar/constraints/soft:common-api-symbols}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_sc\_t (C type)@\spxentry{vrna\_sc\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_s}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the soft constraints data structure {\hyperref[\detokenize{grammar/constraints/soft:structvrna__sc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Enums}
\index{vrna\_sc\_type\_e (C enum)@\spxentry{vrna\_sc\_type\_e}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_type_e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1gab926b4d8c342aa5fb2f8f007200635a8}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_type\_e}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The type of a soft constraint. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{vrna\_sc\_type\_e.VRNA\_SC\_DEFAULT (C enumerator)@\spxentry{vrna\_sc\_type\_e.VRNA\_SC\_DEFAULT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_type_e.VRNA_SC_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1ggab926b4d8c342aa5fb2f8f007200635a8a0bd84aa58715eb7fb12cd385c7d27201}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SC\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default Soft Constraints. 

\end{fulllineitems}

\index{vrna\_sc\_type\_e.VRNA\_SC\_WINDOW (C enumerator)@\spxentry{vrna\_sc\_type\_e.VRNA\_SC\_WINDOW}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_type_e.VRNA_SC_WINDOW}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1ggab926b4d8c342aa5fb2f8f007200635a8a4a982ee6f7310949a504cc9f75f34581}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SC\_WINDOW}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Soft Constraints suitable for local structure prediction using window approach. 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}}, {\hyperref[\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1gaf6d77f10775c1d58c8199d5ec95d4228}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pfl\_fold()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_init (C function)@\spxentry{vrna\_sc\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1gab8e024c40f167496df65adfa0db9a9b3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_init}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Initialize an empty soft constraints data structure within a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function adds a proper soft constraints data structure to the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure. If soft constraints already exist within the fold compound, they are removed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000044}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_init()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_init()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up()}}}}}, {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1gad609895467d59ea53faac4f98b71c099}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_deigan()}}}}}, {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga5a673837ebe42d790bdf3ccf8982d3dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_zarringhalam()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1gac81478a33880029ca9975bd89cc26fa9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_remove()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}, vrna\_sc\_add\_pre(), vrna\_sc\_add\_post()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} where an empty soft constraint feature is to be added to

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_prepare (C function)@\spxentry{vrna\_sc\_prepare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_prepare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1ga347f033ce99fb61acda3407cac324497}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_prepare}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare soft constraints. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_update (C function)@\spxentry{vrna\_sc\_update}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1ga95646ff864de191e3a3fee158d85ad59}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_update}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Update/prepare soft constraints for sliding\sphinxhyphen{}window computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_remove (C function)@\spxentry{vrna\_sc\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1gac81478a33880029ca9975bd89cc26fa9}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_remove}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove soft constraints from {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000045}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_remove()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} possibly containing soft constraints

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_free (C function)@\spxentry{vrna\_sc\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints_1ga6d55446448d69346fc313b993c4fb3e8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_free}}}}
{{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by a {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_t}}}}} data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sc}} \textendash{} The data structure to free from memory 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_sc\_bp\_storage\_t (C struct)@\spxentry{vrna\_sc\_bp\_storage\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_bp_storage_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__bp__storage__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_bp\_storage\_t}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/constraints/soft.h\textgreater{}}
\sphinxAtStartPar
A base pair constraint. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_sc\_bp\_storage\_t.interval\_start (C var)@\spxentry{vrna\_sc\_bp\_storage\_t.interval\_start}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_bp_storage_t.interval_start}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__bp__storage__t_1aa7302ae3a59e3d353bc20ed719299bd3}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{interval\_start}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_bp\_storage\_t.interval\_end (C var)@\spxentry{vrna\_sc\_bp\_storage\_t.interval\_end}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_bp_storage_t.interval_end}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__bp__storage__t_1a3c11eb4cb19163fa3fdbfda674efad91}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{interval\_end}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_bp\_storage\_t.e (C var)@\spxentry{vrna\_sc\_bp\_storage\_t.e}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_bp_storage_t.e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__bp__storage__t_1a377405c7607c69c7f58baab0b06092eb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{e}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_sc\_s (C struct)@\spxentry{vrna\_sc\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/constraints/soft.h\textgreater{}}
\sphinxAtStartPar
The soft constraints data structure. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Common data fields}
\index{vrna\_sc\_s.type (C var)@\spxentry{vrna\_sc\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a97c2625bd6d1bbdaf8ac440f551d2281}}\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_type\_e}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Type of the soft constraints data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.n (C var)@\spxentry{vrna\_sc\_s.n}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.n}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1ab47470efd4ee0211ca78641f57009def}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{n}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Length of the sequence this soft constraints data structure belongs to. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.state (C var)@\spxentry{vrna\_sc\_s.state}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.state}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a0b46b319b627a4de54deabf2358368a9}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{state}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Current state of the soft constraints data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.energy\_up (C var)@\spxentry{vrna\_sc\_s.energy\_up}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.energy_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a57e4dbb924ab11f304e3762a3a9b07a1}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_up}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy contribution for stretches of unpaired nucleotides. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.exp\_energy\_up (C var)@\spxentry{vrna\_sc\_s.exp\_energy\_up}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.exp_energy_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1ad3b4972d3b6c23865587e4ac56a37375}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_energy\_up}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Boltzmann Factors of the energy contributions for unpaired sequence stretches. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.up\_storage (C var)@\spxentry{vrna\_sc\_s.up\_storage}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.up_storage}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a16c564d3170b7357620860de1e5faed6}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{up\_storage}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Storage container for energy contributions per unpaired nucleotide. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.bp\_storage (C var)@\spxentry{vrna\_sc\_s.bp\_storage}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.bp_storage}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a8e261e29462f6bdba3259e5eb61e48e8}}{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_bp_storage_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_bp\_storage\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{bp\_storage}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Storage container for energy contributions per base pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.energy\_stack (C var)@\spxentry{vrna\_sc\_s.energy\_stack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.energy_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1ac20dded6068e81acd0f1139092f66a22}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_stack}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pseudo Energy contribution per base pair involved in a stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.exp\_energy\_stack (C var)@\spxentry{vrna\_sc\_s.exp\_energy\_stack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.exp_energy_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a4a0058fe3d5ba3416f0aaab677610115}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_energy\_stack}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Boltzmann weighted pseudo energy contribution per nucleotide involved in a stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Global structure prediction data fields}
\index{vrna\_sc\_s.energy\_bp (C var)@\spxentry{vrna\_sc\_s.energy\_bp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.energy_bp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1ad139b8e06632e00cbcf3909815d0d03d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_bp}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy contribution for base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.exp\_energy\_bp (C var)@\spxentry{vrna\_sc\_s.exp\_energy\_bp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.exp_energy_bp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a62c22be478cd630541c91f73e6cb0d75}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_energy\_bp}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Boltzmann Factors of the energy contribution for base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Local structure prediction data fields}
\index{vrna\_sc\_s.energy\_bp\_local (C var)@\spxentry{vrna\_sc\_s.energy\_bp\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.energy_bp_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1ad939d2511afe7b3db9b802fdeff2bac4}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_bp\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy contribution for base pairs (sliding window approach). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.exp\_energy\_bp\_local (C var)@\spxentry{vrna\_sc\_s.exp\_energy\_bp\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.exp_energy_bp_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a6d882019efc1e09d385ef751765b3a80}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_energy\_bp\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Boltzmann Factors of the energy contribution for base pairs (sliding window approach). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{User\sphinxhyphen{}defined data fields}
\index{vrna\_sc\_s.f (C var)@\spxentry{vrna\_sc\_s.f}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a16a4e6c60a18917e0f1f94c1f2670c0a}}{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{f}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A function pointer used for pseudo energy contribution in MFE calculations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_sc\_s.bt (C var)@\spxentry{vrna\_sc\_s.bt}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.bt}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1af1967d443ba9d6aa285fa5d5f9059d92}}{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_bt_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_bt\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bt}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A function pointer used to obtain backtraced base pairs in loop regions that were altered by soft constrained pseudo energy contributions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_sc\_s.exp\_f (C var)@\spxentry{vrna\_sc\_s.exp\_f}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.exp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a1ff207e74ee11948936a2443bff9813b}}{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_exp\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_f}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A function pointer used for pseudo energy contribution boltzmann factors in PF calculations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_sc\_s.data (C var)@\spxentry{vrna\_sc\_s.data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a7574680143df97b9029146c2150bf06d}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{data}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A pointer to the data object provided for for pseudo energy contribution functions of the generic soft constraints feature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.prepare\_data (C var)@\spxentry{vrna\_sc\_s.prepare\_data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.prepare_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a7e8e14209f773fab99d4e25493ee07d0}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{prepare\_data}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_s.free\_data (C var)@\spxentry{vrna\_sc\_s.free\_data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_s.free_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1ade4aac85657ebb03c5cba6514df2cca0}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_data}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:structvrna__sc__s_1a5d6dd9d7a0346494ede2476f473e8f5b}}\sphinxbfcode{\sphinxupquote{union~vrna\_sc\_s}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}



\paragraph{Constraints for Unpaired Positions}
\label{\detokenize{grammar/constraints/soft:constraints-for-unpaired-positions}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__up}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_set\_up (C function)@\spxentry{vrna\_sc\_set\_up}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_up}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for unpaired nucleotides. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_set\_up()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga490da5feb307560552e5e44aa4a92a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxcode{\sphinxupquote{constraints}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} \textendash{} A vector of pseudo free energies in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_set\_up\_comparative (C function)@\spxentry{vrna\_sc\_set\_up\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_up_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga36e1b68ffb6394d8c8f057ee72103b1b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_up\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for unpaired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function to set soft constraints for unpaired nucleotides for each sequence in the multiple sequence alignment (MSA). The constraints are provided as 0\sphinxhyphen{}based array of 1\sphinxhyphen{}based array with the actual pseudo energies, where the first dimension corresponds to the number (0\sphinxhyphen{}based) of the respective sequence in the alignment. If no constraints are provided for a particular sequence \( s \) in the MSA, the corresponding entry must be set to \sphinxstylestrong{NULL}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga8c1743250a357aaf19177d26ee9124be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gaaf0a6acb3cec7680cd0c64e3172d82c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative()}}}}}, vrna\_sc\_add\_stack\_comparative(), vrna\_sc\_set\_stack\_comparative(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxcode{\sphinxupquote{constraints}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Pseudo energies for all sequences must be provided in sequence coordinates rather than alignment coordinates!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} \textendash{} A 0\sphinxhyphen{}based array of 1\sphinxhyphen{}based arrays with pseudo free energies in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the MSA constraints have been applied to 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_set\_up\_comparative\_seq (C function)@\spxentry{vrna\_sc\_set\_up\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_up_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga8c1743250a357aaf19177d26ee9124be}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_up\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for unpaired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper for {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga36e1b68ffb6394d8c8f057ee72103b1b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative()}}}}} where only one particular sequence \sphinxcode{\sphinxupquote{s}} is provided with constraints.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga36e1b68ffb6394d8c8f057ee72103b1b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga52acb8db0ce6ae43b28c37775f6455b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gab66ab4741f52df9586f51bd0858ecad9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative\_seq()}}}}}, vrna\_sc\_add\_stack\_comparative\_seq(), vrna\_sc\_set\_stack\_comparative\_seq(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxcode{\sphinxupquote{constraints}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Pseudo energies for all sequences must be provided in sequence coordinates rather than alignment coordinates!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} The 0\sphinxhyphen{}based number of the sequence in the alignment the constraints are provided for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} \textendash{} A 1\sphinxhyphen{}based arrays with pseudo free energies in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the MSA constraints have been applied to 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_up (C function)@\spxentry{vrna\_sc\_add\_up}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga490da5feb307560552e5e44aa4a92a9a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_up}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for unpaired nucleotides. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000049}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{sc\_add\_up()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The method either takes arguments for a single nucleotide \(i \) with the corresponding energy value: 

\end{fulllineitems}


\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fold\PYGZus{}compound}\PYG{o}{.}\PYG{n}{sc\PYGZus{}add\PYGZus{}up}\PYG{p}{(}\PYG{n}{i}\PYG{p}{,} \PYG{n}{energy}\PYG{p}{,} \PYG{n}{options}\PYG{p}{)}
\end{sphinxVerbatim}
 or an entire vector that stores free energy contributions for each nucleotide \(i \) with \( 1 \leq i \leq n \): 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fold\PYGZus{}compound}\PYG{o}{.}\PYG{n}{sc\PYGZus{}add\PYGZus{}bp}\PYG{p}{(}\PYG{n}{vector}\PYG{p}{,} \PYG{n}{options}\PYG{p}{)}
\end{sphinxVerbatim}
 In both variants, the optional argument \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_up()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The nucleotide position the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The free energy (soft\sphinxhyphen{}constraint) in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_up\_comparative (C function)@\spxentry{vrna\_sc\_add\_up\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_up_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_up\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{is}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{energies}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for unpaired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function to add soft constraints for unpaired nucleotides for each sequence in the multiple sequence alignment (MSA). The constraints are provided as 0\sphinxhyphen{}based array of pseudo energies, one for each sequence in the MSA. If no constraints are provided for a particular sequence, the corrsponding \sphinxcode{\sphinxupquote{is}} value must be 0.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga8c1743250a357aaf19177d26ee9124be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gaaf0a6acb3cec7680cd0c64e3172d82c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative()}}}}}, vrna\_sc\_add\_stack\_comparative(), vrna\_sc\_set\_stack\_comparative(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga490da5feb307560552e5e44aa4a92a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Pseudo energies for all sequences must be provided in sequence coordinates rather than alignment coordinates!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is}} \textendash{} A 0\sphinxhyphen{}based array of nucleotide positions the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energies}} \textendash{} A 0\sphinxhyphen{}based array of free energies (soft\sphinxhyphen{}constraint) in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_up\_comparative\_seq (C function)@\spxentry{vrna\_sc\_add\_up\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_up_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga52acb8db0ce6ae43b28c37775f6455b0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_up\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for unpaired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper for {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative()}}}}} where only one particular sequence \sphinxcode{\sphinxupquote{s}} is provided with constraints.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga8c1743250a357aaf19177d26ee9124be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gaaf0a6acb3cec7680cd0c64e3172d82c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative()}}}}}, vrna\_sc\_add\_stack\_comparative(), vrna\_sc\_set\_stack\_comparative(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga490da5feb307560552e5e44aa4a92a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Pseudo energies for all sequences must be provided in sequence coordinates rather than alignment coordinates!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} The 0\sphinxhyphen{}based number of the sequence in the alignment the constraints are provided for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The 1\sphinxhyphen{}based nucleotide position the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The free energies (soft\sphinxhyphen{}constraint) in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise. 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\paragraph{Constraints for Base Pairs}
\label{\detokenize{grammar/constraints/soft:constraints-for-base-pairs}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__bp}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_set\_bp (C function)@\spxentry{vrna\_sc\_set\_bp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_bp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_bp}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for paired nucleotides. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000046}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_set\_bp()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga490da5feb307560552e5e44aa4a92a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxcode{\sphinxupquote{constraints}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} \textendash{} A two\sphinxhyphen{}dimensional array of pseudo free energies in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_set\_bp\_comparative (C function)@\spxentry{vrna\_sc\_set\_bp\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_bp_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gaaf0a6acb3cec7680cd0c64e3172d82c0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_bp\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for paired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}} this function allows to set soft constraints \( e_{i,j}^\mathrm{BP} \) for all base pairs \( (i, j) \) at once using a 1\sphinxhyphen{}based upper\sphinxhyphen{}triangular matrix \( E_\mathrm{BP} \). Since this function is supposed to be used for comparative structure predictions over a multiple sequence alignment (MSA), a 0\sphinxhyphen{}based array of matrices must be supplied as parameter \sphinxcode{\sphinxupquote{constraints}}. If no constraints are to be used for sequence \( s \) in the MSA, the corresponding entry may be set to \sphinxstylestrong{NULL}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gab66ab4741f52df9586f51bd0858ecad9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga766696ca018a1794db4251c3de35503c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga36e1b68ffb6394d8c8f057ee72103b1b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative()}}}}}, vrna\_sc\_set\_stack\_comparative(), vrna\_sc\_add\_stack\_comparative(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxcode{\sphinxupquote{constraints}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Currently, base pair constraints must be provided in alignment coordinates rather than sequence coordinates! This may change in the future!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} \textendash{} A 0\sphinxhyphen{}based array of 1\sphinxhyphen{}based two\sphinxhyphen{}dimensional arrays with pseudo free energies in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the MSA constraints have been applied to 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_set\_bp\_comparative\_seq (C function)@\spxentry{vrna\_sc\_set\_bp\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_bp_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gab66ab4741f52df9586f51bd0858ecad9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_bp\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for paired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper for {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gaaf0a6acb3cec7680cd0c64e3172d82c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative()}}}}} where only one particular sequence \sphinxcode{\sphinxupquote{s}} is provided with constraints.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gaaf0a6acb3cec7680cd0c64e3172d82c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga766696ca018a1794db4251c3de35503c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga8c1743250a357aaf19177d26ee9124be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga52acb8db0ce6ae43b28c37775f6455b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative\_seq()}}}}}, vrna\_sc\_set\_stack\_comparative\_seq(), vrna\_sc\_add\_stack\_comparative\_seq(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxcode{\sphinxupquote{constraints}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function not only re\sphinxhyphen{}sets the constraints for sequence \sphinxcode{\sphinxupquote{s}} in the MSA but will also remove all constraints for all other sequences!
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Currently, base pair constraints must be provided in alignment coordinates rather than sequence coordinates! This may change in the future!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} The 0\sphinxhyphen{}based number of the sequence in the alignment the constraints are provided for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} \textendash{} A 1\sphinxhyphen{}based two\sphinxhyphen{}dimensional array of pseudo free energies in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the MSA constraints have been applied to 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_bp (C function)@\spxentry{vrna\_sc\_add\_bp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_bp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_bp}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for paired nucleotides. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000047}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{sc\_add\_bp()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The method either takes arguments for a single base pair (i,j) with the corresponding energy value: 

\end{fulllineitems}


\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fold\PYGZus{}compound}\PYG{o}{.}\PYG{n}{sc\PYGZus{}add\PYGZus{}bp}\PYG{p}{(}\PYG{n}{i}\PYG{p}{,} \PYG{n}{j}\PYG{p}{,} \PYG{n}{energy}\PYG{p}{,} \PYG{n}{options}\PYG{p}{)}
\end{sphinxVerbatim}
 or an entire 2\sphinxhyphen{}dimensional matrix with dimensions n x n that stores free energy contributions for any base pair (i,j) with \( 1 \leq i < j \leq n \): 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fold\PYGZus{}compound}\PYG{o}{.}\PYG{n}{sc\PYGZus{}add\PYGZus{}bp}\PYG{p}{(}\PYG{n}{matrix}\PYG{p}{,} \PYG{n}{options}\PYG{p}{)}
\end{sphinxVerbatim}
 In both variants, the optional argument \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bp()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga490da5feb307560552e5e44aa4a92a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The 5’ position of the base pair the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} The 3’ position of the base pair the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The free energy (soft\sphinxhyphen{}constraint) in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_bp\_comparative (C function)@\spxentry{vrna\_sc\_add\_bp\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_bp_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga766696ca018a1794db4251c3de35503c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_bp\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{is}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{js}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{energies}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for paired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp()}}}}}, this function allows to add soft constraints \( e_{i,j}^\mathrm{BP} \) for all base pairs \( (i, j) \) in the multiple sequence alignment (MSA). The actual pairing partners \( i \) and \( j \) for each sequence in the MSA are provided in the form of 0\sphinxhyphen{}based arrays as parameters \sphinxcode{\sphinxupquote{is}} and \sphinxcode{\sphinxupquote{js}}. The corresponding energy contributions are provided as 0\sphinxhyphen{}based array in parameter \sphinxcode{\sphinxupquote{energies}}. If no constraint is provided for sequence \( s \) in the MSA, the corresponding \sphinxcode{\sphinxupquote{is}} value must be set to 0.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gadee5a5d3f7a76a01978b17378abe4d3b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gaaf0a6acb3cec7680cd0c64e3172d82c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga36e1b68ffb6394d8c8f057ee72103b1b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga65ea9a47f2ef86599fee5717bb49ab9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative()}}}}}, vrna\_sc\_set\_stack\_comparative(), vrna\_sc\_add\_stack\_comparative(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Consecutive calls of this function with the same \sphinxcode{\sphinxupquote{is}} and \sphinxcode{\sphinxupquote{js}} accumulate to corresponding \sphinxcode{\sphinxupquote{energies}} values, i.e. energies are added up onto each other.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Currently, base pair constraints must be provided in alignment coordinates rather than sequence coordinates! This may change in the future!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is}} \textendash{} A 0\sphinxhyphen{}based array of 5’ position of the base pairs the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{js}} \textendash{} A 0\sphinxhyphen{}based array of 3’ position of the base pairs the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energies}} \textendash{} A 0\sphinxhyphen{}based array of free energies (soft\sphinxhyphen{}constraint) in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the MSA constraints have been applied to 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_bp\_comparative\_seq (C function)@\spxentry{vrna\_sc\_add\_bp\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_bp_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gadee5a5d3f7a76a01978b17378abe4d3b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_bp\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for paired nucleotides in comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper for {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga766696ca018a1794db4251c3de35503c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp\_comparative()}}}}} where only one particular sequence \sphinxcode{\sphinxupquote{s}} is provided with constraints.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga766696ca018a1794db4251c3de35503c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp\_comparative()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1gab66ab4741f52df9586f51bd0858ecad9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga8c1743250a357aaf19177d26ee9124be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up\_comparative\_seq()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga52acb8db0ce6ae43b28c37775f6455b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up\_comparative\_seq()}}}}}, vrna\_sc\_set\_stack\_comparative\_seq(), vrna\_sc\_add\_stack\_comparative\_seq(), {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Consecutive calls of this function with the same \sphinxcode{\sphinxupquote{i}} and \sphinxcode{\sphinxupquote{j}} accumulate to corresponding \sphinxcode{\sphinxupquote{energies}} values, i.e. energies are added up onto each other.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Currently, base pair constraints must be provided in alignment coordinates rather than sequence coordinates! This may change in the future!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} The 0\sphinxhyphen{}based number of the sequence in the alignment the constraints are provided for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} 5’ position of the base pairs the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} 3’ position of the base pairs the soft constraint is added for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} Free energy (soft\sphinxhyphen{}constraint) in \( kcal / mol \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the MSA constraints have been applied to 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\paragraph{Constraints for Stacked Base Pairs}
\label{\detokenize{grammar/constraints/soft:constraints-for-stacked-base-pairs}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__st}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_set\_stack (C function)@\spxentry{vrna\_sc\_set\_stack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__st_1ga2d90fcdce380fdfcd5a07401e11de808}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_stack}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_set\_stack\_comparative (C function)@\spxentry{vrna\_sc\_set\_stack\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_stack_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__st_1gaf3f922162af18078b36a34da5e8bcd6f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_stack\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_set\_stack\_comparative\_seq (C function)@\spxentry{vrna\_sc\_set\_stack\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_stack_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__st_1ga0be025267262747d45dbadf60333c035}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_stack\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{constraints}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_add\_stack (C function)@\spxentry{vrna\_sc\_add\_stack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__st_1ga216af281ec6bb6bea24184900762e447}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_stack}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_add\_stack\_comparative (C function)@\spxentry{vrna\_sc\_add\_stack\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_stack_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__st_1ga1c0a325d51a6cf93944a8e244018a8f9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_stack\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{is}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{energies}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_add\_stack\_comparative\_seq (C function)@\spxentry{vrna\_sc\_add\_stack\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_stack_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__st_1ga35c2f99b91e77504042b3368b7b3099d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_stack\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\paragraph{Generic implementation}
\label{\detokenize{grammar/constraints/soft:generic-implementation}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_sc\_f (C type)@\spxentry{vrna\_sc\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{d}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to retrieve pseudo energy contribution for soft constraint feature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the prototype for callback functions used by the folding recursions to evaluate generic soft constraints. The first four parameters passed indicate the delimiting nucleotide positions of the decomposition, and the parameter \sphinxcode{\sphinxupquote{denotes}} the decomposition step. The last parameter \sphinxcode{\sphinxupquote{data}} is the auxiliary data structure associated to the hard constraints via {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}, or NULL if no auxiliary data was added.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000011}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback enables one to add (pseudo\sphinxhyphen{})energy contributions to individual decompositions of the secondary structure. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_HP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaeab04f34d7730cff2d651d782f95d857}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_IL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa15b1185673f0b9e900c4748d45f388f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4a23054c75d8efc785de50e3ea87602f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4fe48d575830b16c208e280e01ab1497}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_COAXIAL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga437adf5115c1999304eff26b41e4c9b6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaff1ddaffe86d984623910b40cc8a8717}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gabb09c5b78b75a44502fc77b950125c1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga06efd054c9271438f6d82d4559d9e69f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga2e75d7a77118735b32f25422d9686719}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM1}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param i}
\sphinxAtStartPar
Left (5’) delimiter position of substructure 

\sphinxlineitem{Param j}
\sphinxAtStartPar
Right (3’) delimiter position of substructure 

\sphinxlineitem{Param k}
\sphinxAtStartPar
Left delimiter of decomposition 

\sphinxlineitem{Param l}
\sphinxAtStartPar
Right delimiter of decomposition 

\sphinxlineitem{Param d}
\sphinxAtStartPar
Decomposition step indicator 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Auxiliary data 

\sphinxlineitem{Return}
\sphinxAtStartPar
Pseudo energy contribution in deka\sphinxhyphen{}kalories per mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_direct\_f (C type)@\spxentry{vrna\_sc\_direct\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_direct_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0636dd85c4ac5fa30c8590fa8e1ffb48}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_direct\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_exp\_f (C type)@\spxentry{vrna\_sc\_exp\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_exp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga562554815b6717091125bf9782532740}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_exp\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{d}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to retrieve pseudo energy contribution as Boltzmann Factors for soft constraint feature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the prototype for callback functions used by the partition function recursions to evaluate generic soft constraints. The first four parameters passed indicate the delimiting nucleotide positions of the decomposition, and the parameter \sphinxcode{\sphinxupquote{denotes}} the decomposition step. The last parameter \sphinxcode{\sphinxupquote{data}} is the auxiliary data structure associated to the hard constraints via {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}, or NULL if no auxiliary data was added.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000012}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback enables one to add (pseudo\sphinxhyphen{})energy contributions to individual decompositions of the secondary structure (Partition function variant, i.e. contributions must be returned as Boltzmann factors). 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_HP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaeab04f34d7730cff2d651d782f95d857}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_IL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa15b1185673f0b9e900c4748d45f388f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4a23054c75d8efc785de50e3ea87602f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4fe48d575830b16c208e280e01ab1497}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_COAXIAL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga437adf5115c1999304eff26b41e4c9b6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaff1ddaffe86d984623910b40cc8a8717}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gabb09c5b78b75a44502fc77b950125c1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga06efd054c9271438f6d82d4559d9e69f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga2e75d7a77118735b32f25422d9686719}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM1}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param i}
\sphinxAtStartPar
Left (5’) delimiter position of substructure 

\sphinxlineitem{Param j}
\sphinxAtStartPar
Right (3’) delimiter position of substructure 

\sphinxlineitem{Param k}
\sphinxAtStartPar
Left delimiter of decomposition 

\sphinxlineitem{Param l}
\sphinxAtStartPar
Right delimiter of decomposition 

\sphinxlineitem{Param d}
\sphinxAtStartPar
Decomposition step indicator 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Auxiliary data 

\sphinxlineitem{Return}
\sphinxAtStartPar
Pseudo energy contribution in deka\sphinxhyphen{}kalories per mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_exp\_direct\_f (C type)@\spxentry{vrna\_sc\_exp\_direct\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_exp_direct_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga452afbd0364a82099cea06a3b31c61be}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_exp\_direct\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_bt\_f (C type)@\spxentry{vrna\_sc\_bt\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_bt_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gaaa010a245ab273cd5c265929ff0b8bbd}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_basepair_t}]{\sphinxcrossref{\DUrole{n}{vrna\_basepair\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_bt\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{d}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to retrieve auxiliary base pairs for soft constraint feature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000013}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback enables one to add auxiliary base pairs in the backtracking steps of hairpin\sphinxhyphen{} and internal loops. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_HP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaeab04f34d7730cff2d651d782f95d857}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_IL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa15b1185673f0b9e900c4748d45f388f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_PAIR\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4a23054c75d8efc785de50e3ea87602f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_ML\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga4fe48d575830b16c208e280e01ab1497}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_ML\_COAXIAL}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga437adf5115c1999304eff26b41e4c9b6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaff1ddaffe86d984623910b40cc8a8717}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_UP}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1gabb09c5b78b75a44502fc77b950125c1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_STEM\_EXT}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga06efd054c9271438f6d82d4559d9e69f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM}}}}}, {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga2e75d7a77118735b32f25422d9686719}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_DECOMP\_EXT\_EXT\_STEM1}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param i}
\sphinxAtStartPar
Left (5’) delimiter position of substructure 

\sphinxlineitem{Param j}
\sphinxAtStartPar
Right (3’) delimiter position of substructure 

\sphinxlineitem{Param k}
\sphinxAtStartPar
Left delimiter of decomposition 

\sphinxlineitem{Param l}
\sphinxAtStartPar
Right delimiter of decomposition 

\sphinxlineitem{Param d}
\sphinxAtStartPar
Decomposition step indicator 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Auxiliary data 

\sphinxlineitem{Return}
\sphinxAtStartPar
List of additional base pairs 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga3c9716bfef128419cefdb9e37facadb9}}\sphinxbfcode{\sphinxupquote{DEPRECATED~(typedef~int(vrna\_callback\_sc\_energy)(int~i,~int~j,~int~k,~int~l,~unsigned~char~d,~void~*data),~"Use~vrna\_sc\_f~instead!")}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab12181b2a67560da4f56b22eccdd94d8}}\sphinxbfcode{\sphinxupquote{DEPRECATED~(typedef~FLT\_OR\_DBL(vrna\_callback\_sc\_exp\_energy)(int~i,~int~j,~int~k,~int~l,~unsigned~char~d,~void~*data),~"Use~vrna\_sc\_exp\_f~instead!")}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga6ea47bafe653e66387151d97a7a82d92}}\sphinxbfcode{\sphinxupquote{DEPRECATED~(typedef~vrna\_basepair\_t~*(vrna\_callback\_sc\_backtrack)(int~i,~int~j,~int~k,~int~l,~unsigned~char~d,~void~*data),~"Use~vrna\_sc\_bt\_f~instead")}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_add\_data (C function)@\spxentry{vrna\_sc\_add\_data}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_data}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary data structure for the generic soft constraints callback function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000050}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_data()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound the generic soft constraint function should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to the data structure that holds required data for function ‘f’ 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{free\_data}} \textendash{} A pointer to a function that free’s the memory occupied by \sphinxcode{\sphinxupquote{data}} (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the data (and free\sphinxhyphen{}function), 0 otherwise

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_auxdata (C function)@\spxentry{vrna\_sc\_add\_auxdata}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_auxdata}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab720c26be4d3c925b9e75f69447af847}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_auxdata}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{prepare\_cb}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_cb}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_set\_data\_comparative (C function)@\spxentry{vrna\_sc\_set\_data\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_data_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gaeaea940870ab84efa0afa992254a901a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_data\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{free\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_set\_data\_comparative\_seq (C function)@\spxentry{vrna\_sc\_set\_data\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_data_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga5e57138ef5c50e258e78fa2608df8039}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_data\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_set\_auxdata\_comparative (C function)@\spxentry{vrna\_sc\_set\_auxdata\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_auxdata_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga86056a499ee9dd05fd1b23ef36371952}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_auxdata\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prepare\_cbs}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{free\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_set\_auxdata\_comparative\_seq (C function)@\spxentry{vrna\_sc\_set\_auxdata\_comparative\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_auxdata_comparative_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gaba8e70886656828dbe04964fc97793f2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_auxdata\_comparative\_seq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{prepare\_cb}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_add\_f (C function)@\spxentry{vrna\_sc\_add\_f}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_f}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_f}}}}\DUrole{w}{ }\DUrole{n}{f}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bind a function pointer for generic soft constraint feature (MFE version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to easily bind a function pointer and corresponding data structure to the soft constraint part {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_t}}}}} of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. The function for evaluating the generic soft constraint feature has to return a pseudo free energy \( \hat{E} \) in \( dacal/mol \), where \( 1 dacal/mol = 10 cal/mol \).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000051}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_f()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_f()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound the generic soft constraint function should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} \textendash{} A pointer to the function that evaluates the generic soft constraint feature 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the callback function, 0 otherwise

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_multi\_cb\_add (C function)@\spxentry{vrna\_sc\_multi\_cb\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_multi_cb_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga13351a9893fb73f0567b423aac24aac8}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_multi\_cb\_add}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_direct_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_direct\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_exp_direct_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_exp\_direct\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_exp}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{prepare\_cb}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_cb}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{decomp\_type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_multi\_cb\_add\_comparative (C function)@\spxentry{vrna\_sc\_multi\_cb\_add\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_multi_cb_add_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gad771e057367402dd31a54aa8d6e7cd74}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_multi\_cb\_add\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_direct_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_direct\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cbs}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_exp_direct_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_exp\_direct\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cbs\_exp}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{datas}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prepare\_cbs}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{free\_cbs}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ds}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_set\_f\_comparative (C function)@\spxentry{vrna\_sc\_set\_f\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_f_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga444f20e784e41156dd699182e3b9b517}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_f\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{f}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_add\_bt (C function)@\spxentry{vrna\_sc\_add\_bt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_bt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_bt}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_bt_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_bt\_f}}}}\DUrole{w}{ }\DUrole{n}{f}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bind a backtracking function pointer for generic soft constraint feature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to easily bind a function pointer to the soft constraint part {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_t}}}}} of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. The provided function should be used for backtracking purposes in loop regions that were altered via the generic soft constraint feature. It has to return an array of {\hyperref[\detokenize{utils/data_structures:structvrna__basepair__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_basepair\_t}}}}} data structures, were the last element in the list is indicated by a value of \sphinxhyphen{}1 in it’s i position.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000052}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_bt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound the generic soft constraint function should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} \textendash{} A pointer to the function that returns additional base pairs 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the callback function, 0 otherwise

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_exp\_f (C function)@\spxentry{vrna\_sc\_add\_exp\_f}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_add_exp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_exp\_f}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{exp\_f}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bind a function pointer for generic soft constraint feature (PF version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to easily bind a function pointer and corresponding data structure to the soft constraint part {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_t}}}}} of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. The function for evaluating the generic soft constraint feature has to return a pseudo free energy \( \hat{E} \) as Boltzmann factor, i.e. \( exp(- \hat{E} / kT) \). The required unit for \( E \) is \( cal/mol \).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000053}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_exp\_f()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_exp_f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_exp\_f()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f()}}}}}, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound the generic soft constraint function should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{exp\_f}} \textendash{} A pointer to the function that evaluates the generic soft constraint feature 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the callback function, 0 otherwise

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_set\_exp\_f\_comparative (C function)@\spxentry{vrna\_sc\_set\_exp\_f\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints/soft:c.vrna_sc_set_exp_f_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gac47672df7b10cbdbec0e713ec9c89c2c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_set\_exp\_f\_comparative}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_exp\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{exp\_f}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Introduction}
\label{\detokenize{grammar/constraints:introduction}}
\sphinxAtStartPar
Secondary Structure constraints can be subdivided into two groups:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard::doc}]{\sphinxcrossref{\DUrole{doc}{Hard Constraints}}}}, and

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft::doc}]{\sphinxcrossref{\DUrole{doc}{Soft Constraints}}}}.

\end{itemize}

\sphinxAtStartPar
While \sphinxstyleemphasis{hard constraints} directly influence the production rules used in the folding
recursions by allowing, disallowing, or enforcing certain decomposition steps,
\sphinxstyleemphasis{soft constraints} are used to change position specific contributions
in the recursions by adding bonuses/penalties in form of pseudo free energies
to certain loop configurations.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Secondary structure constraints are always applied at decomposition level, i.e.
in each step of the recursive structure decomposition, for instance during MFE
prediction. Below is a visualization of the decomposition scheme

\noindent\sphinxincludegraphics{{recursions}.png}
\end{sphinxadmonition}

\sphinxAtStartPar
For {\hyperref[\detokenize{grammar/constraints/hard::doc}]{\sphinxcrossref{\DUrole{doc}{Hard Constraints}}}} the following option flags may be used to constrain
the pairing behavior of single, or pairs of nucleotides:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_EXT_LOOP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_HP_LOOP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_INT_LOOP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_MB_LOOP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}}}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_ENFORCE}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_NO\_REMOVE}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:c.VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}}}

\end{itemize}

\sphinxAtStartPar
However, for {\hyperref[\detokenize{grammar/constraints/soft::doc}]{\sphinxcrossref{\DUrole{doc}{Soft Constraints}}}} we do not allow for simple loop type
dependent constraining. But soft constraints are equipped with generic constraint
support. This enables the user to pass arbitrary callback functions that
return auxiliary energy contributions for evaluation the evaluation of any
decomposition.

\sphinxAtStartPar
The callback will then always be notified about the type of decomposition
that is happening, and the corresponding delimiting sequence positions. The
following decomposition steps are distinguished, and should be captured by
the user’s implementation of the callback:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_PAIR_HP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_PAIR\_HP}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_PAIR_IL}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_PAIR\_IL}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_PAIR_ML}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_PAIR\_ML}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_ML_ML}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_ML\_ML\_ML}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_STEM}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_ML\_STEM}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_ML}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_ML\_ML}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_UP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_ML\_UP}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_ML_STEM}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_ML\_ML\_STEM}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_COAXIAL}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_ML\_COAXIAL}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_EXT}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_UP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_UP}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_STEM}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_STEM}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT_EXT}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_EXT\_EXT}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_STEM_EXT}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_STEM\_EXT}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_STEM_OUTSIDE}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_STEM\_OUTSIDE}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT_STEM}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_EXT\_STEM}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT_STEM1}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{VRNA\_DECOMP\_EXT\_EXT\_STEM1}}}}}

\end{itemize}


\subsubsection{General API symbols}
\label{\detokenize{grammar/constraints:general-api-symbols}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_CONSTRAINT\_FILE (C macro)@\spxentry{VRNA\_CONSTRAINT\_FILE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_CONSTRAINT_FILE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga62e0ed0c33002c09423de4e646f85a2b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_FILE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag for {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}} to indicate that constraints are present in a text file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000129}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use 0 instead!

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_SOFT\_MFE (C macro)@\spxentry{VRNA\_CONSTRAINT\_SOFT\_MFE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_CONSTRAINT_SOFT_MFE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga62aa195893d02d1a79ca94952748df36}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_SOFT\_MFE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicate generation of constraints for MFE folding. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000130}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This flag has no meaning anymore, since constraints are now always stored! (since v2.2.6)

\end{fulllineitems}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_SOFT\_PF (C macro)@\spxentry{VRNA\_CONSTRAINT\_SOFT\_PF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_CONSTRAINT_SOFT_PF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga03fb5000c19b9a2082bf4ea30a543045}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_SOFT\_PF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicate generation of constraints for partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000131}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_PF}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{VRNA\_DECOMP\_PAIR\_HP (C macro)@\spxentry{VRNA\_DECOMP\_PAIR\_HP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_PAIR_HP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_PAIR\_HP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag passed to generic softt constraints callback to indicate hairpin loop decomposition step. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a hairpin loop enclosed by the base pair \((i,j)\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_hp}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_PAIR\_IL (C macro)@\spxentry{VRNA\_DECOMP\_PAIR\_IL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_PAIR_IL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gaeab04f34d7730cff2d651d782f95d857}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_PAIR\_IL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for internal loop decomposition step. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an internal loop enclosed by the base pair \((i,j)\), and enclosing the base pair \((k,l)\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_il}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_PAIR\_ML (C macro)@\spxentry{VRNA\_DECOMP\_PAIR\_ML}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_PAIR_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gaa15b1185673f0b9e900c4748d45f388f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_PAIR\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for multibranch loop decomposition step. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop enclosed by the base pair \((i,j)\), and consisting of some enclosed multi loop content from k to l.

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_ML\_ML\_ML (C macro)@\spxentry{VRNA\_DECOMP\_ML\_ML\_ML}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_ML_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_ML\_ML\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of multibranch loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop part in the interval \([i:j]\), which will be decomposed into two multibranch loop parts \([i:k]\), and \([l:j]\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml_ml_ml}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_ML\_STEM (C macro)@\spxentry{VRNA\_DECOMP\_ML\_STEM}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_STEM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga4a23054c75d8efc785de50e3ea87602f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_ML\_STEM}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of multibranch loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop part in the interval \([i:j]\), which will be considered a single stem branching off with base pair \((k,l)\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml_stem}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_ML\_ML (C macro)@\spxentry{VRNA\_DECOMP\_ML\_ML}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_ML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_ML\_ML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of multibranch loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop part in the interval \([i:j]\), which will be decomposed into a (usually) smaller multibranch loop part \([k:l]\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml_ml}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_ML\_UP (C macro)@\spxentry{VRNA\_DECOMP\_ML\_UP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_UP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_ML\_UP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of multibranch loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop part in the interval \([i:j]\), which will be considered a multibranch loop part that only consists of unpaired nucleotides.

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml_up}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_ML\_ML\_STEM (C macro)@\spxentry{VRNA\_DECOMP\_ML\_ML\_STEM}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_ML_STEM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_ML\_ML\_STEM}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of multibranch loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop part in the interval \([i:j]\), which will decomposed into a multibranch loop part \([i:k]\), and a stem with enclosing base pair \((l,j)\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml_ml_stem}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_ML\_COAXIAL (C macro)@\spxentry{VRNA\_DECOMP\_ML\_COAXIAL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_COAXIAL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga4fe48d575830b16c208e280e01ab1497}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_ML\_COAXIAL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of multibranch loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop part in the interval \([i:j]\), where two stems with enclosing pairs \((i,k)\) and \((l,j)\) are coaxially stacking onto each other.

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml_coaxial}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_ML\_COAXIAL\_ENC (C macro)@\spxentry{VRNA\_DECOMP\_ML\_COAXIAL\_ENC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_ML_COAXIAL_ENC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga0224727f7b8ad2f23eb0a3fd28d8b3fb}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_ML\_COAXIAL\_ENC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of multibranch loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates a multibranch loop part in the interval \([i:j]\), where two stems with enclosing pairs \((i,k)\) and \((l,j)\) are coaxially stacking onto each other.

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ml_coaxial}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_EXT (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_EXT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga437adf5115c1999304eff26b41e4c9b6}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_EXT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an exterior loop part in the interval \([i:j]\), which will be decomposed into a (usually) smaller exterior loop part \([k:l]\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ext_ext}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_UP (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_UP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_UP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gaff1ddaffe86d984623910b40cc8a8717}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_UP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an exterior loop part in the interval \([i:j]\), which will be considered as an exterior loop component consisting of only unpaired nucleotides.

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ext_up}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_STEM (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_STEM}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_STEM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_STEM}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an exterior loop part in the interval \([i:j]\), which will be considered a stem with enclosing pair \((k,l)\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ext_stem}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_EXT\_EXT (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_EXT\_EXT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT_EXT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_EXT\_EXT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an exterior loop part in the interval \([i:j]\), which will be decomposed into two exterior loop parts \([i:k]\) and \([l:j]\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ext_ext_ext}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_STEM\_EXT (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_STEM\_EXT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_STEM_EXT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gabb09c5b78b75a44502fc77b950125c1e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_STEM\_EXT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an exterior loop part in the interval \([i:j]\), which will be decomposed into a stem branching off with base pair \((i,k)\), and an exterior loop part \([l:j]\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ext_stem_ext}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_STEM\_OUTSIDE (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_STEM\_OUTSIDE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_STEM_OUTSIDE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gae7554cd3ff089360c02e4920229e221c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_STEM\_OUTSIDE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_EXT\_STEM (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_EXT\_STEM}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT_STEM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga06efd054c9271438f6d82d4559d9e69f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_EXT\_STEM}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an exterior loop part in the interval \([i:j]\), which will be decomposed into an exterior loop part \([i:k]\), and a stem branching off with base pair \((l,j)\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ext_ext_stem}.png}

\end{fulllineitems}

\index{VRNA\_DECOMP\_EXT\_EXT\_STEM1 (C macro)@\spxentry{VRNA\_DECOMP\_EXT\_EXT\_STEM1}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.VRNA_DECOMP_EXT_EXT_STEM1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1ga2e75d7a77118735b32f25422d9686719}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_DECOMP\_EXT\_EXT\_STEM1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Indicator for decomposition of exterior loop part. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag notifies the soft or hard constraint callback function that the current decomposition step evaluates an exterior loop part in the interval \([i:j]\), which will be decomposed into an exterior loop part \([i:k]\), and a stem branching off with base pair \((l,j-1)\).

\sphinxAtStartPar
\sphinxincludegraphics{{decomp_ext_ext_stem1}.png}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_message\_constraint\_options (C function)@\spxentry{vrna\_message\_constraint\_options}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.vrna_message_constraint_options}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_constraint\_options}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a help message for pseudo dot\sphinxhyphen{}bracket structure constraint characters to stdout. (constraint support is specified by option parameter). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Currently available options are:

{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga13053547a2de5532b64b64d35e097ae1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_PIPE}}}}} (paired with another base)

{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga369bea82eae75fbe626f409fa425747e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DOT}}}}} (no constraint at all)

{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga7283bbe0f8954f7b030ecc3f2d1932b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_X}}}}} (base must not pair)

VRNA\_CONSTRAINT\_DB\_ANG\_BRACK (paired downstream/upstream)

{\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac17b034852c914bc5879954c65d7e74b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}}}}}
\sphinxAtStartPar
(base i pairs base j)

\sphinxAtStartPar
pass a collection of options as one value like this:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}message\PYGZus{}constraints}\PYG{p}{(}\PYG{n}{option\PYGZus{}1} \PYG{o}{|} \PYG{n}{option\PYGZus{}2} \PYG{o}{|} \PYG{n}{option\PYGZus{}n}\PYG{p}{)}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4bfc2f15c4f261c62a11af9d2aa80c90}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga13053547a2de5532b64b64d35e097ae1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_PIPE}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga369bea82eae75fbe626f409fa425747e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DOT}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga7283bbe0f8954f7b030ecc3f2d1932b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_X}}}}}, VRNA\_CONSTRAINT\_DB\_ANG\_BRACK, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac17b034852c914bc5879954c65d7e74b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga31d0ebb9755ca8a4acafc14f00ca755d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTERMOL}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga5c17253f5a39d1d49b0fb11f5196982a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTRAMOL}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} Option switch that tells which constraint help will be printed 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_constraint\_options\_all (C function)@\spxentry{vrna\_message\_constraint\_options\_all}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/constraints:c.vrna_message_constraint_options_all}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_constraint\_options\_all}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print structure constraint characters to stdout (full constraint support). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/hard.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints:group__constraints_1gaa1f20b53bf09ac2e6b0dbb13f7d89670}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga74dd0cf2be4b70680a48488923d4cdec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_constraints\_add()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4bfc2f15c4f261c62a11af9d2aa80c90}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga13053547a2de5532b64b64d35e097ae1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_PIPE}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga369bea82eae75fbe626f409fa425747e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DOT}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga7283bbe0f8954f7b030ecc3f2d1932b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_X}}}}}, VRNA\_CONSTRAINT\_DB\_ANG\_BRACK, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac17b034852c914bc5879954c65d7e74b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga31d0ebb9755ca8a4acafc14f00ca755d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTERMOL}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga5c17253f5a39d1d49b0fb11f5196982a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_INTRAMOL}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{High Level Constraints Interfaces}
\label{\detokenize{grammar/constraints:high-level-constraints-interfaces}}
\sphinxAtStartPar
High\sphinxhyphen{}level interfaces that build upon the soft constraints framework
can be obtained by the implementations in the submodules:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases::doc}]{\sphinxcrossref{\DUrole{doc}{Post\sphinxhyphen{}transcriptional Base Modifications}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{probing_data::doc}]{\sphinxcrossref{\DUrole{doc}{Experimental Structure Probing Data}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{probing/SHAPE::doc}]{\sphinxcrossref{\DUrole{doc}{SHAPE Reactivity Data}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{ligands/constraints::doc}]{\sphinxcrossref{\DUrole{doc}{Incorporating Ligands Binding to Specific Sequence/Structure Motifs}}}}

\end{itemize}

\sphinxAtStartPar
An implementation that generates soft constraints for unpaired nucleotides
by minimizing the discrepancy between their predicted and expected pairing
probability is available in submodule {\hyperref[\detokenize{probing/perturbation::doc}]{\sphinxcrossref{\DUrole{doc}{Generate Soft Constraints from Data}}}}.

\sphinxstepscope


\subsection{Unstructured Domains}
\label{\detokenize{grammar/domains_up:unstructured-domains}}\label{\detokenize{grammar/domains_up::doc}}
\sphinxAtStartPar
Add and modify unstructured domains to the RNA folding grammar.

\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/domains_up:id2}}{\hyperref[\detokenize{grammar/domains_up:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/domains_up:id3}}{\hyperref[\detokenize{grammar/domains_up:description}]{\sphinxcrossref{Description}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/domains_up:id4}}{\hyperref[\detokenize{grammar/domains_up:unstructured-domain-api}]{\sphinxcrossref{Unstructured Domain API}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{grammar/domains_up:introduction}}
\sphinxAtStartPar
Unstructured domains appear in the production rules of the RNA folding grammar
wherever new unpaired nucleotides are attached to a growing substructure
(see also Lorenz \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id34}{2016}{]}):

\noindent\sphinxincludegraphics{{Crecursion}.png}

\sphinxAtStartPar
The white boxes represent the stretch of RNA bound to the ligand and represented by a more or less specific
sequence motif. The motif itself is considered unable to form base pairs. The additional production rule \sphinxcode{\sphinxupquote{U}}
is used to precompute the contribution of unpaired stretches possibly bound by one or more ligands. The
auxiliary DP matrix for this production rule is filled right before processing the other (regular) production
rules of the RNA folding grammar.


\subsubsection{Description}
\label{\detokenize{grammar/domains_up:description}}
\sphinxAtStartPar
This module provides the tools to add and modify unstructured domains to the production rules of the RNA folding grammar.
Usually this functionality is utilized for incorporating ligand binding to unpaired stretches of an RNA.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Although the additional production rule(s) for unstructured domains as descibed in \DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{grammar:unstructured domains}}}
are always treated as \sphinxstyleemphasis{segments possibly bound to one or more ligands}, the current implementation requires
that at least one ligand is bound. The default implementation already takes care of the required changes,
however, upon using callback functions other than the default ones, one has to take care of this fact.
Please also note, that this behavior might change in one of the next releases, such that the decomposition
schemes as shown above comply with the actual implementation.
\end{sphinxadmonition}

\sphinxAtStartPar
A default implementation allows one to readily use this feature by simply adding sequence motifs and corresponding
binding free energies with the function {\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_add_motif}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_ud\_add\_motif()}}}}} (see also {\hyperref[\detokenize{ligands/unstructured_domains::doc}]{\sphinxcrossref{\DUrole{doc}{Ligands Binding to Unstructured Domains}}}}).

\sphinxAtStartPar
The grammar extension is realized using a callback function that
\begin{itemize}
\item {} 
\sphinxAtStartPar
evaluates the binding free energy of a ligand to its target sequence segment (white boxes in the figures above), or

\item {} 
\sphinxAtStartPar
returns the free energy of an unpaired stretch possibly bound by a ligand, stored in the additional \sphinxcode{\sphinxupquote{U}} DP matrix.

\end{itemize}

\sphinxAtStartPar
The callback is passed the segment positions, the loop context, and which of the two above mentioned
evaluations are required. A second callback implements the pre\sphinxhyphen{}processing step that
prepares the \sphinxcode{\sphinxupquote{U}} DP matrix by evaluating all possible cases of the additional production rule.
Both callbacks have a default implementation in \sphinxstyleemphasis{RNAlib}, but may be over\sphinxhyphen{}written by a
user\sphinxhyphen{}implementation, making it fully user\sphinxhyphen{}customizable.

\sphinxAtStartPar
For equilibrium probability computations, two additional callbacks exist. One to store/add and one to retrieve the
probability of unstructured domains at particular positions. Our implementation already takes care of computing
the probabilities, but users of the unstructured domain feature are required to provide a mechanism to efficiently
store/add the corresponding values into some external data structure.


\subsubsection{Unstructured Domain API}
\label{\detokenize{grammar/domains_up:unstructured-domain-api}}
\sphinxAtStartPar
For the sake of flexibility, each of the domains is associated with a specific
data structure serving as an abstract interface to the extension. The interface
uses callback functions to
\begin{itemize}
\item {} 
\sphinxAtStartPar
pre\sphinxhyphen{}compute arbitrary data, e.g. filling up additional dynamic programming matrices, and

\item {} 
\sphinxAtStartPar
evaluate the contribution of a paired or unpaired structural feature of the RNA.

\end{itemize}

\sphinxAtStartPar
Implementations of these callbacks are separate for regular free energy evaluation,
e.g. MFE prediction, and partition function applications. A data structure holding
arbitrary data required for the callback functions can be associated to the domain
as well. While \sphinxstyleemphasis{RNAlib} comes with a default implementation for structured and
unstructured domains, the system is entirely user\sphinxhyphen{}customizable.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/domains_up::doc}]{\sphinxcrossref{\DUrole{doc}{Unstructured Domains}}}}, {\hyperref[\detokenize{grammar/domains_struc::doc}]{\sphinxcrossref{\DUrole{doc}{Structured Domains}}}}, {\hyperref[\detokenize{modules/gquads::doc}]{\sphinxcrossref{\DUrole{doc}{G\sphinxhyphen{}Quadruplexes}}}},
{\hyperref[\detokenize{ligands/unstructured_domains::doc}]{\sphinxcrossref{\DUrole{doc}{Ligands Binding to Unstructured Domains}}}}
\end{sphinxadmonition}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_UNSTRUCTURED\_DOMAIN\_EXT\_LOOP (C macro)@\spxentry{VRNA\_UNSTRUCTURED\_DOMAIN\_EXT\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1gaac911374e86236a51bfd42e1f098eaba}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNSTRUCTURED\_DOMAIN\_EXT\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate ligand bound to unpiared stretch in the exterior loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_UNSTRUCTURED\_DOMAIN\_HP\_LOOP (C macro)@\spxentry{VRNA\_UNSTRUCTURED\_DOMAIN\_HP\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga23b610ea9564346c45cc1e2bbb62adf7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNSTRUCTURED\_DOMAIN\_HP\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate ligand bound to unpaired stretch in a hairpin loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_UNSTRUCTURED\_DOMAIN\_INT\_LOOP (C macro)@\spxentry{VRNA\_UNSTRUCTURED\_DOMAIN\_INT\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1gac4a0feccd9654c149203200248c2716b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNSTRUCTURED\_DOMAIN\_INT\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate ligand bound to unpiared stretch in an internal loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_UNSTRUCTURED\_DOMAIN\_MB\_LOOP (C macro)@\spxentry{VRNA\_UNSTRUCTURED\_DOMAIN\_MB\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga67b80796655e5227a4ed662bfbe398b0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNSTRUCTURED\_DOMAIN\_MB\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate ligand bound to unpiared stretch in a multibranch loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_UNSTRUCTURED\_DOMAIN\_MOTIF (C macro)@\spxentry{VRNA\_UNSTRUCTURED\_DOMAIN\_MOTIF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.VRNA_UNSTRUCTURED_DOMAIN_MOTIF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1gaab12b58d59be76446a9f76fad2fe624c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNSTRUCTURED\_DOMAIN\_MOTIF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate ligand binding without additional unbound nucleotides (motif\sphinxhyphen{}only). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_UNSTRUCTURED\_DOMAIN\_ALL\_LOOPS (C macro)@\spxentry{VRNA\_UNSTRUCTURED\_DOMAIN\_ALL\_LOOPS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.VRNA_UNSTRUCTURED_DOMAIN_ALL_LOOPS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga3c6be4cce70f1af9e885788856101699}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNSTRUCTURED\_DOMAIN\_ALL\_LOOPS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate ligand bound to unpiared stretch in any loop (convenience macro). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_ud\_t (C type)@\spxentry{vrna\_ud\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga0009117b14d29143e8b18ab891f48c2d}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s}]{\sphinxcrossref{\DUrole{n}{vrna\_unstructured\_domain\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the ligand binding extension data structure {\hyperref[\detokenize{grammar/domains_up:structvrna__unstructured__domain__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_unstructured\_domain\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ud\_f (C type)@\spxentry{vrna\_ud\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1gaec7ac7d3800d3ddd42eced89b43038ea}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{loop\_type}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to retrieve binding free energy of a ligand bound to an unpaired sequence segment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000004}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called to determine the additional energy contribution of a specific unstructured domain, e.g. the binding free energy of some ligand. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The current {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}

\sphinxlineitem{Param i}
\sphinxAtStartPar
The start of the unstructured domain (5’ end) 

\sphinxlineitem{Param j}
\sphinxAtStartPar
The end of the unstructured domain (3’ end) 

\sphinxlineitem{Param loop\_type}
\sphinxAtStartPar
The loop context of the unstructured domain 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Auxiliary data 

\sphinxlineitem{Return}
\sphinxAtStartPar
The auxiliary energy contribution in deka\sphinxhyphen{}cal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_exp\_f (C type)@\spxentry{vrna\_ud\_exp\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_exp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga2e9002a489309f2cf59379d8ca6d00f0}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_exp\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{loop\_type}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to retrieve Boltzmann factor of the binding free energy of a ligand bound to an unpaired sequence segment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000005}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called to determine the additional energy contribution of a specific unstructured domain, e.g. the binding free energy of some ligand (Partition function variant, i.e. the Boltzmann factors instead of actual free energies). 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The current {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}

\sphinxlineitem{Param i}
\sphinxAtStartPar
The start of the unstructured domain (5’ end) 

\sphinxlineitem{Param j}
\sphinxAtStartPar
The end of the unstructured domain (3’ end) 

\sphinxlineitem{Param loop\_type}
\sphinxAtStartPar
The loop context of the unstructured domain 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Auxiliary data 

\sphinxlineitem{Return}
\sphinxAtStartPar
The auxiliary energy contribution as Boltzmann factor 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_production\_f (C type)@\spxentry{vrna\_ud\_production\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_production_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga6da4dff321fdfaf9742efcd558fa327f}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_production\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback for pre\sphinxhyphen{}processing the production rule of the ligand binding to unpaired stretches feature. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000006}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
The production rule for the unstructured domain grammar extension 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_ud\_exp\_production\_f (C type)@\spxentry{vrna\_ud\_exp\_production\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_exp_production_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga59dc10fdd4705c87aacaed15a8b1015d}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_exp\_production\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback for pre\sphinxhyphen{}processing the production rule of the ligand binding to unpaired stretches feature (partition function variant). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000007}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
The production rule for the unstructured domain grammar extension (Partition function variant) 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_ud\_add\_probs\_f (C type)@\spxentry{vrna\_ud\_add\_probs\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_add_probs_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga5ea006f39d44db3ae9481a748889a0a1}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_add\_probs\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{loop\_type}\DUrole{p}{,}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{exp\_energy}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to store/add equilibrium probability for a ligand bound to an unpaired sequence segment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000008}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
A callback function to store equilibrium probabilities for the unstructured domain feature 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_ud\_get\_probs\_f (C type)@\spxentry{vrna\_ud\_get\_probs\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_get_probs_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga584c32828e8803a32de7c52bdad5c6bd}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_get\_probs\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{loop\_type}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{motif}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to retrieve equilibrium probability for a ligand bound to an unpaired sequence segment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000009}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
A callback function to retrieve equilibrium probabilities for the unstructured domain feature 

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_ud\_motifs\_centroid (C function)@\spxentry{vrna\_ud\_motifs\_centroid}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_motifs_centroid}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga89440fa4f7b951ad9dcd6da567f37ea2}}\DUrole{n}{vrna\_ud\_motif\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_motifs\_centroid}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Detect unstructured domains in centroid structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a centroid structure and a set of unstructured domains compute the list of unstructured domain motifs present in the centroid. Since we do not explicitly annotate unstructured domain motifs in dot\sphinxhyphen{}bracket strings, this function can be used to check for the presence and location of unstructured domain motifs under the assumption that the dot\sphinxhyphen{}bracket string is the centroid structure of the equiibrium ensemble.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/centroid:group__centroid__fold_1gac39e7be7392b2c72bd3a6a14612be5e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_centroid()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound data structure with pre\sphinxhyphen{}computed equilibrium probabilities and model settings 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The centroid structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of unstructured domain motifs (possibly NULL). The last element terminates the list with \sphinxcode{\sphinxupquote{start=0}}, \sphinxcode{\sphinxupquote{number=\sphinxhyphen{}1}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_motifs\_MEA (C function)@\spxentry{vrna\_ud\_motifs\_MEA}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_motifs_MEA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga3694cf090ccb64f8398e0f4c786aad50}}\DUrole{n}{vrna\_ud\_motif\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_motifs\_MEA}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{probability\_list}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Detect unstructured domains in MEA structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given an MEA structure and a set of unstructured domains compute the list of unstructured domain motifs present in the MEA structure. Since we do not explicitly annotate unstructured domain motifs in dot\sphinxhyphen{}bracket strings, this function can be used to check for the presence and location of unstructured domain motifs under the assumption that the dot\sphinxhyphen{}bracket string is the MEA structure of the equiibrium ensemble.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga396ec6144c6a74fcbab4cea6b42d76c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{MEA()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound data structure with pre\sphinxhyphen{}computed equilibrium probabilities and model settings 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The MEA structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{probability\_list}} \textendash{} The list of probabilities to extract the MEA structure from 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of unstructured domain motifs (possibly NULL). The last element terminates the list with \sphinxcode{\sphinxupquote{start=0}}, \sphinxcode{\sphinxupquote{number=\sphinxhyphen{}1}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_motifs\_MFE (C function)@\spxentry{vrna\_ud\_motifs\_MFE}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_motifs_MFE}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga46d6cfffebf89032019004a026c8f63c}}\DUrole{n}{vrna\_ud\_motif\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_motifs\_MFE}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Detect unstructured domains in MFE structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given an MFE structure and a set of unstructured domains compute the list of unstructured domain motifs present in the MFE structure. Since we do not explicitly annotate unstructured domain motifs in dot\sphinxhyphen{}bracket strings, this function can be used to check for the presence and location of unstructured domain motifs under the assumption that the dot\sphinxhyphen{}bracket string is the MFE structure of the equiibrium ensemble.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound data structure with model settings 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The MFE structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of unstructured domain motifs (possibly NULL). The last element terminates the list with \sphinxcode{\sphinxupquote{start=0}}, \sphinxcode{\sphinxupquote{number=\sphinxhyphen{}1}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_add\_motif (C function)@\spxentry{vrna\_ud\_add\_motif}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_add_motif}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1gaf82f92ab38dd65169cce575fc5f52184}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_add\_motif}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{motif}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{motif\_en}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{motif\_name}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{loop\_type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an unstructured domain motif, e.g. for ligand binding. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function adds a ligand binding motif and the associated binding free energy to the {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga0009117b14d29143e8b18ab891f48c2d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_t}}}}} attribute of a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. The motif data will then be used in subsequent secondary structure predictions. Multiple calls to this function with different motifs append all additional data to a list of ligands, which all will be evaluated. Ligand motif data can be removed from the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} again using the {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga35f92cdc7a7b75a19c46df14b992d517}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_remove()}}}}} function. The loop type parameter allows one to limit the ligand binding to particular loop type, such as the exterior loop, hairpin loops, internal loops, or multibranch loops.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaac911374e86236a51bfd42e1f098eaba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga23b610ea9564346c45cc1e2bbb62adf7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_HP\_LOOP}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gac4a0feccd9654c149203200248c2716b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_INT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga67b80796655e5227a4ed662bfbe398b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_MB\_LOOP}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga3c6be4cce70f1af9e885788856101699}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_ALL\_LOOPS}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga35f92cdc7a7b75a19c46df14b992d517}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_remove()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure the ligand motif should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{motif}} \textendash{} The sequence motif the ligand binds to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{motif\_en}} \textendash{} The binding free energy of the ligand in kcal/mol 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{motif\_name}} \textendash{} The name/id of the motif (may be \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{loop\_type}} \textendash{} The loop type the ligand binds to 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_remove (C function)@\spxentry{vrna\_ud\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga35f92cdc7a7b75a19c46df14b992d517}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_remove}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove ligand binding to unpaired stretches. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes all ligand motifs that were bound to a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} using the {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaf82f92ab38dd65169cce575fc5f52184}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_add\_motif()}}}}} function.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000101}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_remove()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure the ligand motif data should be removed from

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_set\_data (C function)@\spxentry{vrna\_ud\_set\_data}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_set_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1gafb5dba76a97912e7b09174550015aa98}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_set\_data}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_cb}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Attach an auxiliary data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds an arbitrary, auxiliary data structure for user\sphinxhyphen{}implemented ligand binding. The optional callback \sphinxcode{\sphinxupquote{free\_cb}} will be passed the bound data structure whenever the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} is removed from memory to avoid memory leaks.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000102}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_set\_data()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaeaa09aa8b60bc87d3ad92d446cb1b8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_set\_prod\_rule\_cb()}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga6518ec8abbeb4126f7f990f21d93a95f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_set\_exp\_prod\_rule\_cb()}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga35f92cdc7a7b75a19c46df14b992d517}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_remove()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure the auxiliary data structure should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to the auxiliary data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{free\_cb}} \textendash{} A pointer to a callback function that free’s memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_set\_prod\_rule\_cb (C function)@\spxentry{vrna\_ud\_set\_prod\_rule\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_set_prod_rule_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1gaeaa09aa8b60bc87d3ad92d446cb1b8c0}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_set\_prod\_rule\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_production_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_production\_f}}}}\DUrole{w}{ }\DUrole{n}{pre\_cb}\sphinxparamcomma {\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_f}}}}\DUrole{w}{ }\DUrole{n}{e\_cb}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Attach production rule callbacks for free energies computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this function to bind a user\sphinxhyphen{}implemented grammar extension for unstructured domains.

\sphinxAtStartPar
The callback \sphinxcode{\sphinxupquote{e\_cb}} needs to evaluate the free energy contribution \(f(i,j)\) of the unpaired segment \([i,j]\). It will be executed in each of the regular secondary structure production rules. Whenever the callback is passed the {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaab12b58d59be76446a9f76fad2fe624c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_MOTIF}}}}} flag via its \sphinxcode{\sphinxupquote{loop\_type}} parameter the contribution of any ligand that consecutively binds from position \(i\) to \(j\) (the white box) is requested. Otherwise, the callback usually performs a lookup in the precomputed \sphinxcode{\sphinxupquote{B}} matrices. Which \sphinxcode{\sphinxupquote{B}} matrix is addressed will be indicated by the flags {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaac911374e86236a51bfd42e1f098eaba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_EXT\_LOOP}}}}}, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga23b610ea9564346c45cc1e2bbb62adf7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_HP\_LOOP}}}}} {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gac4a0feccd9654c149203200248c2716b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_INT\_LOOP}}}}}, and {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga67b80796655e5227a4ed662bfbe398b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_UNSTRUCTURED\_DOMAIN\_MB\_LOOP}}}}}. As their names already imply, they specify exterior loops (\sphinxcode{\sphinxupquote{F}} production rule), hairpin loops and internal loops (\sphinxcode{\sphinxupquote{C}} production rule), and multibranch loops (\sphinxcode{\sphinxupquote{M}} and \sphinxcode{\sphinxupquote{M1}} production rule).

\sphinxAtStartPar
\sphinxincludegraphics{{ligands_up_callback}.png}

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{pre\_cb}} callback will be executed as a pre\sphinxhyphen{}processing step right before the regular secondary structure rules. Usually one would use this callback to fill the dynamic programming matrices \sphinxcode{\sphinxupquote{U}} and preparations of the auxiliary data structure {\hyperref[\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a8802b1b0512999a9f35202031811ce17}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_unstructured\_domain\_s.data}}}}}

\sphinxAtStartPar
\sphinxincludegraphics{{B_prod_rule}.png}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000103}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_set\_prod\_rule\_cb()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_prod\_rule\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure the callback will be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pre\_cb}} \textendash{} A pointer to a callback function for the \sphinxcode{\sphinxupquote{B}} production rule 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{e\_cb}} \textendash{} A pointer to a callback function for free energy evaluation

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ud\_set\_exp\_prod\_rule\_cb (C function)@\spxentry{vrna\_ud\_set\_exp\_prod\_rule\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_ud_set_exp_prod_rule_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar/domains_up:group__domains__up_1ga6518ec8abbeb4126f7f990f21d93a95f}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ud\_set\_exp\_prod\_rule\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_exp_production_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_exp\_production\_f}}}}\DUrole{w}{ }\DUrole{n}{pre\_cb}\sphinxparamcomma {\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{exp\_e\_cb}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Attach production rule for partition function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is the partition function companion of {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaeaa09aa8b60bc87d3ad92d446cb1b8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_set\_prod\_rule\_cb()}}}}}.

\sphinxAtStartPar
Use it to bind callbacks to (i) fill the \sphinxcode{\sphinxupquote{U}} production rule dynamic programming matrices and/or prepare the {\hyperref[\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a8802b1b0512999a9f35202031811ce17}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_unstructured\_domain\_s.data}}}}}, and (ii) provide a callback to retrieve partition functions for subsegments \( [i,j] \).

\sphinxAtStartPar
\sphinxincludegraphics{{B_prod_rule}.png}

\sphinxAtStartPar
\sphinxincludegraphics{{ligands_up_callback}.png}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000104}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_set\_exp\_prod\_rule\_cb()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_exp_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_exp\_prod\_rule\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaeaa09aa8b60bc87d3ad92d446cb1b8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_set\_prod\_rule\_cb()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure the callback will be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pre\_cb}} \textendash{} A pointer to a callback function for the \sphinxcode{\sphinxupquote{B}} production rule 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{exp\_e\_cb}} \textendash{} A pointer to a callback function that retrieves the partition function for a segment \([i,j]\) that may be bound by one or more ligands.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_unstructured\_domain\_s (C struct)@\spxentry{vrna\_unstructured\_domain\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_unstructured\_domain\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/unstructured\_domains.h\textgreater{}}
\sphinxAtStartPar
Data structure to store all functionality for ligand binding. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_unstructured\_domain\_s.uniq\_motif\_count (C var)@\spxentry{vrna\_unstructured\_domain\_s.uniq\_motif\_count}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.uniq_motif_count}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1ae17005ef8043aca2fc3864804cd5def6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{uniq\_motif\_count}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The unique number of motifs of different lengths. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.uniq\_motif\_size (C var)@\spxentry{vrna\_unstructured\_domain\_s.uniq\_motif\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.uniq_motif_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a2b484b0e19a47145db7055ada8b14159}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{uniq\_motif\_size}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An array storing a unique list of motif lengths. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.motif\_count (C var)@\spxentry{vrna\_unstructured\_domain\_s.motif\_count}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.motif_count}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a5ad34148ea1d2e501f3e02029449546e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{motif\_count}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Total number of distinguished motifs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.motif (C var)@\spxentry{vrna\_unstructured\_domain\_s.motif}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.motif}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1af285436bbdea4436ad2cedec65d48c75}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{motif}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Motif sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.motif\_name (C var)@\spxentry{vrna\_unstructured\_domain\_s.motif\_name}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.motif_name}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1ad061d55ef0b51d304c8dce88ebdbbf78}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{motif\_name}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Motif identifier/name. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.motif\_size (C var)@\spxentry{vrna\_unstructured\_domain\_s.motif\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.motif_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a6a9f89ab7d147eb0ffd6cf8d77d178c0}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{motif\_size}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Motif lengths. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.motif\_en (C var)@\spxentry{vrna\_unstructured\_domain\_s.motif\_en}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.motif_en}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1aae4f0a45419784fb7c244bce2781403d}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{motif\_en}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Ligand binding free energy contribution. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.motif\_type (C var)@\spxentry{vrna\_unstructured\_domain\_s.motif\_type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.motif_type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a3f0c026cced369ff176a66b2820f2057}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{motif\_type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Type of motif, i.e. loop type the ligand binds to. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.prod\_cb (C var)@\spxentry{vrna\_unstructured\_domain\_s.prod\_cb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.prod_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a23b048105dead59426bfb94b24bcea40}}{\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_production_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_production\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{prod\_cb}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to ligand binding production rule, i.e. create/fill DP free energy matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This callback will be executed right before the actual secondary structure decompositions, and, therefore, any implementation must not interleave with the regular DP matrices. 

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.exp\_prod\_cb (C var)@\spxentry{vrna\_unstructured\_domain\_s.exp\_prod\_cb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.exp_prod_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a0978a882ffc4afa5005ae9a4cf8a5416}}{\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_exp_production_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_exp\_production\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_prod\_cb}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to ligand binding production rule, i.e. create/fill DP partition function matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.energy\_cb (C var)@\spxentry{vrna\_unstructured\_domain\_s.energy\_cb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.energy_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a3b837fe5151c790dd6d80fe392d01d2b}}{\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_cb}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to evaluate free energy of ligand binding to a particular unpaired stretch. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.exp\_energy\_cb (C var)@\spxentry{vrna\_unstructured\_domain\_s.exp\_energy\_cb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.exp_energy_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1ade77475aef6e1b07353a391aa93bb176}}{\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_exp\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_energy\_cb}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to evaluate Boltzmann factor of ligand binding to a particular unpaired stretch. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.data (C var)@\spxentry{vrna\_unstructured\_domain\_s.data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a8802b1b0512999a9f35202031811ce17}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{data}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Auxiliary data structure passed to energy evaluation callbacks. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.free\_data (C var)@\spxentry{vrna\_unstructured\_domain\_s.free\_data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.free_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a2c0420f8d87d1f9bdb69a0852e659f48}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_data}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to free auxiliary data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.probs\_add (C var)@\spxentry{vrna\_unstructured\_domain\_s.probs\_add}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.probs_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1ae96239f2bc0cfa200e2cb29f3289c0d2}}{\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_add_probs_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_add\_probs\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{probs\_add}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to store/add outside partition function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_unstructured\_domain\_s.probs\_get (C var)@\spxentry{vrna\_unstructured\_domain\_s.probs\_get}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar/domains_up:c.vrna_unstructured_domain_s.probs_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_up:structvrna__unstructured__domain__s_1a358a155ec67451abe8a59a540cb47727}}{\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_get_probs_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_get\_probs\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{probs\_get}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to retrieve outside partition function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/unstructured\PYGZus{}domains.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Structured Domains}
\label{\detokenize{grammar/domains_struc:structured-domains}}\label{\detokenize{grammar/domains_struc::doc}}
\sphinxAtStartPar
Add and modify structured domains to the RNA folding grammar.

\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/domains_struc:id1}}{\hyperref[\detokenize{grammar/domains_struc:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{grammar/domains_struc:id2}}{\hyperref[\detokenize{grammar/domains_struc:structured-domains-api}]{\sphinxcrossref{Structured Domains API}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{grammar/domains_struc:introduction}}
\sphinxAtStartPar
This module provides the tools to add and modify structured domains to
the production rules of the RNA folding grammar.

\sphinxAtStartPar
Usually, structured domains represent self\sphinxhyphen{}enclosed structural modules that
exhibit a more or less complex base pairing pattern. This can be more or less
well\sphinxhyphen{}defined 3D motifs, such as \sphinxstyleemphasis{G\sphinxhyphen{}Quadruplexes}, or loops with additional
non\sphinxhyphen{}canonical base pair interactions, such as \sphinxstyleemphasis{kink\sphinxhyphen{}turns}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Currently, our implementation only provides the specialized case of \sphinxstyleemphasis{G\sphinxhyphen{}Quadruplexes}.
\end{sphinxadmonition}


\subsubsection{Structured Domains API}
\label{\detokenize{grammar/domains_struc:structured-domains-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar/domains_struc:group__domains__struc}}}
\pysigstopsignatures
\end{fulllineitems}



\subsection{Introduction}
\label{\detokenize{grammar:introduction}}
\sphinxAtStartPar
To predict secondary structures composed of the four distinguished loop types
introduced before, all algorithms implemented in \sphinxstyleemphasis{RNAlib} follow a specific
recursive decomposition scheme, also known as the \sphinxstyleemphasis{RNA folding grammar}, or
\sphinxstyleemphasis{Secondary Structure Folding Recurrences}.

\noindent\sphinxincludegraphics{{recursions}.png}

\sphinxAtStartPar
However, compared to other RNA secondary structure prediction libraries, our
implementation allows for a fine\sphinxhyphen{}grained control of the above recursions through:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints::doc}]{\sphinxcrossref{\DUrole{doc}{Secondary Structure Constraints}}}}, that may be applied to both, the individual
derivations of the grammar ({\hyperref[\detokenize{grammar/constraints/hard::doc}]{\sphinxcrossref{\DUrole{doc}{Hard Constraints}}}}) as well as
the evaluation of particular loop contributions ({\hyperref[\detokenize{grammar/constraints/soft::doc}]{\sphinxcrossref{\DUrole{doc}{Soft Constraints}}}})

\item {} 
\sphinxAtStartPar
\sphinxstylestrong{Extension of the RNA folding grammar rule set}. Here, users may provide
additional rules for each of the decomposition stages \sphinxcode{\sphinxupquote{F}}, \sphinxcode{\sphinxupquote{C}}, \sphinxcode{\sphinxupquote{M}},
and \sphinxcode{\sphinxupquote{M1}}, as well further auxiliary rules.

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/domains_struc::doc}]{\sphinxcrossref{\DUrole{doc}{Structured Domains}}}} and {\hyperref[\detokenize{grammar/domains_up::doc}]{\sphinxcrossref{\DUrole{doc}{Unstructured Domains}}}} that already implement
efficient grammar extensions for self\sphinxhyphen{}enclosed structures and unpaired sequence
segments, respectively.

\end{itemize}


\subsection{Additional Structural Domains}
\label{\detokenize{grammar:additional-structural-domains}}
\sphinxAtStartPar
Some applications of RNA secondary structure prediction require an extension
of the \sphinxstyleemphasis{regular RNA folding grammar}. For instance one would like to include
proteins and other ligands binding to unpaired loop regions while competing
with conventional base pairing. Another application could be that one may
want to include the formation of self\sphinxhyphen{}enclosed structural modules, such as
\sphinxstyleemphasis{G\sphinxhyphen{}quadruplexes}. For such applications, we provide a pair of additional domains
that extend the regular RNA folding grammar, {\hyperref[\detokenize{grammar/domains_struc::doc}]{\sphinxcrossref{\DUrole{doc}{Structured Domains}}}} and
{\hyperref[\detokenize{grammar/domains_up::doc}]{\sphinxcrossref{\DUrole{doc}{Unstructured Domains}}}}.

\noindent\sphinxincludegraphics{{GCrecursion}.png}

\sphinxAtStartPar
While unstructured domains are usually determined by a more or less precise
sequence motif, e.g. the binding site for a protein, structured domains are
considered self\sphinxhyphen{}enclosed modules with a more or less complex pairing pattern.
Our extension with these two domains introduces two production rules to fill
additional dynamic processing matrices \sphinxcode{\sphinxupquote{S}} and \sphinxcode{\sphinxupquote{U}} where we store the
pre\sphinxhyphen{}computed contributions of structured domains (\sphinxcode{\sphinxupquote{S}}), and unstructured
domains (\sphinxcode{\sphinxupquote{U}}).


\subsection{Extending the RNA Folding Grammar}
\label{\detokenize{grammar:extending-the-rna-folding-grammar}}
\sphinxAtStartPar
The RNA folding grammar can be easily extended by additional user\sphinxhyphen{}provided
rules. For that purpose, we implement a generic callback\sphinxhyphen{}based machinery, that
allows one to add rules to the existing decomposition stages \sphinxcode{\sphinxupquote{F}}, \sphinxcode{\sphinxupquote{C}}, \sphinxcode{\sphinxupquote{M}},
and \sphinxcode{\sphinxupquote{M1}}. If such an extension is not sufficient, users may even extend the
grammar by arbitrary additional derivations.

\sphinxAtStartPar
Additional rules can be supplied for both, MFE and partition function computations.
Here, a set of two callback functions must be provided, one for the \sphinxstyleemphasis{inside}, and
another for the \sphinxstyleemphasis{outside} recursions. The functions will then be called at appropriate
steps in the recursions automatically. Each function will be provided with a
set of parameters for the decomposition step and a user\sphinxhyphen{}defined data pointer that
may point to some memory storing any additional data required for the grammar rule.

\sphinxAtStartPar
The detailed API for this mechanism can be found below.


\subsection{RNA Folding Grammar Extension API}
\label{\detokenize{grammar:rna-folding-grammar-extension-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{grammar:group__grammar}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_gr\_aux\_t (C type)@\spxentry{vrna\_gr\_aux\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_aux_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar:group__grammar_1gab771519c88455091fff89211cc8b1f97}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_gr\_aux\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_aux\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A pointer to the auxiliary grammar data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_gr\_serialize\_bp\_f (C type)@\spxentry{vrna\_gr\_serialize\_bp\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_serialize_bp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar:group__grammar_1gadbb62f9eda06defb039fbc99199d2158}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_serialize\_bp\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Function prototype for serializing backtracked base pairs and structure elements into a dot\sphinxhyphen{}bracket string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function will be called after backtracking in the MFE predictions to convert collected base pairs and other information into a dot\sphinxhyphen{}bracket\sphinxhyphen{}like structure string.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000014}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback allows for changing the way how base pairs (and other types of data) obtained from the default and extended grammar are converted back into a dot\sphinxhyphen{}bracket string. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/structures:group__struct__utils_1ga29d5a2517277a5b7eba6c8a101555ef4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_bps()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound to work on 

\sphinxlineitem{Param bp\_stack}
\sphinxAtStartPar
The base pair stack 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary user\sphinxhyphen{}provided data pointer 

\sphinxlineitem{Return}
\sphinxAtStartPar
A ‘\textbackslash{}0’\sphinxhyphen{}terminated dot\sphinxhyphen{}bracket\sphinxhyphen{}like string representing the structure from \sphinxcode{\sphinxupquote{bp\_stack}} (and \sphinxcode{\sphinxupquote{data}}) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_inside\_f (C type)@\spxentry{vrna\_gr\_inside\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_inside_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_inside\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Function prototype for auxiliary grammar rules (inside version, MFE). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function will be called during the inside recursions of MFE predictions for subsequences from position \sphinxcode{\sphinxupquote{i}} to \sphinxcode{\sphinxupquote{j}} and is supposed to return an energy contribution in dekacal/mol.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000015}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback allows for extending the MFE secondary structure decomposition with additional rules. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, vrna\_gr\_add\_aux\_aux(), {\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound to work on 

\sphinxlineitem{Param i}
\sphinxAtStartPar
The 5’ delimiter of the sequence segment 

\sphinxlineitem{Param j}
\sphinxAtStartPar
The 3’ delimiter of the sequence segment 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary user\sphinxhyphen{}provided data pointer 

\sphinxlineitem{Return}
\sphinxAtStartPar
The free energy computed by the auxiliary grammar rule in dekacal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_outside\_f (C type)@\spxentry{vrna\_gr\_outside\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_outside_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_outside\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{e}\DUrole{p}{,}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\DUrole{p}{,}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Function prototype for auxiliary grammar rules (outside version, MFE). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function will be called during the backtracking stage of MFE predictions for subsequences from position \sphinxcode{\sphinxupquote{i}} to \sphinxcode{\sphinxupquote{j}} and is supposed to identify the the structure components that give rise to the corresponding energy contribution \sphinxcode{\sphinxupquote{e}} as determined in the inside (forward) step.

\sphinxAtStartPar
For that purpose, the function may modify the base pair stack (\sphinxcode{\sphinxupquote{bp\_stack}}) by adding all base pairs identified through the additional rule. In addition, when the rule sub\sphinxhyphen{}divides the sequence segment into smaller pieces, these pieces can be put onto the backtracking (\sphinxcode{\sphinxupquote{bt\_stack}}) stack. On successful backtrack, the function returns non\sphinxhyphen{}zero, and exactly zero (0) when the backtracking failed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000016}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback allows for backtracking (sub)structures obtained from extending the MFE secondary structure decomposition with additional rules. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, vrna\_gr\_add\_aux\_aux(), {\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound to work on 

\sphinxlineitem{Param i}
\sphinxAtStartPar
The 5’ delimiter of the sequence segment 

\sphinxlineitem{Param j}
\sphinxAtStartPar
The 3’ delimiter of the sequence segment 

\sphinxlineitem{Param e}
\sphinxAtStartPar
The energy of the segment {[}i:j{]} 

\sphinxlineitem{Param bp\_stack}
\sphinxAtStartPar
The base pair stack 

\sphinxlineitem{Param bt\_stack}
\sphinxAtStartPar
The backtracking stack (all segments that need to be further investigated) 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary user\sphinxhyphen{}provided data pointer 

\sphinxlineitem{Return}
\sphinxAtStartPar
The free energy computed by the auxiliary grammar rule in dekacal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_inside\_exp\_f (C type)@\spxentry{vrna\_gr\_inside\_exp\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_inside_exp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_inside\_exp\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Function prototype for auxiliary grammar rules (inside version, partition function). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function will be called during the inside recursions of partition function predictions for subsequences from position \sphinxcode{\sphinxupquote{i}} to \sphinxcode{\sphinxupquote{j}} and is supposed to return a Boltzmann factor with energy contribution in cal/mol.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback allows for extending the partition function secondary structure decomposition with additional rules. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound to work on 

\sphinxlineitem{Param i}
\sphinxAtStartPar
The 5’ delimiter of the sequence segment 

\sphinxlineitem{Param j}
\sphinxAtStartPar
The 3’ delimiter of the sequence segment 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary user\sphinxhyphen{}provided data pointer 

\sphinxlineitem{Return}
\sphinxAtStartPar
The partition function omputed by the auxiliary grammar rule with energies in cal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_outside\_exp\_f (C type)@\spxentry{vrna\_gr\_outside\_exp\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_outside_exp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{grammar:group__grammar_1gabb020faa05e85ab50ef339f0c41b6d07}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_outside\_exp\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_gr\_prepare (C function)@\spxentry{vrna\_gr\_prepare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_prepare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gad8a3f9ed2e84e2b2b7803043b539b9d8}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_prepare}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare the auxiliary grammar rule data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is mainly for internal use. Users of the auxiliary grammar API usually do not need to call this function except for debugging purposes.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound storing the auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options flag(s) that denote what needs to be prepared 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
non\sphinxhyphen{}zero on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_status (C function)@\spxentry{vrna\_gr\_add\_status}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_status}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga64fd382fd5b2a3f87c472230c3ce5d08}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_status}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_recursion_status_f}]{\sphinxcrossref{\DUrole{n}{vrna\_recursion\_status\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{prepare\_cb}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_cb}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add status event based data preparation callbacks. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds additional data structures and corresponding callback functions for the auxiliary grammar extension API. This might be helpful whenever certain preparation steps need to be done prior and/or after the actual run of the prediction algorithms.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The recursion status callback that performs the preparation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data pointer the \sphinxcode{\sphinxupquote{cb}} callback is working on 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prepare\_cb}} \textendash{} A preparation callback function for parameter \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{free\_cb}} \textendash{} A callback to release memory for \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of status function callbacks bound to the fold compound or 0 on error 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_set\_serialize\_bp (C function)@\spxentry{vrna\_gr\_set\_serialize\_bp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_set_serialize_bp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gad85a9bb3b077eeeb23a8cfeac7024711}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_set\_serialize\_bp}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_serialize_bp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_serialize\_bp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{prepare\_cb}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_cb}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set base pair stack to dot\sphinxhyphen{}bracket string serialization function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
After backtracking secondary structures, e.g. in MFE predictions, the outside algorithm usually collects a set of base pairs that then need to be converted into a dot\sphinxhyphen{}bracket string. By default, this conversion is done using the {\hyperref[\detokenize{utils/structures:group__struct__utils_1ga29d5a2517277a5b7eba6c8a101555ef4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_bps()}}}}} function. However, this function only considers nested base pairs and no other type of secondary structure elements.

\sphinxAtStartPar
When extending the recursions by additional rules, the default conversion may not suffice, e.g. because the grammar extension adds 2.5D modules or pseudoknots. In such cases the user should implement its own dot\sphinxhyphen{}bracket string conversion strategy that may use additional symbols.

\sphinxAtStartPar
This function binds a user\sphinxhyphen{}implemented conversion function that must return a ‘\textbackslash{}0’ terminated dot\sphinxhyphen{}bracket\sphinxhyphen{}like string the same length as the input sequence. The conversion function will then be used instead of the default one. In addition to the base pair stack {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga9452b56292759e4264eb888ed3cc8655}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_t}}}}}, the user\sphinxhyphen{}defined conversion function may keep track of whatever information is neccessary to properly convert the backtracked structure into a dot\sphinxhyphen{}bracket string. For that purpose, the \sphinxcode{\sphinxupquote{data}} pointer can be used, e.g. it can point to the same data as used in any of the grammar extension rules. The \sphinxcode{\sphinxupquote{prepare\_cb}} and \sphinxcode{\sphinxupquote{free\_cb}} callbacks can again be used to control preparation and release of the memory \sphinxcode{\sphinxupquote{data}} points to. The \sphinxcode{\sphinxupquote{prepare\_cb}} will be called after all the preparations for the grammar extensions and prior the actual inside\sphinxhyphen{}recursions. The conversion function callback \sphinxcode{\sphinxupquote{cb}} will be called after backtracking.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/structures:group__struct__utils_1ga29d5a2517277a5b7eba6c8a101555ef4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_bps()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} A pointer to the conversion callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to arbitrary data that will be passed through to \sphinxcode{\sphinxupquote{cb}} (may be \sphinxstylestrong{NULL}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prepare\_cb}} \textendash{} A function pointer to prepare \sphinxcode{\sphinxupquote{data}} (may be \sphinxstylestrong{NULL}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{free\_cb}} \textendash{} A function pointer to release memory occupied by \sphinxcode{\sphinxupquote{data}} (may be \sphinxstylestrong{NULL}) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_reset (C function)@\spxentry{vrna\_gr\_reset}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_reset}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga33c347bb8a5b4664f10f952e5f4a8dc6}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_reset}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove all auxiliary grammar rules. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function re\sphinxhyphen{}sets the fold compound to the default rules by removing all auxiliary grammar rules
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_f (C function)@\spxentry{vrna\_gr\_add\_aux\_f}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_f}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_bt}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the F\sphinxhyphen{}decomposition (MFE version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the F\sphinxhyphen{}decomposition, i.e. the external loop decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes a minimum free energy contribution for any subsequence the outside rule (\sphinxcode{\sphinxupquote{cb\_bt}}) is used for backtracking the corresponding structure.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_f}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_outside\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_bt}} \textendash{} The auxiliary grammar callback for the outside (backtracking) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the MFE F\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_c (C function)@\spxentry{vrna\_gr\_add\_aux\_c}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_c}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_c}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_bt}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the C\sphinxhyphen{}decomposition (MFE version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the C\sphinxhyphen{}decomposition, i.e. the base pair decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes a minimum free energy contribution for any subsequence the outside rule (\sphinxcode{\sphinxupquote{cb\_bt}}) is used for backtracking the corresponding structure.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_f}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_outside\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_bt}} \textendash{} The auxiliary grammar callback for the outside (backtracking) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the MFE C\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_m (C function)@\spxentry{vrna\_gr\_add\_aux\_m}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_m}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_bt}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the M\sphinxhyphen{}decomposition (MFE version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the M\sphinxhyphen{}decomposition, i.e. the multibranch loop decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes a minimum free energy contribution for any subsequence the outside rule (\sphinxcode{\sphinxupquote{cb\_bt}}) is used for backtracking the corresponding structure.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_f}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_outside\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_bt}} \textendash{} The auxiliary grammar callback for the outside (backtracking) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the MFE M\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_m1 (C function)@\spxentry{vrna\_gr\_add\_aux\_m1}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_m1}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_m1}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_bt}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the M1\sphinxhyphen{}decomposition (MFE version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the M1\sphinxhyphen{}decomposition, i.e. the multibranch loop components with exactly one branch decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes a minimum free energy contribution for any subsequence the outside rule (\sphinxcode{\sphinxupquote{cb\_bt}}) is used for backtracking the corresponding structure.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_f}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_outside\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_bt}} \textendash{} The auxiliary grammar callback for the outside (backtracking) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the MFE M1\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_m2 (C function)@\spxentry{vrna\_gr\_add\_aux\_m2}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_m2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga0f795ce370ef4ffba88ef3b30f9c1511}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_m2}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_bt}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the M2\sphinxhyphen{}decomposition (MFE version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the M2\sphinxhyphen{}decomposition, i.e. the multibranch loop components with at least two branches.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes a minimum free energy contribution for any subsequence the outside rule (\sphinxcode{\sphinxupquote{cb\_bt}}) is used for backtracking the corresponding structure.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_f}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_outside\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_bt}} \textendash{} The auxiliary grammar callback for the outside (backtracking) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the MFE M2\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux (C function)@\spxentry{vrna\_gr\_add\_aux}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_bt}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule (MFE version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/mfe.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) as additional, independent decomposition steps.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes a minimum free energy contribution for any subsequence the outside rule (\sphinxcode{\sphinxupquote{cb\_bt}}) is used for backtracking the corresponding structure.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_f}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_outside\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_bt}} \textendash{} The auxiliary grammar callback for the outside (backtracking) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for MFE predictions, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_exp\_f (C function)@\spxentry{vrna\_gr\_add\_aux\_exp\_f}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_exp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_exp\_f}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_out}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the F\sphinxhyphen{}decomposition (partition function version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the F\sphinxhyphen{}decomposition, i.e. the external loop decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes the partition function for any subsequence, the outside rule (\sphinxcode{\sphinxupquote{cb\_out}}) is used for (base pairing) probabilities.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\sphinxstyleemphasis{Bug:}}
\pysigstopsignatures
\sphinxAtStartPar
Calling the \sphinxcode{\sphinxupquote{cb\_out}} callback is not implemented yet!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga50591ba118b08df367cf93643f6e62e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_exp\_f}}}}}, vrna\_gr\_outside\_exp\_f, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_out}} \textendash{} The auxiliary grammar callback for the outside (probability) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the partition function F\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_exp\_c (C function)@\spxentry{vrna\_gr\_add\_aux\_exp\_c}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_exp_c}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_exp\_c}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_out}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the C\sphinxhyphen{}decomposition (partition function version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the C\sphinxhyphen{}decomposition, i.e. the base pair decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes the partition function for any subsequence, the outside rule (\sphinxcode{\sphinxupquote{cb\_out}}) is used for (base pairing) probabilities.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\sphinxstyleemphasis{Bug:}}
\pysigstopsignatures
\sphinxAtStartPar
Calling the \sphinxcode{\sphinxupquote{cb\_out}} callback is not implemented yet!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga6fc02aefc88cca07936be34a59f55e77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_exp\_f}}}}}, vrna\_gr\_outside\_exp\_f, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_out}} \textendash{} The auxiliary grammar callback for the outside (probability) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the partition function C\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_exp\_m (C function)@\spxentry{vrna\_gr\_add\_aux\_exp\_m}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_exp_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_exp\_m}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_out}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the M\sphinxhyphen{}decomposition (partition function version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the M\sphinxhyphen{}decomposition, i.e. the multibranch loop decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes the partition function for any subsequence, the outside rule (\sphinxcode{\sphinxupquote{cb\_out}}) is used for (base pairing) probabilities.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\sphinxstyleemphasis{Bug:}}
\pysigstopsignatures
\sphinxAtStartPar
Calling the \sphinxcode{\sphinxupquote{cb\_out}} callback is not implemented yet!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga70e501fdcfee7f982d137788645bf164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_exp\_f}}}}}, vrna\_gr\_outside\_exp\_f, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_out}} \textendash{} The auxiliary grammar callback for the outside (probability) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the partition function M\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_exp\_m1 (C function)@\spxentry{vrna\_gr\_add\_aux\_exp\_m1}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_exp_m1}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_exp\_m1}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_out}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the M1\sphinxhyphen{}decomposition (partition function version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the M1\sphinxhyphen{}decomposition, i.e. the multibranch loop components with exactly one branch decomposition stage.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes the partition function for any subsequence, the outside rule (\sphinxcode{\sphinxupquote{cb\_out}}) is used for (base pairing) probabilities.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\sphinxstyleemphasis{Bug:}}
\pysigstopsignatures
\sphinxAtStartPar
Calling the \sphinxcode{\sphinxupquote{cb\_out}} callback is not implemented yet!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_exp\_f}}}}}, vrna\_gr\_outside\_exp\_f, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_out}} \textendash{} The auxiliary grammar callback for the outside (probability) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the partition function M1\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_exp\_m2 (C function)@\spxentry{vrna\_gr\_add\_aux\_exp\_m2}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_exp_m2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gafdef70e67cd64016ccbe24085d88a0ea}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_exp\_m2}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_out}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule for the M2\sphinxhyphen{}decomposition (partition function version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) in the M2\sphinxhyphen{}decomposition, i.e. the multibranch loop components with at least two branches.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes the partition function for any subsequence, the outside rule (\sphinxcode{\sphinxupquote{cb\_out}}) is used for (base pairing) probabilities.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\sphinxstyleemphasis{Bug:}}
\pysigstopsignatures
\sphinxAtStartPar
Calling the \sphinxcode{\sphinxupquote{cb\_out}} callback is not implemented yet!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gaaed0fddbb48006a8f3efc3a6d9e8f9c5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_exp\_f}}}}}, vrna\_gr\_outside\_exp\_f, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_out}} \textendash{} The auxiliary grammar callback for the outside (probability) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for the partition function M2\sphinxhyphen{}decomposition stage, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_gr\_add\_aux\_exp (C function)@\spxentry{vrna\_gr\_add\_aux\_exp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{grammar:c.vrna_gr_add_aux_exp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{grammar:group__grammar_1gae7c41211cae3f0ecf7d19c6e79760ad8}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gr\_add\_aux\_exp}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_inside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_inside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma {\hyperref[\detokenize{grammar:c.vrna_gr_outside_exp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_outside\_exp\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_out}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_prepare}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary grammar rule (partition function version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/grammar/partfunc.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function binds callback functions for auxiliary grammar rules (inside and outside) as additional, independent decomposition steps.

\sphinxAtStartPar
While the inside rule (\sphinxcode{\sphinxupquote{cb}}) computes the partition function for any subsequence, the outside rule (\sphinxcode{\sphinxupquote{cb\_out}}) is used for (base pairing) probabilities.

\sphinxAtStartPar
Both callbacks will be provided with the \sphinxcode{\sphinxupquote{data}} pointer that can be used to store whatever data is needed in the callback evaluations. The \sphinxcode{\sphinxupquote{data\_prepare}} callback may be used to prepare the \sphinxcode{\sphinxupquote{data}} just before the start of the recursions. If present, it will be called prior the actual decompositions automatically. You may use the \sphinxcode{\sphinxupquote{data\_release}} callback to properly free the memory of \sphinxcode{\sphinxupquote{data}} once it is not required anymore. Hence, it serves as a kind of destructor for \sphinxcode{\sphinxupquote{data}} which will be called as soon as the grammar rules of \sphinxcode{\sphinxupquote{fc}} are re\sphinxhyphen{}set to defaults or if the \sphinxcode{\sphinxupquote{fc}} is destroyed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\sphinxstyleemphasis{Bug:}}
\pysigstopsignatures
\sphinxAtStartPar
Calling the \sphinxcode{\sphinxupquote{cb\_out}} callback is not implemented yet!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar:group__grammar_1gae6cd3eb044afeb21c9967cc4a03c6d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_f()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga1926c136d684aac820bb3d2829766588}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_c()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga7e3d34fc13194c18ff9d02d00ed5b96c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gabfab49a5d7dc75011e4abbce376a63df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux\_exp\_m1()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1gac4341849c5eefb4317f62915467eba63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_add\_aux()}}}}}, {\hyperref[\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_exp\_f}}}}}, vrna\_gr\_outside\_exp\_f, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_prepare\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound that is to be extended by auxiliary grammar rules 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The auxiliary grammar callback for the inside step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb\_out}} \textendash{} The auxiliary grammar callback for the outside (probability) step 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to some data that will be passed through to the inside and outside callbacks 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_prepare}} \textendash{} A callback to prepare \sphinxcode{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A callback to free\sphinxhyphen{}up memory occupied by \sphinxcode{\sphinxupquote{data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of auxiliary grammar rules for partition function predictions, or 0 on error. 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\section{The RNA Secondary Structure Landscape}
\label{\detokenize{landscape:the-rna-secondary-structure-landscape}}\label{\detokenize{landscape::doc}}
\sphinxstepscope


\subsection{Neighborhood Relation and Move Sets for Secondary Structures}
\label{\detokenize{landscape/neighbors:neighborhood-relation-and-move-sets-for-secondary-structures}}\label{\detokenize{landscape/neighbors::doc}}
\sphinxAtStartPar
Different functions to generate structural neighbors of a secondary
structure according to a particular Move Set.

\sphinxAtStartPar
This module contains methods to compute the neighbors of an RNA
secondary structure. Neighbors of a given structure are all structures
that differ in exactly one base pair. That means one can insert an
delete base pairs in the given structure. These insertions and
deletions of base pairs are usually called moves. A third move which
is considered in these methods is a shift move. A shifted base pair
has one stable position and one position that changes. These moves
are encoded as follows:
\begin{itemize}
\item {} 
\sphinxAtStartPar
insertion: \((i, j)\) where \(i,j > 0\)

\item {} 
\sphinxAtStartPar
deletion: \((i, j)\) where \(i,j\) \textless{} 0

\item {} 
\sphinxAtStartPar
shift: \((i, j)\) where either \(i > 0, j < 0\) or \(i < 0, j > 0\)

\end{itemize}

\sphinxAtStartPar
The negative position of a shift indicates the position that has changed.

\sphinxAtStartPar
An example:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{We} \PYG{n}{are} \PYG{n}{given} \PYG{n}{a} \PYG{n}{sequence} \PYG{o+ow}{and} \PYG{n}{a} \PYG{n}{structure}\PYG{o}{.}
\PYG{n}{Sequence}  \PYG{n}{AAGGAAACC}
 \PYG{n}{Structure} \PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}
 \PYG{n}{Indices}   \PYG{l+m+mi}{123456789}

 \PYG{n}{The} \PYG{n}{given} \PYG{n}{base} \PYG{n}{pair} \PYG{o+ow}{is} \PYG{p}{(}\PYG{l+m+mi}{3}\PYG{p}{,}\PYG{l+m+mi}{9}\PYG{p}{)} \PYG{o+ow}{and} \PYG{n}{the} \PYG{n}{neighbors} \PYG{n}{are} \PYG{n}{the} \PYG{n}{insertion} \PYG{p}{(}\PYG{l+m+mi}{4}\PYG{p}{,} \PYG{l+m+mi}{8}\PYG{p}{)}\PYG{p}{,}
 \PYG{n}{the} \PYG{n}{deletion} \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{3}\PYG{p}{,}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{9}\PYG{p}{)}\PYG{p}{,} \PYG{n}{the} \PYG{n}{shift} \PYG{p}{(}\PYG{l+m+mi}{3}\PYG{p}{,}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{8}\PYG{p}{)} \PYG{o+ow}{and} \PYG{n}{the} \PYG{n}{shift} \PYG{p}{(}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{4}\PYG{p}{,} \PYG{l+m+mi}{9}\PYG{p}{)}\PYG{o}{.}
 \PYG{n}{This} \PYG{n}{leads} \PYG{n}{to} \PYG{n}{the} \PYG{n}{neighbored} \PYG{n}{structures}\PYG{p}{:}
 \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}
 \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
 \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}
 \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
A simple method to construct all insertions is to iterate over the positions of a sequence twice. The first
iteration has the index i in {[}1, sequence length{]}, the second iteration has the index j in {[}i+1, sequence length{]}.
All pairs (i,j) with compatible letters and which are non\sphinxhyphen{}crossing with present base pairs are valid neighbored
insertion moves.
Valid deletion moves are all present base pairs with negative sign.
Valid shift moves are constructed by taking all paired positions as fix position of a shift move and iterating over
all positions of the sequence. If the letters of a position are compatible and if it the move is non\sphinxhyphen{}crossing with
existing base pairs, we have a valid shift move.
The method of generating shift moves can be accelerated by skipping neighbored base pairs.

\sphinxAtStartPar
If we need to construct all neighbors several times for subsequent moves, we can speed up the task by using
the move set of the previous structure. The previous move set has to be filtered, such that all moves that would
cross the next selected move are non\sphinxhyphen{}crossing. Next, the selected move has to be removed. Then one has to only
to generate all moves that were not possible before.
One move is the inverted selected move (if it was an insertion, simply make the indices negative).
The generation of all other new moves is different and depends on the selected move. It is easy for an insertion move,
because we have only to include all non\sphinxhyphen{}crossing shift moves, that are possible with the new base pair. For that we can
either iterate over the sequence or we can select all crossing shift moves in the filter procedure and convert them into
shifts.

\sphinxAtStartPar
The generation of new moves given a deletion is a little bit more complex, because we can create more moves. At first
we can insert the deleted pair as insertion move. Then we generate all insertions that would have crossed the deleted
base pair. Finally we construct all crossing shift moves.

\sphinxAtStartPar
If the given move is a shift, we can save much time by specifying the intervals for the generation of new moves.
The interval which was enclosed by the positive position of the shift move and the previous paired position is the
freed interval after applying the move. This freed interval includes all positions and base pairs that we need to
construct new insertions and shifts. All these new moves have one position in the freed interval and the other position
in the environment of the freed interval. The environment are all position which are outside the freed interval, but within
the same enclosing loop of the shift move. The environment for valid base pairs can be divided into one or more intervals,
depending on the shift move. The following examples describe a few scenarios to specify the intervals of the environment.

\sphinxAtStartPar
Example 1:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{increase} \PYG{n}{the} \PYG{n}{freed} \PYG{n}{interval} \PYG{k}{with} \PYG{n}{a} \PYG{n}{shift} \PYG{n}{move}
\PYG{n}{AAAAGACAAGAAACAAAAGAGAAACAACAAACAAGAAACAAACAAAA}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{structure} \PYG{n}{before} \PYG{n}{the} \PYG{n}{shift}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{structure} \PYG{n}{after} \PYG{n}{the} \PYG{n}{shift}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{freed} \PYG{n}{interval}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{interval} \PYG{n}{that} \PYG{n}{can} \PYG{n}{pair} \PYG{k}{with} \PYG{n}{the} \PYG{n}{freed} \PYG{n}{interval}
\end{sphinxVerbatim}

\sphinxAtStartPar
Example 2:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{switch} \PYG{n}{the} \PYG{n}{freed} \PYG{n}{interval} \PYG{k}{with} \PYG{n}{a} \PYG{n}{shift} \PYG{n}{move}
\PYG{n}{AAAAGACAAGAAACAAAAGAGAAACAACAAACAAGAAACAAACAAAA}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{structure} \PYG{n}{before} \PYG{n}{the} \PYG{n}{shift}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{structure} \PYG{n}{after} \PYG{n}{the} \PYG{n}{shift}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{freed} \PYG{n}{interval}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{intervals} \PYG{n}{that} \PYG{n}{can} \PYG{n}{pair} \PYG{k}{with} \PYG{n}{the} \PYG{n}{freed} \PYG{n}{interval}
\end{sphinxVerbatim}

\sphinxAtStartPar
Example 3:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{decrease} \PYG{n}{the} \PYG{n}{freed} \PYG{n}{interval} \PYG{k}{with} \PYG{n}{a} \PYG{n}{shift} \PYG{n}{move}
\PYG{n}{AAAAGACAAGAAACAAAAGAGAAACAACAAACAAGAAACAAACAAAA}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{structure} \PYG{n}{before} \PYG{n}{the} \PYG{n}{shift}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{(}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{)}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{structure} \PYG{n}{after} \PYG{n}{the} \PYG{n}{shift}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{freed} \PYG{n}{interval}
\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{[}\PYG{n}{\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}\PYGZus{}}\PYG{p}{]}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{o}{/}\PYG{o}{/} \PYG{n}{intervals} \PYG{n}{that} \PYG{n}{can} \PYG{n}{pair} \PYG{k}{with} \PYG{n}{the} \PYG{n}{freed} \PYG{n}{interval}
\end{sphinxVerbatim}

\noindent\sphinxincludegraphics{{shift_move_intervals}.png}

\sphinxAtStartPar
Given the intervals of the environment and the freed interval, the new shift moves can be constructed quickly.
One has to take all positions of pairs from the environment in order to create valid pairs with positions in the freed interval.
The same procedure can be applied for the other direction. This is taking all paired positions within the freed interval
in order to look for pairs with valid positions in the intervals of the environment.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_MOVESET\_INSERTION (C macro)@\spxentry{VRNA\_MOVESET\_INSERTION}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_MOVESET_INSERTION}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gaf39028db9c70d3be528929182a3f2d5a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MOVESET\_INSERTION}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating insertion move. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab70db80566b1c30257bd9e0c813df59e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors\_successive}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MOVESET\_DELETION (C macro)@\spxentry{VRNA\_MOVESET\_DELETION}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_MOVESET_DELETION}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gac05db9392c6647e3e9a6982096c5b384}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MOVESET\_DELETION}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating deletion move. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab70db80566b1c30257bd9e0c813df59e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors\_successive}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MOVESET\_SHIFT (C macro)@\spxentry{VRNA\_MOVESET\_SHIFT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_MOVESET_SHIFT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga68ea27c81de4b74e48b775c04052590b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MOVESET\_SHIFT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating shift move. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab70db80566b1c30257bd9e0c813df59e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors\_successive}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MOVESET\_NO\_LP (C macro)@\spxentry{VRNA\_MOVESET\_NO\_LP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_MOVESET_NO_LP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga258084b251b218fba9398826435a4393}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MOVESET\_NO\_LP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating moves without lonely base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab70db80566b1c30257bd9e0c813df59e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors\_successive}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MOVESET\_DEFAULT (C macro)@\spxentry{VRNA\_MOVESET\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_MOVESET_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MOVESET\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating default move set, i.e. insertions/deletion of a base pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab70db80566b1c30257bd9e0c813df59e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors\_successive}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MOVE\_NO\_APPLY (C macro)@\spxentry{VRNA\_MOVE\_NO\_APPLY}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_MOVE_NO_APPLY}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga555087dc5cc35a93f71d952220d83388}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MOVE\_NO\_APPLY}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_NEIGHBOR\_CHANGE (C macro)@\spxentry{VRNA\_NEIGHBOR\_CHANGE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_NEIGHBOR_CHANGE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gae72b0e349b6108c00737df51cce44622}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_NEIGHBOR\_CHANGE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
State indicator for a neighbor that has been changed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa034225aad402bebd2a05dae51316f47}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_neighbor\_diff\_cb()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_NEIGHBOR\_INVALID (C macro)@\spxentry{VRNA\_NEIGHBOR\_INVALID}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_NEIGHBOR_INVALID}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gaf7e3417828057ae0ed4d0de03178116a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_NEIGHBOR\_INVALID}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
State indicator for a neighbor that has been invalidated. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa034225aad402bebd2a05dae51316f47}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_neighbor\_diff\_cb()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_NEIGHBOR\_NEW (C macro)@\spxentry{VRNA\_NEIGHBOR\_NEW}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.VRNA_NEIGHBOR_NEW}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga9343dd62daad15b6b8c55c1260c09228}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_NEIGHBOR\_NEW}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
State indicator for a neighbor that has become newly available. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa034225aad402bebd2a05dae51316f47}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_neighbor\_diff\_cb()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_move\_t (C type)@\spxentry{vrna\_move\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga08630e00206cd163ea29c462bf5f4755}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_s}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A single move that transforms a secondary structure into one of its neighbors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_move\_update\_f (C type)@\spxentry{vrna\_move\_update\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_update_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gada5cf954de328f9d283558c8bd0eeedb}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_update\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{n}{neighbor}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{state}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prototype of the neighborhood update callback. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa034225aad402bebd2a05dae51316f47}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_neighbor\_diff\_cb()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gae72b0e349b6108c00737df51cce44622}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_CHANGE}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaf7e3417828057ae0ed4d0de03178116a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_INVALID}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga9343dd62daad15b6b8c55c1260c09228}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_NEW}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound the calling function is working on 

\sphinxlineitem{Param neighbor}
\sphinxAtStartPar
The move that generates the (changed or new) neighbor 

\sphinxlineitem{Param state}
\sphinxAtStartPar
The state of the neighbor (move) as supplied by argument \sphinxcode{\sphinxupquote{neighbor}}

\sphinxlineitem{Param data}
\sphinxAtStartPar
Some arbitrary data pointer as passed to {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa034225aad402bebd2a05dae51316f47}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_neighbor\_diff\_cb()}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_move\_update (C type)@\spxentry{vrna\_callback\_move\_update}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_callback_move_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga26a98e8f3ddf9802818b83a14b85acb1}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_move\_update}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{n}{neighbor}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{state}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_move\_init (C function)@\spxentry{vrna\_move\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gaeff6157398a2073f587416fa9ec94789}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_init}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pos\_5}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pos\_3}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create an atomic move. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:structvrna__move__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_s}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pos\_5}} \textendash{} The 5’ position of the move (positive for insertions, negative for removal, any value for shift moves) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pos\_3}} \textendash{} The 3’ position of the move (positive for insertions, negative for removal, any value for shift moves) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An atomic move as specified by \sphinxcode{\sphinxupquote{pos\_5}} and \sphinxcode{\sphinxupquote{pos\_3}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_move\_list\_free (C function)@\spxentry{vrna\_move\_list\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_list_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gad085062ae3aa7ee20783debe4a906fad}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_list\_free}}}}
{{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{moves}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
delete all moves in a zero terminated list. 

\end{fulllineitems}

\index{vrna\_move\_apply (C function)@\spxentry{vrna\_move\_apply}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_apply}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gacdbc5f609b46aeb07d2c7e015677a1e0}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_apply}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply a particular move / transition to a secondary structure, i.e. transform a structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} \sphinxstylestrong{{[}inout{]}} The pair table representation of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} \sphinxstylestrong{{[}in{]}} The move to apply 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_move\_apply\_db (C function)@\spxentry{vrna\_move\_apply\_db}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_apply_db}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gab791a8a0623af5693d99618d41e51bf1}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_apply\_db}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_move\_is\_removal (C function)@\spxentry{vrna\_move\_is\_removal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_is_removal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga9cf75e9c6551f46ea568abf4f7fd11cd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_is\_removal}}}}
{\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Test whether a move is a base pair removal. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} The move to test against 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero if the move is a base pair removal, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_move\_is\_insertion (C function)@\spxentry{vrna\_move\_is\_insertion}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_is_insertion}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga613d33e6fa8e784d76b34bb07458f398}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_is\_insertion}}}}
{\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Test whether a move is a base pair insertion. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} The move to test against 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero if the move is a base pair insertion, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_move\_is\_shift (C function)@\spxentry{vrna\_move\_is\_shift}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_is_shift}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga31a8c4c2db9f54cb8f2d2cdf3b725d4d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_is\_shift}}}}
{\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Test whether a move is a base pair shift. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} The move to test against 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero if the move is a base pair shift, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_move\_compare (C function)@\spxentry{vrna\_move\_compare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_compare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gad0d2065cfa00151d9e8f79459d98173d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_compare}}}}
{\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{b}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compare two moves. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The function compares two moves \sphinxcode{\sphinxupquote{m}} and \sphinxcode{\sphinxupquote{b}} and returns whether move \sphinxcode{\sphinxupquote{m}} is lexicographically smaller (\sphinxhyphen{}1), larger (1) or equal to move \sphinxcode{\sphinxupquote{b}}.

\sphinxAtStartPar
If any of the moves \sphinxcode{\sphinxupquote{m}} or \sphinxcode{\sphinxupquote{b}} is a shift move, this comparison only makes sense in a structure context. Thus, the third argument with the current structure must be provided.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function returns 0 (equality) upon any error, e.g. missing input
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Currently, shift moves are not supported!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} The first move of the comparison 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The second move of the comparison 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table of the current structure that is compatible with both moves (maybe NULL if moves are guaranteed to be no shifts) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
\sphinxhyphen{}1 if \sphinxcode{\sphinxupquote{m}} \textless{} \sphinxcode{\sphinxupquote{b}}, 1 if \sphinxcode{\sphinxupquote{m}} \textgreater{} \sphinxcode{\sphinxupquote{b}}, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_loopidx\_update (C function)@\spxentry{vrna\_loopidx\_update}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_loopidx_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga5ceb55ee56494b1f5b7aaa758cb722d1}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_loopidx\_update}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{loopidx}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{m}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Alters the loopIndices array that was constructed with {\hyperref[\detokenize{utils/structures:group__struct__utils_1ga8a2c825d6a9c2d73329b6c09320a6a90}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_loopidx\_from\_ptable()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The loopIndex of the current move will be inserted. The correctness of the input will not be checked because the speed should be optimized.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{loopidx}} \textendash{} \sphinxstylestrong{{[}inout{]}} The loop index data structure that needs an update 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} \sphinxstylestrong{{[}in{]}} A pair table on which the move will be executed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} \sphinxstylestrong{{[}in{]}} The move that is applied to the current structure 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_neighbors (C function)@\spxentry{vrna\_neighbors}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_neighbors}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_neighbors}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Generate neighbors of a secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to generate all structural neighbors (according to a particular move set) of an RNA secondary structure. The neighborhood is then returned as a list of transitions / moves required to transform the current structure into the actual neighbor.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000128}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{neighbors()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.neighbors}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.neighbors()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab70db80566b1c30257bd9e0c813df59e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors\_successive()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gacdbc5f609b46aeb07d2c7e015677a1e0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_apply()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaf39028db9c70d3be528929182a3f2d5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_INSERTION}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gac05db9392c6647e3e9a6982096c5b384}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DELETION}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga68ea27c81de4b74e48b775c04052590b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_SHIFT}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}in{]}} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} \sphinxstylestrong{{[}in{]}} The pair table representation of the structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to modify the behavior of this function, e.g. available move set 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Neighbors as a list of moves / transitions (the last element in the list has both of its fields set to 0)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_neighbors\_successive (C function)@\spxentry{vrna\_neighbors\_successive}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_neighbors_successive}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gab70db80566b1c30257bd9e0c813df59e}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_neighbors\_successive}}}}
{\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{curr\_move}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prev\_pt}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prev\_neighbors}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{size\_prev\_neighbors}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{size\_neighbors}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Generate neighbors of a secondary structure (the fast way). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function implements a fast way to generate all neighbors of a secondary structure that results from successive applications of individual moves. The speed\sphinxhyphen{}up results from updating an already known list of valid neighbors before the individual move towards the current structure took place. In essence, this function removes neighbors that are not accessible anymore and inserts neighbors emerging after a move took place.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gacdbc5f609b46aeb07d2c7e015677a1e0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_apply()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaf39028db9c70d3be528929182a3f2d5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_INSERTION}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gac05db9392c6647e3e9a6982096c5b384}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DELETION}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga68ea27c81de4b74e48b775c04052590b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_SHIFT}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}in{]}} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{curr\_move}} \textendash{} \sphinxstylestrong{{[}in{]}} The move that was/will be applied to \sphinxcode{\sphinxupquote{prev\_pt}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prev\_pt}} \textendash{} \sphinxstylestrong{{[}in{]}} A pair table representation of the structure before \sphinxcode{\sphinxupquote{curr\_move}} is/was applied 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prev\_neighbors}} \textendash{} \sphinxstylestrong{{[}in{]}} The list of neighbors of \sphinxcode{\sphinxupquote{prev\_pt}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size\_prev\_neighbors}} \textendash{} The size of \sphinxcode{\sphinxupquote{prev\_neighbors}}, i.e. the lists length 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size\_neighbors}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to store the size / length of the new neighbor list 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to modify the behavior of this function, e.g. available move set 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Neighbors as a list of moves / transitions (the last element in the list has both of its fields set to 0) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_move\_neighbor\_diff\_cb (C function)@\spxentry{vrna\_move\_neighbor\_diff\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_neighbor_diff_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1gaa034225aad402bebd2a05dae51316f47}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_neighbor\_diff\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptable}\sphinxparamcomma {\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{n}{move}\sphinxparamcomma {\hyperref[\detokenize{landscape/neighbors:c.vrna_move_update_f}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_update\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply a move to a secondary structure and indicate which neighbors have changed consequentially. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function applies a move to a secondary structure and explores the local neighborhood of the affected loop. Any changes to previously compatible neighbors that have been affected by this loop will be reported through a callback function. In particular, any of the three cases might appear:\begin{itemize}
\item {} 
\sphinxAtStartPar
A previously available neighbor move has changed, usually the free energy change of the move ({\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gae72b0e349b6108c00737df51cce44622}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_CHANGE}}}}})

\item {} 
\sphinxAtStartPar
A previously available neighbor move became invalid ({\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaf7e3417828057ae0ed4d0de03178116a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_INVALID}}}}})

\item {} 
\sphinxAtStartPar
A new neighbor move becomes available ({\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga9343dd62daad15b6b8c55c1260c09228}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_NEW}}}}})

\end{itemize}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga7dde18e6f83355493cd698f07e259c75}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_neighbor\_diff()}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gae72b0e349b6108c00737df51cce44622}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_CHANGE}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaf7e3417828057ae0ed4d0de03178116a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_INVALID}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga9343dd62daad15b6b8c55c1260c09228}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_NEIGHBOR\_NEW}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gada5cf954de328f9d283558c8bd0eeedb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_update\_f}}}}}, \#VRNA\_MOVE\_NO\_APPLY


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A fold compound for the RNA sequence(s) that this function operates on 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} \textendash{} The current structure as pair table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{move}} \textendash{} The move to apply 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The address of the callback function that is passed the neighborhood changes 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} An arbitrary data pointer that will be passed through to the callback function \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to modify the behavior of this function, .e.g available move set 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_move\_neighbor\_diff (C function)@\spxentry{vrna\_move\_neighbor\_diff}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_neighbor_diff}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/neighbors:group__neighbors_1ga7dde18e6f83355493cd698f07e259c75}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_neighbor\_diff}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptable}\sphinxparamcomma {\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{n}{move}\sphinxparamcomma {\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{invalid\_moves}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply a move to a secondary structure and indicate which neighbors have changed consequentially. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/neighbor.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa034225aad402bebd2a05dae51316f47}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_neighbor\_diff\_cb()}}}}}, this function applies a move to a secondary structure and reports back the neighbors of the current structure become affected by this move. Instead of executing a callback for each of the affected neighbors, this function compiles two lists of neighbor moves, one that is returned and consists of all moves that are novel or may have changed in energy, and a second, \sphinxcode{\sphinxupquote{invalid\_moves}}, that consists of all the neighbor moves that become invalid, respectively.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A fold compound for the RNA sequence(s) that this function operates on 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} \textendash{} The current structure as pair table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{move}} \textendash{} The move to apply 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{invalid\_moves}} \textendash{} The address of a move list where the function stores those moves that become invalid 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to modify the behavior of this function, .e.g available move set 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of moves that might have changed in energy or are novel compared to the structure before application of the move 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_move\_s (C struct)@\spxentry{vrna\_move\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:structvrna__move__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_move\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/landscape/move.h\textgreater{}}
\sphinxAtStartPar
An atomic representation of the transition / move from one structure to its neighbor. 

\sphinxAtStartPar
An atomic transition / move may be one of the following:\begin{itemize}
\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair insertion},

\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair removal}, or

\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair shift} where an existing base pair changes one of its pairing partner.

\end{itemize}


\sphinxAtStartPar
These moves are encoded by two integer values that represent the affected 5’ and 3’ nucleotide positions. Furthermore, we use the following convention on the signedness of these encodings:\begin{itemize}
\item {} 
\sphinxAtStartPar
both values are positive for \sphinxstyleemphasis{insertion moves}

\item {} 
\sphinxAtStartPar
both values are negative for \sphinxstyleemphasis{base pair removals}

\item {} 
\sphinxAtStartPar
both values have different signedness for \sphinxstyleemphasis{shift moves}, where the positive value indicates the nucleotide that stays constant, and the others absolute value is the new pairing partner

\end{itemize}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
A value of 0 in either field is used as list\sphinxhyphen{}end indicator and doesn’t represent any valid move. 
\end{sphinxadmonition}

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_move\_s.pos\_5 (C var)@\spxentry{vrna\_move\_s.pos\_5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_s.pos_5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:structvrna__move__s_1a8af908c74786675a456d0f20cc8fcb9b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pos\_5}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The (absolute value of the) 5’ position of a base pair, or any position of a shifted pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_move\_s.pos\_3 (C var)@\spxentry{vrna\_move\_s.pos\_3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_s.pos_3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:structvrna__move__s_1a3849db905a45c4e399991df38705a36b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pos\_3}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The (absolute value of the) 3’ position of a base pair, or any position of a shifted pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_move\_s.next (C var)@\spxentry{vrna\_move\_s.next}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/neighbors:c.vrna_move_s.next}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/neighbors:structvrna__move__s_1a181681bc3aab907d93e340df4777e759}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{next}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The next base pair (if an elementary move changes more than one base pair), or \sphinxcode{\sphinxupquote{NULL}} Has to be terminated with move 0,0. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/move.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{(Re\sphinxhyphen{})folding Paths, Saddle Points, Energy Barriers, and Local Minima}
\label{\detokenize{landscape/paths:re-folding-paths-saddle-points-energy-barriers-and-local-minima}}\label{\detokenize{landscape/paths::doc}}
\sphinxAtStartPar
API for various RNA folding path algorithms.

\sphinxAtStartPar
This part of our API allows for generating RNA secondary structure (re\sphinxhyphen{})folding
paths between two secondary structures or simply starting from a single
structure.

\sphinxAtStartPar
This is most important if an estimate of the refolding energy barrier between
two structures is required, or a structure’s corresponding local minimum needs
to be determined, e.g. through a gradient\sphinxhyphen{}descent walk.

\sphinxAtStartPar
This part of the interface is further split into the following sections:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct::doc}]{\sphinxcrossref{\DUrole{doc}{Direct Refolding Paths between two Secondary Structures}}}}, and

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk::doc}]{\sphinxcrossref{\DUrole{doc}{Folding Paths that start at a single Secondary Structure}}}}

\end{itemize}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:group__paths}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PATH\_TYPE\_DOT\_BRACKET (C macro)@\spxentry{VRNA\_PATH\_TYPE\_DOT\_BRACKET}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.VRNA_PATH_TYPE_DOT_BRACKET}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:group__paths_1ga3e964156b52440b65fae5e2a48750d8e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PATH\_TYPE\_DOT\_BRACKET}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate producing a (re\sphinxhyphen{})folding path as list of dot\sphinxhyphen{}bracket structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths:group__paths_1ga818d4f3d1cf8723d6905990b08d909fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_t}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga3790a24ca64d68acfa6e67b525151a5f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_findpath()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PATH\_TYPE\_MOVES (C macro)@\spxentry{VRNA\_PATH\_TYPE\_MOVES}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.VRNA_PATH_TYPE_MOVES}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:group__paths_1gaa73703da105dc6c98957fb8247c93f1f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PATH\_TYPE\_MOVES}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag to indicate producing a (re\sphinxhyphen{})folding path as list of transition moves. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths:group__paths_1ga818d4f3d1cf8723d6905990b08d909fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_t}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga3790a24ca64d68acfa6e67b525151a5f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_findpath()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_path\_t (C type)@\spxentry{vrna\_path\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:group__paths_1ga818d4f3d1cf8723d6905990b08d909fe}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{landscape/paths:c.vrna_path_s}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the refolding path data structure {\hyperref[\detokenize{landscape/paths:structvrna__path__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_path\_options\_t (C type)@\spxentry{vrna\_path\_options\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_options_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:group__paths_1gaa99d8ec48f64de53eda0d51b1ed0d3d1}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_path\_options\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_options\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options data structure for (re\sphinxhyphen{})folding path implementations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_path\_free (C function)@\spxentry{vrna\_path\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths:group__paths_1ga3763dc16760d09277a1b1c3f3061d0c7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_free}}}}
{{\hyperref[\detokenize{landscape/paths:c.vrna_path_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{path}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Release (free) memory occupied by a (re\sphinxhyphen{})folding path. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad00765c2f269fddfa319310af22d4f67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_ub()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{path}} \textendash{} The refolding path to be free’d 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_options\_free (C function)@\spxentry{vrna\_path\_options\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_options_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths:group__paths_1gaa64a86b13cb165346a0d0c788781512a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_options\_free}}}}
{{\hyperref[\detokenize{landscape/paths:c.vrna_path_options_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_options\_t}}}}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Release (free) memory occupied by an options data structure for (re\sphinxhyphen{})folding path implementations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga3790a24ca64d68acfa6e67b525151a5f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_findpath()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options data structure to be free’d 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_path\_s (C struct)@\spxentry{vrna\_path\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:structvrna__path__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/landscape/paths.h\textgreater{}}
\sphinxAtStartPar
An element of a refolding path list. 

\sphinxAtStartPar
Usually, one has to deal with an array of {\hyperref[\detokenize{landscape/paths:structvrna__path__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s}}}}}, e.g. returned from one of the refolding\sphinxhyphen{}path algorithms.

\sphinxAtStartPar
Since in most cases the length of the list is not known in advance, such lists have an \sphinxstyleemphasis{end\sphinxhyphen{}of\sphinxhyphen{}list} marker, which is either:\begin{itemize}
\item {} 
\sphinxAtStartPar
a value of \sphinxstyleemphasis{NULL} for {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a141b70a59cb81d10bc65bbb7a0f6db77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::s}}}}} if {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a5fc9e0a7dc0e0f8ad67f24c18f2dc852}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::type}}}}} = {\hyperref[\detokenize{landscape/paths:group__paths_1ga3e964156b52440b65fae5e2a48750d8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_DOT\_BRACKET}}}}}, or

\item {} 
\sphinxAtStartPar
a {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a13da6bb5167362199947765b06a84005}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::move}}}}} with zero in both fields {\hyperref[\detokenize{landscape/neighbors:structvrna__move__s_1a8af908c74786675a456d0f20cc8fcb9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_t::pos\_5}}}}} and {\hyperref[\detokenize{landscape/neighbors:structvrna__move__s_1a3849db905a45c4e399991df38705a36b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_move\_t::pos\_3}}}}} if {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a5fc9e0a7dc0e0f8ad67f24c18f2dc852}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::type}}}}} = {\hyperref[\detokenize{landscape/paths:group__paths_1gaa73703da105dc6c98957fb8247c93f1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_MOVES}}}}}.

\end{itemize}


\sphinxAtStartPar
In the following we show an example for how to cover both cases of iteration: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}path\PYGZus{}t}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{ptr}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{path}\PYG{p}{;}\PYG{+w}{ }\PYG{c+c1}{// path was returned from one of the refolding path functions, e.g. vrna\PYGZus{}path\PYGZus{}direct()}

\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{ptr}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{type}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{=}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}PATH\PYGZus{}TYPE\PYGZus{}DOT\PYGZus{}BRACKET}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{k}{for}\PYG{+w}{ }\PYG{p}{(}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{s}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{+}\PYG{o}{+}\PYG{p}{)}
\PYG{+w}{      }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s [\PYGZpc{}6.2f]}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{s}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{en}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{k}{else}\PYG{+w}{ }\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{type}\PYG{+w}{ }\PYG{o}{=}\PYG{o}{=}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}PATH\PYGZus{}TYPE\PYGZus{}MOVES}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{k}{for}\PYG{+w}{ }\PYG{p}{(}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{move}\PYG{p}{.}\PYG{n}{pos\PYGZus{}5}\PYG{+w}{ }\PYG{o}{!}\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{+}\PYG{o}{+}\PYG{p}{)}
\PYG{+w}{      }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{move \PYGZpc{}d:\PYGZpc{}d, dG = \PYGZpc{}6.2f}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{move}\PYG{p}{.}\PYG{n}{pos\PYGZus{}5}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{move}\PYG{p}{.}\PYG{n}{pos\PYGZus{}3}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{en}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{p}{\PYGZcb{}}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths:group__paths_1ga3763dc16760d09277a1b1c3f3061d0c7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_free()}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_path\_s.type (C var)@\spxentry{vrna\_path\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:structvrna__path__s_1a5fc9e0a7dc0e0f8ad67f24c18f2dc852}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The type of the path element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
A value of {\hyperref[\detokenize{landscape/paths:group__paths_1ga3e964156b52440b65fae5e2a48750d8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_DOT\_BRACKET}}}}} indicates that {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a141b70a59cb81d10bc65bbb7a0f6db77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::s}}}}} consists of the secondary structure in dot\sphinxhyphen{}bracket notation, and {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1ac25160bf31d28097358278f367e41227}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::en}}}}}
\sphinxAtStartPar
the corresponding free energy.

\sphinxAtStartPar
On the other hand, if the value is
{\hyperref[\detokenize{landscape/paths:group__paths_1gaa73703da105dc6c98957fb8247c93f1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_MOVES}}}}}, {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a141b70a59cb81d10bc65bbb7a0f6db77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::s}}}}} is \sphinxstyleemphasis{NULL} and {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a13da6bb5167362199947765b06a84005}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::move}}}}} is set to the transition move that transforms a previous structure into it’s neighbor along the path. In this case, the attribute {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1ac25160bf31d28097358278f367e41227}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::en}}}}} states the change in free energy with respect to the structure before application of {\hyperref[\detokenize{landscape/paths:structvrna__path__s_1a13da6bb5167362199947765b06a84005}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s::move}}}}}. 

\end{fulllineitems}

\index{vrna\_path\_s.en (C var)@\spxentry{vrna\_path\_s.en}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_s.en}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:structvrna__path__s_1ac25160bf31d28097358278f367e41227}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{en}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free energy of current structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_path\_s.s (C var)@\spxentry{vrna\_path\_s.s}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_s.s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:structvrna__path__s_1a141b70a59cb81d10bc65bbb7a0f6db77}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{s}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Secondary structure in dot\sphinxhyphen{}bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_path\_s.move (C var)@\spxentry{vrna\_path\_s.move}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths:c.vrna_path_s.move}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths:structvrna__path__s_1a13da6bb5167362199947765b06a84005}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{move}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Move that transforms the previous structure into it’s next neighbor along the path. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Direct Refolding Paths between two Secondary Structures}
\label{\detokenize{landscape/paths_direct:direct-refolding-paths-between-two-secondary-structures}}\label{\detokenize{landscape/paths_direct::doc}}
\sphinxAtStartPar
Heuristics to explore direct, optimal (re\sphinxhyphen{})folding paths between
two secondary structures.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_path\_findpath\_saddle (C function)@\spxentry{vrna\_path\_findpath\_saddle}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_direct:c.vrna_path_findpath_saddle}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct_1gad77dbfa125158f534147c0015a849bc3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_findpath\_saddle}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{width}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find energy of a saddle point between 2 structures (search only direct path). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/findpath.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function uses an inplementation of the \sphinxstyleemphasis{findpath} algorithm    {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  for near\sphinxhyphen{}optimal direct refolding path prediction.

\sphinxAtStartPar
Model details, and energy parameters are used as provided via the parameter ‘fc’. The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} does not require memory for any DP matrices, but requires all most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000156}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath\_saddle()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath_saddle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath\_saddle()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gaca6d3ab6f8b9463e3382bd1f474c26f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle\_ub()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with precomputed sequence encoding and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The start structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The target structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} \textendash{} A number specifying how many strutures are being kept at each step during the search 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The saddle energy in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_findpath\_saddle\_ub (C function)@\spxentry{vrna\_path\_findpath\_saddle\_ub}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_direct:c.vrna_path_findpath_saddle_ub}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct_1gaca6d3ab6f8b9463e3382bd1f474c26f1}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_findpath\_saddle\_ub}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{width}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxE}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find energy of a saddle point between 2 structures (search only direct path). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/findpath.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function uses an inplementation of the \sphinxstyleemphasis{findpath} algorithm    {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  for near\sphinxhyphen{}optimal direct refolding path prediction.

\sphinxAtStartPar
Model details, and energy parameters are used as provided via the parameter ‘fc’. The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} does not require memory for any DP matrices, but requires all most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000157}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath\_saddle()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted, while the optional parameter \sphinxcode{\sphinxupquote{maxE}} defaults to INF. In case the function did not find a path with \(E_{saddle} < E_{max}\) the function returns a \sphinxcode{\sphinxupquote{NULL}} object, i.e. \sphinxcode{\sphinxupquote{undef}} for Perl and \sphinxcode{\sphinxupquote{None}} for Python. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath_saddle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath\_saddle()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad77dbfa125158f534147c0015a849bc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
The argument \sphinxcode{\sphinxupquote{maxE}} ( \(E_{max}\)) enables one to specify an upper bound, or maximum free energy for the saddle point between the two input structures. If no path with \(E_{saddle} < E_{max}\) is found, the function simply returns \sphinxcode{\sphinxupquote{maxE}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with precomputed sequence encoding and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The start structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The target structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} \textendash{} A number specifying how many strutures are being kept at each step during the search 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{maxE}} \textendash{} An upper bound for the saddle point energy in 10cal/mol 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The saddle energy in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_findpath (C function)@\spxentry{vrna\_path\_findpath}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_direct:c.vrna_path_findpath}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}}{\hyperref[\detokenize{landscape/paths:c.vrna_path_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_findpath}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{width}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find refolding path between 2 structures (search only direct path). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/findpath.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function uses an inplementation of the \sphinxstyleemphasis{findpath} algorithm    {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  for near\sphinxhyphen{}optimal direct refolding path prediction.

\sphinxAtStartPar
Model details, and energy parameters are used as provided via the parameter ‘fc’. The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} does not require memory for any DP matrices, but requires all most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000158}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad00765c2f269fddfa319310af22d4f67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_ub()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad77dbfa125158f534147c0015a849bc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with precomputed sequence encoding and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The start structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The target structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} \textendash{} A number specifying how many strutures are being kept at each step during the search 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The saddle energy in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_findpath\_ub (C function)@\spxentry{vrna\_path\_findpath\_ub}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_direct:c.vrna_path_findpath_ub}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct_1gad00765c2f269fddfa319310af22d4f67}}{\hyperref[\detokenize{landscape/paths:c.vrna_path_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_findpath\_ub}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{width}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxE}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find refolding path between 2 structures (search only direct path). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/findpath.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function uses an inplementation of the \sphinxstyleemphasis{findpath} algorithm    {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  for near\sphinxhyphen{}optimal direct refolding path prediction.

\sphinxAtStartPar
Model details, and energy parameters are used as provided via the parameter ‘fc’. The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} does not require memory for any DP matrices, but requires all most basic init values as one would get from a call like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{fc}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000159}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted, while the optional parameter \sphinxcode{\sphinxupquote{maxE}} defaults to INF. In case the function did not find a path with \(E_{saddle} < E_{max}\) the function returns an empty list. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad77dbfa125158f534147c0015a849bc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
The argument \sphinxcode{\sphinxupquote{maxE}} enables one to specify an upper bound, or maximum free energy for the saddle point between the two input structures. If no path with \(E_{saddle} < E_{max}\) is found, the function simply returns \sphinxstyleemphasis{NULL}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with precomputed sequence encoding and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The start structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The target structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} \textendash{} A number specifying how many strutures are being kept at each step during the search 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{maxE}} \textendash{} An upper bound for the saddle point energy in 10cal/mol 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The saddle energy in 10cal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_options\_findpath (C function)@\spxentry{vrna\_path\_options\_findpath}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_direct:c.vrna_path_options_findpath}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct_1ga3790a24ca64d68acfa6e67b525151a5f}}{\hyperref[\detokenize{landscape/paths:c.vrna_path_options_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_options\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_options\_findpath}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{width}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create options data structure for findpath direct (re\sphinxhyphen{})folding path heuristic. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function returns an options data structure that switches the {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct()}}}}} and {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}} API functions to use the \sphinxstyleemphasis{findpath}  {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  heuristic. The parameter \sphinxcode{\sphinxupquote{width}} specifies the width of the breadth\sphinxhyphen{}first search while the second parameter \sphinxcode{\sphinxupquote{type}} allows one to set the type of the returned (re\sphinxhyphen{})folding path.

\sphinxAtStartPar
Currently, the following return types are available:\begin{itemize}
\item {} 
\sphinxAtStartPar
A list of dot\sphinxhyphen{}bracket structures and corresponding free energy (flag: {\hyperref[\detokenize{landscape/paths:group__paths_1ga3e964156b52440b65fae5e2a48750d8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_DOT\_BRACKET}}}}})

\item {} 
\sphinxAtStartPar
A list of transition moves and corresponding free energy changes (flag: {\hyperref[\detokenize{landscape/paths:group__paths_1gaa73703da105dc6c98957fb8247c93f1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_MOVES}}}}})

\end{itemize}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000162}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{path\_options\_findpath()}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 10 if omitted, while the optional parameter \sphinxcode{\sphinxupquote{type}} defaults to {\hyperref[\detokenize{landscape/paths:group__paths_1ga3e964156b52440b65fae5e2a48750d8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_DOT\_BRACKET}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.path_options_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.path\_options\_findpath()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths:group__paths_1ga3e964156b52440b65fae5e2a48750d8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_DOT\_BRACKET}}}}}, {\hyperref[\detokenize{landscape/paths:group__paths_1gaa73703da105dc6c98957fb8247c93f1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_MOVES}}}}}, {\hyperref[\detokenize{landscape/paths:group__paths_1gaa64a86b13cb165346a0d0c788781512a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_free()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} \textendash{} Width of the breath\sphinxhyphen{}first search strategy 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} Setting that specifies how the return (re\sphinxhyphen{})folding path should be encoded 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An options data structure with settings for the findpath direct path heuristic

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_direct (C function)@\spxentry{vrna\_path\_direct}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_direct:c.vrna_path_direct}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}}{\hyperref[\detokenize{landscape/paths:c.vrna_path_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_direct}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma {\hyperref[\detokenize{landscape/paths:c.vrna_path_options_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_options\_t}}}}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine an optimal direct (re\sphinxhyphen{})folding path between two secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the generic wrapper function to retrieve (an optimal) (re\sphinxhyphen{})folding path between two secondary structures \sphinxcode{\sphinxupquote{s1}} and \sphinxcode{\sphinxupquote{s2}}. The actual algorithm that is used to generate the (re\sphinxhyphen{})folding path is determined by the settings specified in the \sphinxcode{\sphinxupquote{options}} data structure. This data structure also determines the return type, which might be either:\begin{itemize}
\item {} 
\sphinxAtStartPar
a list of dot\sphinxhyphen{}bracket structures with corresponding free energy, or

\item {} 
\sphinxAtStartPar
a list of transition moves with corresponding free energy change

\end{itemize}


\sphinxAtStartPar
If the \sphinxcode{\sphinxupquote{options}} parameter is passed a \sphinxstyleemphasis{NULL} pointer, this function defaults to the \sphinxstyleemphasis{findpath heuristic}  {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  with a breadth\sphinxhyphen{}first search width of \( 10 \), and the returned path consists of dot\sphinxhyphen{}bracket structures with corresponding free energies.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000160}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_direct()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to \sphinxcode{\sphinxupquote{NULL}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_direct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_direct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga3790a24ca64d68acfa6e67b525151a5f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_findpath()}}}}}, {\hyperref[\detokenize{landscape/paths:group__paths_1gaa64a86b13cb165346a0d0c788781512a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_free()}}}}}, {\hyperref[\detokenize{landscape/paths:group__paths_1ga3763dc16760d09277a1b1c3f3061d0c7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_free()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with precomputed sequence encoding and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The start structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The target structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} An options data structure that specifies the path heuristic and corresponding settings (maybe \sphinxstyleemphasis{NULL}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An optimal (re\sphinxhyphen{})folding path between the two input structures

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_direct\_ub (C function)@\spxentry{vrna\_path\_direct\_ub}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_direct:c.vrna_path_direct_ub}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}}{\hyperref[\detokenize{landscape/paths:c.vrna_path_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_direct\_ub}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxE}\sphinxparamcomma {\hyperref[\detokenize{landscape/paths:c.vrna_path_options_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_options\_t}}}}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine an optimal direct (re\sphinxhyphen{})folding path between two secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is similar to {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct()}}}}}, but allows to specify an \sphinxstyleemphasis{upper\sphinxhyphen{}bound} for the saddle point energy. The underlying algorithms will stop determining an (optimal) (re\sphinxhyphen{})folding path, if none can be found that has a saddle point below the specified upper\sphinxhyphen{}bound threshold \sphinxcode{\sphinxupquote{maxE}}.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000161}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_direct()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{maxE}} defaults to \#INT\_MAX \sphinxhyphen{} 1 if it is omitted, while the optional parameter \sphinxcode{\sphinxupquote{options}} defaults to \sphinxcode{\sphinxupquote{NULL}}. In case the function did not find a path with \(E_{saddle} < E_{max}\) it returns an empty list. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_direct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_direct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub()}}}}}, {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga3790a24ca64d68acfa6e67b525151a5f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_findpath()}}}}}, {\hyperref[\detokenize{landscape/paths:group__paths_1gaa64a86b13cb165346a0d0c788781512a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_free()}}}}}, {\hyperref[\detokenize{landscape/paths:group__paths_1ga3763dc16760d09277a1b1c3f3061d0c7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_free()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
The argument \sphinxcode{\sphinxupquote{maxE}} enables one to specify an upper bound, or maximum free energy for the saddle point between the two input structures. If no path with \(E_{saddle} < E_{max}\) is found, the function simply returns \sphinxstyleemphasis{NULL}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with precomputed sequence encoding and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The start structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The target structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{maxE}} \textendash{} Upper bound for the saddle point along the (re\sphinxhyphen{})folding path 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} An options data structure that specifies the path heuristic and corresponding settings (maybe \sphinxstyleemphasis{NULL}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An optimal (re\sphinxhyphen{})folding path between the two input structures

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Folding Paths that start at a single Secondary Structure}
\label{\detokenize{landscape/paths_walk:folding-paths-that-start-at-a-single-secondary-structure}}\label{\detokenize{landscape/paths_walk::doc}}
\sphinxAtStartPar
Implementation of gradient\sphinxhyphen{} and random walks starting from
a single secondary structure.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PATH\_STEEPEST\_DESCENT (C macro)@\spxentry{VRNA\_PATH\_STEEPEST\_DESCENT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_walk:c.VRNA_PATH_STEEPEST_DESCENT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk_1ga705cea2b3243a38a2d6e3b1e141ed061}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PATH\_STEEPEST\_DESCENT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to request a steepest descent / gradient path. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/walk.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PATH\_RANDOM (C macro)@\spxentry{VRNA\_PATH\_RANDOM}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_walk:c.VRNA_PATH_RANDOM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk_1ga0b84bd36bfd783130297797c51dd85ae}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PATH\_RANDOM}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to request a random walk path. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/walk.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT (C macro)@\spxentry{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_walk:c.VRNA_PATH_NO_TRANSITION_OUTPUT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to omit returning the transition path. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/walk.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1625c4e8859b5e9aadf78f3cab81f418}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_gradient()}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1f7fa62038eb40a3591f09c8fbb8b68b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_random()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PATH\_DEFAULT (C macro)@\spxentry{VRNA\_PATH\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_walk:c.VRNA_PATH_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk_1gaf1bb1f8fec8d24e3b821f621b19f77b4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PATH\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to request defaults (steepest descent / default move set). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/walk.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga705cea2b3243a38a2d6e3b1e141ed061}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_STEEPEST\_DESCENT}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_path (C function)@\spxentry{vrna\_path}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_walk:c.vrna_path}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{steps}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute a path, store the final structure, and return a list of transition moves from the start to the final structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/walk.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes, given a start structure in pair table format, a transition path, updates the pair table to the final structure of the path. Finally, if not requested otherwise by using the {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}} flag in the \sphinxcode{\sphinxupquote{options}} field, this function returns a list of individual transitions that lead from the start to the final structure if requested.

\sphinxAtStartPar
The currently available transition paths are\begin{itemize}
\item {} 
\sphinxAtStartPar
Steepest Descent / Gradient walk (flag: {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga705cea2b3243a38a2d6e3b1e141ed061}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_STEEPEST\_DESCENT}}}}})

\item {} 
\sphinxAtStartPar
Random walk (flag: {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga0b84bd36bfd783130297797c51dd85ae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_RANDOM}}}}})

\end{itemize}


\sphinxAtStartPar
The type of transitions must be set through the \sphinxcode{\sphinxupquote{options}} parameter

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000187}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1gaf1bb1f8fec8d24e3b821f621b19f77b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1625c4e8859b5e9aadf78f3cab81f418}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_gradient()}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1f7fa62038eb40a3591f09c8fbb8b68b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_random()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga705cea2b3243a38a2d6e3b1e141ed061}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_STEEPEST\_DESCENT}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga0b84bd36bfd783130297797c51dd85ae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_RANDOM}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga68ea27c81de4b74e48b775c04052590b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_SHIFT}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Since the result is written to the input structure you may want to use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}} before calling this function to keep the initial structure
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}in{]}} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} \sphinxstylestrong{{[}inout{]}} The pair table containing the start structure. Used to update to the final structure after execution of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} \sphinxstylestrong{{[}in{]}} Options to modify the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of transition moves (default), or NULL (if options \& {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}})

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_gradient (C function)@\spxentry{vrna\_path\_gradient}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_walk:c.vrna_path_gradient}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk_1ga1625c4e8859b5e9aadf78f3cab81f418}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_gradient}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute a steepest descent / gradient path, store the final structure, and return a list of transition moves from the start to the final structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/walk.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes, given a start structure in pair table format, a steepest descent path, updates the pair table to the final structure of the path. Finally, if not requested otherwise by using the {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}} flag in the \sphinxcode{\sphinxupquote{options}} field, this function returns a list of individual transitions that lead from the start to the final structure if requested.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000188}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_gradient()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1gaf1bb1f8fec8d24e3b821f621b19f77b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_gradient}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_gradient()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1f7fa62038eb40a3591f09c8fbb8b68b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_random()}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga68ea27c81de4b74e48b775c04052590b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_SHIFT}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Since the result is written to the input structure you may want to use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}} before calling this function to keep the initial structure
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}in{]}} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} \sphinxstylestrong{{[}inout{]}} The pair table containing the start structure. Used to update to the final structure after execution of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} \sphinxstylestrong{{[}in{]}} Options to modify the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of transition moves (default), or NULL (if options \& {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}})

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_path\_random (C function)@\spxentry{vrna\_path\_random}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_walk:c.vrna_path_random}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_walk:group__paths__walk_1ga1f7fa62038eb40a3591f09c8fbb8b68b}}{\hyperref[\detokenize{landscape/neighbors:c.vrna_move_t}]{\sphinxcrossref{\DUrole{n}{vrna\_move\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_path\_random}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{steps}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Generate a random walk / path of a given length, store the final structure, and return a list of transition moves from the start to the final structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/walk.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function generates, given a start structure in pair table format, a random walk / path, updates the pair table to the final structure of the path. Finally, if not requested otherwise by using the {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}} flag in the \sphinxcode{\sphinxupquote{options}} field, this function returns a list of individual transitions that lead from the start to the final structure if requested.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000189}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_gradient()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1gaf1bb1f8fec8d24e3b821f621b19f77b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_random}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_random()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1625c4e8859b5e9aadf78f3cab81f418}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_gradient()}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}}, {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1ga68ea27c81de4b74e48b775c04052590b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_SHIFT}}}}}, {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Since the result is written to the input structure you may want to use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}} before calling this function to keep the initial structure
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}in{]}} A {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} containing the energy parameters and model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} \sphinxstylestrong{{[}inout{]}} The pair table containing the start structure. Used to update to the final structure after execution of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{steps}} \textendash{} \sphinxstylestrong{{[}in{]}} The length of the path, i.e. the total number of transitions / moves 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} \sphinxstylestrong{{[}in{]}} Options to modify the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of transition moves (default), or NULL (if options \& {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1ee63e54ecf136491e12ff03ede2622d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_NO\_TRANSITION\_OUTPUT}}}}})

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Deprecated Interface for (Re\sphinxhyphen{})folding Paths, Saddle Points, and Energy Barriers}
\label{\detokenize{landscape/paths_deprecated:deprecated-interface-for-re-folding-paths-saddle-points-and-energy-barriers}}\label{\detokenize{landscape/paths_deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_deprecated:group__paths__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{path\_t (C type)@\spxentry{path\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_deprecated:c.path_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{landscape/paths_deprecated:group__paths__deprecated_1gab6b8737d5377e70a7815d04aae7fd884}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{landscape/paths:c.vrna_path_s}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{path\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of {\hyperref[\detokenize{landscape/paths:structvrna__path__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/paths.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{landscape/paths:group__paths_1ga818d4f3d1cf8723d6905990b08d909fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_t}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{find\_saddle (C function)@\spxentry{find\_saddle}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_deprecated:c.find_saddle}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_deprecated:group__paths__deprecated_1ga4c0dabf032c04eeab9c7370d15db6ad2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{find\_saddle}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{width}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find energy of a saddle point between 2 structures (search only direct path). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/findpath.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000161}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad77dbfa125158f534147c0015a849bc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} A pointer to the character array where the first secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} A pointer to the character array where the second secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} \textendash{} integer how many strutures are being kept during the search 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the saddle energy in 10cal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_path (C function)@\spxentry{free\_path}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_deprecated:c.free_path}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_deprecated:group__paths__deprecated_1ga9056421d716ae89f0ed3f107627f395b}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_path}}}}
{{\hyperref[\detokenize{landscape/paths:c.vrna_path_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{path}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory allocated by {\hyperref[\detokenize{landscape/paths_deprecated:group__paths__deprecated_1ga58ae3a0e97028833e085d67e7e2b4c78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_path()}}}}} function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/findpath.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000162}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{landscape/paths:group__paths_1ga3763dc16760d09277a1b1c3f3061d0c7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_free()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{path}} \textendash{} pointer to memory to be freed 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_path (C function)@\spxentry{get\_path}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{landscape/paths_deprecated:c.get_path}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{landscape/paths_deprecated:group__paths__deprecated_1ga58ae3a0e97028833e085d67e7e2b4c78}}{\hyperref[\detokenize{landscape/paths:c.vrna_path_t}]{\sphinxcrossref{\DUrole{n}{vrna\_path\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_path}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{width}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find refolding path between 2 structures (search only direct path). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/landscape/findpath.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000163}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} A pointer to the character array where the first secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} A pointer to the character array where the second secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} \textendash{} integer how many strutures are being kept during the search 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
direct refolding path between two structures 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{landscape:group__landscape}}}
\pysigstopsignatures
\end{fulllineitems}


\sphinxstepscope


\section{Minimum Free Energy (MFE) Algorithms}
\label{\detokenize{mfe:minimum-free-energy-mfe-algorithms}}\label{\detokenize{mfe::doc}}
\sphinxAtStartPar
Computing the Minimum Free Energy (MFE), i.e. the most stable conformation
in thermodynamic equilibrium.

\sphinxstepscope


\subsection{Global MFE Prediction}
\label{\detokenize{mfe/global:global-mfe-prediction}}\label{\detokenize{mfe/global::doc}}
\sphinxAtStartPar
Variations of the global Minimum Free Energy (MFE) prediction algorithm.

\sphinxAtStartPar
We provide implementations of the global MFE prediction algorithm for
\begin{itemize}
\item {} 
\sphinxAtStartPar
Single sequences,

\item {} 
\sphinxAtStartPar
Multiple sequence alignments (MSA), and

\item {} 
\sphinxAtStartPar
RNA\sphinxhyphen{}RNA hybrids

\end{itemize}


\subsubsection{API Symbols}
\label{\detokenize{mfe/global:api-symbols}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic global MFE prediction interface}
\index{vrna\_mfe (C function)@\spxentry{vrna\_mfe}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global:c.vrna_mfe}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute minimum free energy and an appropriate secondary structure of an RNA sequence, or RNA sequence alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Depending on the type of the provided {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, this function predicts the MFE for a single sequence (or connected component of multiple sequences), or an averaged MFE for a sequence alignment. If backtracking is activated, it also constructs the corresponding secondary structure, or consensus structure. Therefore, the second parameter, \sphinxstyleemphasis{structure}, has to point to an allocated block of memory with a size of at least \(\mathrm{strlen}(\mathrm{sequence})+1\) to store the backtracked MFE structure. (For consensus structures, this is the length of the alignment + 1. If \sphinxcode{\sphinxupquote{NULL}} is passed, no backtracking will be performed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000109}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{Minimum Free Energy (MFE) Algorithms}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga17a1be7490468c29c335ba9bffacba53}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circalifold()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to (Maybe NULL)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mfe\_dimer (C function)@\spxentry{vrna\_mfe\_dimer}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global:c.vrna_mfe_dimer}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_dimer}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the minimum free energy of two interacting RNA molecules. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The code is analog to the {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} function.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000169}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is obsolete since {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} can handle complexes multiple sequences since v2.5.0. Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} for connected component MFE instead and compute MFEs of unconnected states separately.

\end{fulllineitems}



\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000110}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{mfe\_dimer()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_dimer}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_dimer()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Will hold the barcket dot structure of the dimer molecule 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
minimum free energy of the structure

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified global MFE prediction using sequence(s) or multiple sequence alignment(s)}
\index{vrna\_fold (C function)@\spxentry{vrna\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global:c.vrna_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for an RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} computes the MFE and, if required, a secondary structure for an RNA sequence using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal backtracking, etc.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000112}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_circfold (C function)@\spxentry{vrna\_circfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global:c.vrna_circfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_circfold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for a circular RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} computes the MFE and, if required, a secondary structure for a circular RNA sequence using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal backtracking, etc.

\sphinxAtStartPar
Folding of circular RNA sequences is handled as a post\sphinxhyphen{}processing step of the forward recursions. See    Hofacker and Stadler {[}\hyperlink{cite.bibliography:id21}{2006}{]}  for further details.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000113}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4ac63ab3e8d9a80ced28b8052d94e423}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circfold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.circfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circfold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_alifold (C function)@\spxentry{vrna\_alifold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global:c.vrna_alifold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_alifold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding consensus secondary structure for an RNA sequence alignment using a comparative method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} computes the MFE and, if required, a consensus secondary structure for an RNA sequence alignment using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal backtracking, etc.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000114}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4cf00f0659e5f0480335d69e797f05b1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alifold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.alifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.alifold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga17a1be7490468c29c335ba9bffacba53}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circalifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} \textendash{} RNA sequence alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_circalifold (C function)@\spxentry{vrna\_circalifold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global:c.vrna_circalifold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global_1ga17a1be7490468c29c335ba9bffacba53}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_circalifold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding consensus secondary structure for a sequence alignment of circular RNAs using a comparative method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} computes the MFE and, if required, a consensus secondary structure for an RNA sequence alignment using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal backtracking, etc.

\sphinxAtStartPar
Folding of circular RNA sequences is handled as a post\sphinxhyphen{}processing step of the forward recursions. See    Hofacker and Stadler {[}\hyperlink{cite.bibliography:id21}{2006}{]}  for further details.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000115}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gadbd3b0b1c144cbfb4efe704b2b260f96}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circalifold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.circalifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circalifold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} \textendash{} Sequence alignment of circular RNAs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cofold (C function)@\spxentry{vrna\_cofold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global:c.vrna_cofold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global:group__mfe__global_1ga9ef3a297201dbf838a8daff2b45c0c82}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cofold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for two dimerized RNA sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} computes the MFE and, if required, a secondary structure for two RNA sequences upon dimerization using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal backtracking, etc.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000170}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is obsolete since {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}/vrna\_fold() can handle complexes multiple sequences since v2.5.0. Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}/vrna\_fold() for connected component MFE instead and compute MFEs of unconnected states separately.

\end{fulllineitems}



\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000116}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.cofold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.cofold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga458d5a8cbec709665426372e3aee93b8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cut\_point\_insert()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} two RNA sequences separated by the ‘\&’ character 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Deprecated Interface for Global MFE Prediction}
\label{\detokenize{mfe/global_deprecated:deprecated-interface-for-global-mfe-prediction}}\label{\detokenize{mfe/global_deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Unnamed Group}
\index{alifold (C function)@\spxentry{alifold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.alifold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4cf00f0659e5f0480335d69e797f05b1}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{alifold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{strings}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute MFE and according consensus structure of an alignment of sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function predicts the consensus structure for the aligned ‘sequences’ and returns the minimum free energy; the mfe structure in bracket notation is returned in ‘structure’.

\sphinxAtStartPar
Sufficient space must be allocated for ‘structure’ before calling {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4cf00f0659e5f0480335d69e797f05b1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alifold()}}}}}.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000012}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Usage of this function is discouraged! Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{strings}} \textendash{} A pointer to a NULL terminated array of character arrays 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to a character array that may contain a constraining consensus structure (will be overwritten by a consensus structure that exhibits the MFE) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy score in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{circalifold (C function)@\spxentry{circalifold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.circalifold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gadbd3b0b1c144cbfb4efe704b2b260f96}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{circalifold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{strings}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute MFE and according structure of an alignment of sequences assuming the sequences are circular instead of linear. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000013}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Usage of this function is discouraged! Use vrna\_alicircfold(), and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_alicircfold(), {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{strings}} \textendash{} A pointer to a NULL terminated array of character arrays 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to a character array that may contain a constraining consensus structure (will be overwritten by a consensus structure that exhibits the MFE) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy score in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_alifold\_arrays (C function)@\spxentry{free\_alifold\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.free_alifold_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga72095e4554b5d577250ea14c42acc49e}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_alifold\_arrays}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free the memory occupied by MFE alifold functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000014}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Usage of this function is discouraged! It only affects memory being free’d that was allocated by an old API function before. Release of memory occupied by the newly introduced {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} is handled by {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{update\_alifold\_params (C function)@\spxentry{update\_alifold\_params}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.update_alifold_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gac484c6bd429bafbd353b91044508d8e9}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_alifold\_params}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Update the energy parameters for alifold function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Call this to recalculate the pair matrix and energy parameters after a change in folding parameters like {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{temperature}}}}}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000025}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Usage of this function is discouraged! The new API uses {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} to lump all folding related necessities together, including the energy parameters. Use vrna\_update\_fold\_params() to update the energy parameters within a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{cofold (C function)@\spxentry{cofold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.cofold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cofold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the minimum free energy of two interacting RNA molecules. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The code is analog to the {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold()}}}}} function. If cut\_point ==\sphinxhyphen{}1 results should be the same as with {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold()}}}}}.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000031}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} instead

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The two sequences concatenated 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Will hold the barcket dot structure of the dimer molecule 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
minimum free energy of the structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{cofold\_par (C function)@\spxentry{cofold\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.cofold_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cofold\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_constrained}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the minimum free energy of two interacting RNA molecules. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000032}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} instead

\end{fulllineitems}



\end{fulllineitems}

\index{free\_co\_arrays (C function)@\spxentry{free\_co\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.free_co_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaafb33d7473eb9af9d1b168ca8761c41a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_co\_arrays}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000033}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will only free memory allocated by a prior call of {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}} or {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold\_par()}}}}}. See {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} for how to use the new API

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_fc\_destroy(), {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
folding matrices now reside in the fold compound, and should be free’d there
\end{sphinxadmonition}

\end{fulllineitems}

\index{update\_cofold\_params (C function)@\spxentry{update\_cofold\_params}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.update_cofold_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4fcbf34e77b99bfbb2333d2ab0c41a57}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_cofold\_params}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} for an alternative using the new API

\end{fulllineitems}



\end{fulllineitems}

\index{update\_cofold\_params\_par (C function)@\spxentry{update\_cofold\_params\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.update_cofold_params_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaaadbd28b4e428710529ab4098fdacad3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_cofold\_params\_par}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000035}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} for an alternative using the new API

\end{fulllineitems}



\end{fulllineitems}

\index{export\_cofold\_arrays\_gq (C function)@\spxentry{export\_cofold\_arrays\_gq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.export_cofold_arrays_gq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga5f5bf4df35d0554f6ace9579f8744c48}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_cofold\_arrays\_gq}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{f5\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{c\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fML\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM1\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fc\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ggg\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{indx\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Export the arrays of partition function cofold (with gquadruplex support). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Export the cofold arrays for use e.g. in the concentration Computations or suboptimal secondary structure backtracking

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000036}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
folding matrices now reside within the fold compound. Thus, this function will only work in conjunction with a prior call to {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}} or {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold\_par()}}}}}

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} for the new API


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f5\_p}} \textendash{} A pointer to the ‘f5’ array, i.e. array conatining best free energy in interval {[}1,j{]} 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{c\_p}} \textendash{} A pointer to the ‘c’ array, i.e. array containing best free energy in interval {[}i,j{]} given that i pairs with j 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fML\_p}} \textendash{} A pointer to the ‘M’ array, i.e. array containing best free energy in interval {[}i,j{]} for any multiloop segment with at least one stem 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fM1\_p}} \textendash{} A pointer to the ‘M1’ array, i.e. array containing best free energy in interval {[}i,j{]} for multiloop segment with exactly one stem 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc\_p}} \textendash{} A pointer to the ‘fc’ array, i.e. array … 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ggg\_p}} \textendash{} A pointer to the ‘ggg’ array, i.e. array containing best free energy of a gquadruplex delimited by {[}i,j{]} 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{indx\_p}} \textendash{} A pointer to the indexing array used for accessing the energy matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptype\_p}} \textendash{} A pointer to the ptype array containing the base pair types for each possibility (i,j) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{export\_cofold\_arrays (C function)@\spxentry{export\_cofold\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.export_cofold_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga5cb6b59983f1f74ccc00b9b9c4e84482}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_cofold\_arrays}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{f5\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{c\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fML\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM1\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fc\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{indx\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Export the arrays of partition function cofold. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Export the cofold arrays for use e.g. in the concentration Computations or suboptimal secondary structure backtracking

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000037}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
folding matrices now reside within the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. Thus, this function will only work in conjunction with a prior call to the deprecated functions {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}} or {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold\_par()}}}}}

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} for the new API


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f5\_p}} \textendash{} A pointer to the ‘f5’ array, i.e. array conatining best free energy in interval {[}1,j{]} 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{c\_p}} \textendash{} A pointer to the ‘c’ array, i.e. array containing best free energy in interval {[}i,j{]} given that i pairs with j 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fML\_p}} \textendash{} A pointer to the ‘M’ array, i.e. array containing best free energy in interval {[}i,j{]} for any multiloop segment with at least one stem 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fM1\_p}} \textendash{} A pointer to the ‘M1’ array, i.e. array containing best free energy in interval {[}i,j{]} for multiloop segment with exactly one stem 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc\_p}} \textendash{} A pointer to the ‘fc’ array, i.e. array … 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{indx\_p}} \textendash{} A pointer to the indexing array used for accessing the energy matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptype\_p}} \textendash{} A pointer to the ptype array containing the base pair types for each possibility (i,j) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{initialize\_cofold (C function)@\spxentry{initialize\_cofold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.initialize_cofold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gafee0c32208aa2ac97338b6e3fbad7fa5}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{initialize\_cofold}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/cofold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
allocate arrays for folding 

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000038}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\end{fulllineitems}



\end{fulllineitems}

\index{fold\_par (C function)@\spxentry{fold\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.fold_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2bc41df5d71fee6fd8da9904ee65d8fb}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{fold\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_constrained}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_circular}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute minimum free energy and an appropriate secondary structure of an RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The first parameter given, the RNA sequence, must be \sphinxstyleemphasis{uppercase} and should only contain an alphabet \(\Sigma\)
\sphinxAtStartPar
that is understood by the RNAlib

\sphinxAtStartPar
(e.g.
\( \Sigma = \{A,U,C,G\} \)
\sphinxAtStartPar
)

\sphinxAtStartPar
The second parameter,
\sphinxstyleemphasis{structure}, must always point to an allocated block of memory with a size of at least \(\mathrm{strlen}(\mathrm{sequence})+1\)

\sphinxAtStartPar
If the third parameter is NULL, global model detail settings are assumed for the folding recursions. Otherwise, the provided parameters are used.

\sphinxAtStartPar
The fourth parameter indicates whether a secondary structure constraint in enhanced dot\sphinxhyphen{}bracket notation is passed through the structure parameter or not. If so, the characters “ | x \textless{} \textgreater{} “ are recognized to mark bases that are paired, unpaired, paired upstream, or downstream, respectively. Matching brackets “ ( ) “ denote base pairs, dots “.” are used for unconstrained bases.

\sphinxAtStartPar
To indicate that the RNA sequence is circular and thus has to be post\sphinxhyphen{}processed, set the last parameter to non\sphinxhyphen{}zero

\sphinxAtStartPar
After a successful call of {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2bc41df5d71fee6fd8da9904ee65d8fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold\_par()}}}}}, a backtracked secondary structure (in dot\sphinxhyphen{}bracket notation) that exhibits the minimum of free energy will be written to the memory \sphinxstyleemphasis{structure} is pointing to. The function returns the minimum of free energy for any fold of the sequence given.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000059}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold()}}}}}, {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4ac63ab3e8d9a80ced28b8052d94e423}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circfold()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, set\_energy\_model(), {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gacdbcef8d5022d9e2eaac347374f5b3a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_parameters()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: Passing NULL to the ‘parameters’ argument involves access to several global model detail variables and thus is not to be considered threadsafe
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} A data structure containing the pre\sphinxhyphen{}scaled energy contributions and the model details. (NULL may be passed, see OpenMP notes above) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is\_constrained}} \textendash{} Switch to indicate that a structure constraint is passed via the structure argument (0==off) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is\_circular}} \textendash{} Switch to (de\sphinxhyphen{})activate post\sphinxhyphen{}processing steps in case RNA sequence is circular (0==off)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{fold (C function)@\spxentry{fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute minimum free energy and an appropriate secondary structure of an RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function essentially does the same thing as {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2bc41df5d71fee6fd8da9904ee65d8fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold\_par()}}}}}. However, it takes its model details, i.e. {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{temperature}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga72b511ed1201f7e23ec437e468790d74}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{dangles}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga4f6265bdf0ead7ff4628a360adbfd77e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{tetra\_loop}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabf380d09e4f1ab94fc6af57cf0ad5d32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{noGU}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaa8d1c7b92489179e1eafa562b7bdd259}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{no\_closingGU}}}}}, fold\_constrained, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga097eccaabd6ae8b4fef83cccff85bb5d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{noLonelyPairs}}}}} from the current global settings within the library

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000060}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2bc41df5d71fee6fd8da9904ee65d8fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold\_par()}}}}}, {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4ac63ab3e8d9a80ced28b8052d94e423}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circfold()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{circfold (C function)@\spxentry{circfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.circfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4ac63ab3e8d9a80ced28b8052d94e423}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{circfold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute minimum free energy and an appropriate secondary structure of a circular RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function essentially does the same thing as {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2bc41df5d71fee6fd8da9904ee65d8fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold\_par()}}}}}. However, it takes its model details, i.e. {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{temperature}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga72b511ed1201f7e23ec437e468790d74}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{dangles}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga4f6265bdf0ead7ff4628a360adbfd77e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{tetra\_loop}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabf380d09e4f1ab94fc6af57cf0ad5d32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{noGU}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaa8d1c7b92489179e1eafa562b7bdd259}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{no\_closingGU}}}}}, fold\_constrained, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga097eccaabd6ae8b4fef83cccff85bb5d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{noLonelyPairs}}}}} from the current global settings within the library

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000061}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2bc41df5d71fee6fd8da9904ee65d8fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold\_par()}}}}}, {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4ac63ab3e8d9a80ced28b8052d94e423}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circfold()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_arrays (C function)@\spxentry{free\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.free_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga107fdfe5fd641868156bfd849f6866c7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_arrays}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free arrays for mfe folding. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000062}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API!

\end{fulllineitems}



\end{fulllineitems}

\index{update\_fold\_params (C function)@\spxentry{update\_fold\_params}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.update_fold_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga41bf8f6fa15b94471f7095cad9f0ccf3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_fold\_params}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000063}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
For non\sphinxhyphen{}default model settings use the new API with {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{update\_fold\_params\_par (C function)@\spxentry{update\_fold\_params\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.update_fold_params_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gae66dc422efb8f5d56717d92d6002a9f8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_fold\_params\_par}}}}
{{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000064}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
For non\sphinxhyphen{}default model settings use the new API with {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{export\_fold\_arrays (C function)@\spxentry{export\_fold\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.export_fold_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga99641b8dbb40891da5490d3cc271e607}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_fold\_arrays}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{f5\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{c\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fML\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM1\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{indx\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000065}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API!

\end{fulllineitems}



\end{fulllineitems}

\index{export\_fold\_arrays\_par (C function)@\spxentry{export\_fold\_arrays\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.export_fold_arrays_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga6606ec0ec964ea506fdadb997a1a5328}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_fold\_arrays\_par}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{f5\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{c\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fML\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM1\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{indx\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype\_p}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{P\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000066}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API!

\end{fulllineitems}



\end{fulllineitems}

\index{export\_circfold\_arrays (C function)@\spxentry{export\_circfold\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.export_circfold_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga04d5d639fd4473ca766436a9bae5665c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_circfold\_arrays}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{Fc\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{FcH\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{FcI\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{FcM\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM2\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{f5\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{c\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fML\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM1\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{indx\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000067}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API!

\end{fulllineitems}



\end{fulllineitems}

\index{export\_circfold\_arrays\_par (C function)@\spxentry{export\_circfold\_arrays\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.export_circfold_arrays_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga004bb901e7fd2f8d5ae68f9530318ce1}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_circfold\_arrays\_par}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{Fc\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{FcH\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{FcI\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{FcM\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM2\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{f5\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{c\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fML\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fM1\_p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{indx\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype\_p}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{P\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000068}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API!

\end{fulllineitems}



\end{fulllineitems}

\index{LoopEnergy (C function)@\spxentry{LoopEnergy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.LoopEnergy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2163034a25c6115d894b199e97e03f6c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{LoopEnergy}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type\_2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sp1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sq1}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000069}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\{This function is deprecated and will be removed soon. Use {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__int_1gaaaa6eb5605d1c843af1269c6f23cb53c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_internal()}}}}} instead!\} 

\end{fulllineitems}



\end{fulllineitems}

\index{HairpinE (C function)@\spxentry{HairpinE}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.HairpinE}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gab327ce11972f5ac069d52c8dedfdb700}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{HairpinE}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{size}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{si1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sj1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000070}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\{This function is deprecated and will be removed soon. Use {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__hp_1ga86aa270e29f10581ced8a9b867c6b051}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_hairpin()}}}}} instead!\} 

\end{fulllineitems}



\end{fulllineitems}

\index{initialize\_fold (C function)@\spxentry{initialize\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.initialize_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gac3f0a28d9cb609d388b155445073fd20}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{initialize\_fold}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Allocate arrays for folding

 

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000071}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API!

\end{fulllineitems}



\end{fulllineitems}

\index{backtrack\_fold\_from\_pair (C function)@\spxentry{backtrack\_fold\_from\_pair}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/global_deprecated:c.backtrack_fold_from_pair}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gad338ea587a5c21b3856ed71b70462c58}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{backtrack\_fold\_from\_pair}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Local (sliding window) MFE Prediction}
\label{\detokenize{mfe/window:local-sliding-window-mfe-prediction}}\label{\detokenize{mfe/window::doc}}
\sphinxAtStartPar
Variations of the local (sliding window) Minimum Free Energy (MFE) prediction algorithm.

\sphinxAtStartPar
We provide implementations for the local (sliding window) MFE prediction algorithm for
\begin{itemize}
\item {} 
\sphinxAtStartPar
Single sequences,

\item {} 
\sphinxAtStartPar
Multiple sequence alignments (MSA), and

\end{itemize}

\sphinxAtStartPar
Note, that our implementation scans an RNA sequence (or MSA) from the 3’ to the 5’
end, and reports back locally optimal (consensus) structures, the corresponding free
energy, and the position of the sliding window in global coordinates.

\sphinxAtStartPar
For any particular RNA sequence (or MSA) multiple locally optimal (consensus)
secondary structures may be predicted. Thus, we tried to implement an interface that
allows for an effortless conversion of the corresponding hits into any target data
structure. As a consequence, we provide two distinct ways to retrieve the corresponding
predictions, either
\begin{itemize}
\item {} 
\sphinxAtStartPar
through directly writing to an open \sphinxcode{\sphinxupquote{FILE}} stream on\sphinxhyphen{}the\sphinxhyphen{}fly, or

\item {} 
\sphinxAtStartPar
through a callback function mechanism.

\end{itemize}

\sphinxAtStartPar
The latter allows one to store the results in any possible target data structure. Our
implementations then pass the results through the user\sphinxhyphen{}implemented callback as soon as
the prediction for a particular window is finished.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic local (sliding window) MFE prediction interface}
\index{vrna\_mfe\_window (C function)@\spxentry{vrna\_mfe\_window}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Computes minimum free energy structures using a sliding window approach, where base pairs may not span outside the window. In contrast to {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, where a maximum base pair span may be set using the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a659e5fcc6e8c9f1a68e7de6548eef3b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.max\_bp\_span}}}}} attribute and one globally optimal structure is predicted, this function uses a sliding window to retrieve all locally optimal structures within each window. The size of the sliding window is set in the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abea42f9229f8d8d6bcbedef316315bfc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.window\_size}}}}} attribute, prior to the retrieval of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} using {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} with option {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga2b2a8009ccdccc3eb1571556261aee8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_WINDOW}}}}}

\sphinxAtStartPar
The predicted structures are written on\sphinxhyphen{}the\sphinxhyphen{}fly, either to stdout, if a NULL pointer is passed as file parameter, or to the corresponding filehandle.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000117}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/window:group__mfe__window}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Local (sliding window) MFE Prediction}}}}}}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{FILE}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga4918cce52bf69c1913cda503b2ac75d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfold()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga27fddda5fc63eb49c861e38845fc34b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfoldz()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga2b2a8009ccdccc3eb1571556261aee8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_WINDOW}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a659e5fcc6e8c9f1a68e7de6548eef3b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.max\_bp\_span}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abea42f9229f8d8d6bcbedef316315bfc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.window\_size}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with preallocated memory for the DP matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The output file handle where predictions are written to (maybe NULL)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mfe\_window\_cb (C function)@\spxentry{vrna\_mfe\_window\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga3ade396421340b0f2f989c7936fda3d9}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{mfe/window:c.vrna_mfe_window_f}]{\sphinxcrossref{\DUrole{n}{vrna\_mfe\_window\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000118}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{mfe\_window\_cb()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{data}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_mfe\_window\_zscore (C function)@\spxentry{vrna\_mfe\_window\_zscore}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window_zscore}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window\_zscore}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{min\_z}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach (with z\sphinxhyphen{}score cut\sphinxhyphen{}off). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Computes minimum free energy structures using a sliding window approach, where base pairs may not span outside the window. This function is the z\sphinxhyphen{}score version of {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}, i.e. only predictions above a certain z\sphinxhyphen{}score cut\sphinxhyphen{}off value are printed. As for {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}, the size of the sliding window is set in the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abea42f9229f8d8d6bcbedef316315bfc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.window\_size}}}}} attribute, prior to the retrieval of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} using {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} with option {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga2b2a8009ccdccc3eb1571556261aee8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_WINDOW}}}}}.

\sphinxAtStartPar
The predicted structures are written on\sphinxhyphen{}the\sphinxhyphen{}fly, either to stdout, if a NULL pointer is passed as file parameter, or to the corresponding filehandle.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000119}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{mfe\_window\_zscore()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{FILE}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga4918cce52bf69c1913cda503b2ac75d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfold()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga27fddda5fc63eb49c861e38845fc34b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfoldz()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga2b2a8009ccdccc3eb1571556261aee8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_WINDOW}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a659e5fcc6e8c9f1a68e7de6548eef3b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.max\_bp\_span}}}}}, {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abea42f9229f8d8d6bcbedef316315bfc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.window\_size}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with preallocated memory for the DP matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{min\_z}} \textendash{} The minimal z\sphinxhyphen{}score for a predicted structure to appear in the output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The output file handle where predictions are written to (maybe NULL)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mfe\_window\_zscore\_cb (C function)@\spxentry{vrna\_mfe\_window\_zscore\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window_zscore_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga5df4a67ce381ed329c289370b0c8adcb}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window\_zscore\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{min\_z}\sphinxparamcomma {\hyperref[\detokenize{mfe/window:c.vrna_mfe_window_zscore_f}]{\sphinxcrossref{\DUrole{n}{vrna\_mfe\_window\_zscore\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000120}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{mfe\_window\_zscore\_cb()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{data}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_backtrack\_window (C function)@\spxentry{vrna\_backtrack\_window}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_backtrack_window}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga17ac221d685bb1e74e2acdbfb02ec86d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_backtrack\_window}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{Lfold\_filename}\sphinxparamcomma \DUrole{kt}{long}\DUrole{w}{ }\DUrole{n}{file\_pos}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{mfe}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified local MFE prediction using sequence(s) or multiple sequence alignment(s)}
\index{vrna\_Lfold (C function)@\spxentry{vrna\_Lfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_Lfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga4918cce52bf69c1913cda503b2ac75d8}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_Lfold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach (simplified interface). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}} computes the MFE and locally optimal secondary structure using default options. Structures are predicted using a sliding window approach, where base pairs may not span outside the window. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000121}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1gafdd1e11b5c7ad443b9f86b818e67bab4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Lfold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{file}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.Lfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga27fddda5fc63eb49c861e38845fc34b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfoldz()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The nucleic acid sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} \textendash{} The window size for locally optimal structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The output file handle where predictions are written to (if NULL, output is written to stdout)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_Lfold\_cb (C function)@\spxentry{vrna\_Lfold\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_Lfold_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga84dcc36fd88063e1692c2e1e68a5f689}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_Lfold\_cb}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma {\hyperref[\detokenize{mfe/window:c.vrna_mfe_window_f}]{\sphinxcrossref{\DUrole{n}{vrna\_mfe\_window\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000122}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{Lfold\_cb()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{data}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.Lfold_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_Lfoldz (C function)@\spxentry{vrna\_Lfoldz}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_Lfoldz}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga27fddda5fc63eb49c861e38845fc34b4}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_Lfoldz}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{min\_z}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach with z\sphinxhyphen{}score cut\sphinxhyphen{}off (simplified interface). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}} computes the MFE and locally optimal secondary structure using default options. Structures are predicted using a sliding window approach, where base pairs may not span outside the window. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing. This function is the z\sphinxhyphen{}score version of {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga4918cce52bf69c1913cda503b2ac75d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfold()}}}}}, i.e. only predictions above a certain z\sphinxhyphen{}score cut\sphinxhyphen{}off value are printed.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga4918cce52bf69c1913cda503b2ac75d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfold()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The nucleic acid sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} \textendash{} The window size for locally optimal structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{min\_z}} \textendash{} The minimal z\sphinxhyphen{}score for a predicted structure to appear in the output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The output file handle where predictions are written to (if NULL, output is written to stdout) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_Lfoldz\_cb (C function)@\spxentry{vrna\_Lfoldz\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_Lfoldz_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1gae982184f119219b616f3e5a8b3f558ec}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_Lfoldz\_cb}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{min\_z}\sphinxparamcomma {\hyperref[\detokenize{mfe/window:c.vrna_mfe_window_zscore_f}]{\sphinxcrossref{\DUrole{n}{vrna\_mfe\_window\_zscore\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000124}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{Lfoldz\_cb()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{data}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.Lfoldz_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfoldz\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_aliLfold (C function)@\spxentry{vrna\_aliLfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_aliLfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1gaa43d3de352753529a4578cb02cd8bc52}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aliLfold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000125}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aliLfold()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{fp}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.aliLfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aliLfold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_aliLfold\_cb (C function)@\spxentry{vrna\_aliLfold\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_aliLfold_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1gae9b2e312c316961d4a067f9b789cc9d7}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aliLfold\_cb}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}\sphinxparamcomma {\hyperref[\detokenize{mfe/window:c.vrna_mfe_window_f}]{\sphinxcrossref{\DUrole{n}{vrna\_mfe\_window\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aliLfold\_cb()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{data}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.aliLfold_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aliLfold\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_mfe\_window\_f (C type)@\spxentry{vrna\_mfe\_window\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1gaa97863c328b909d7da26d618e0c83fb9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\DUrole{p}{,}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{en}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The default callback for sliding window MFE structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000019}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called for each hit in a sliding window MFE prediction. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param start}
\sphinxAtStartPar
provides the first position of the hit (1\sphinxhyphen{}based, relative to entire sequence/alignment) 

\sphinxlineitem{Param end}
\sphinxAtStartPar
provides the last position of the hit (1\sphinxhyphen{}based, relative to the entire sequence/alignment) 

\sphinxlineitem{Param structure}
\sphinxAtStartPar
provides the (sub)structure in dot\sphinxhyphen{}bracket notation 

\sphinxlineitem{Param en}
\sphinxAtStartPar
is the free energy of the structure hit in kcal/mol 

\sphinxlineitem{Param data}
\sphinxAtStartPar
is some arbitrary data pointer passed through by the function executing the callback 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mfe\_window\_callback (C type)@\spxentry{vrna\_mfe\_window\_callback}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window_callback}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga215bef80ed74d36daba71ea4fb7d4388}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window\_callback}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{en}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_window\_zscore\_f (C type)@\spxentry{vrna\_mfe\_window\_zscore\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window_zscore_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1gad41cef447889684ac02787d6e7ddf670}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window\_zscore\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\DUrole{p}{,}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{en}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{zscore}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_window\_zscore\_callback (C type)@\spxentry{vrna\_mfe\_window\_zscore\_callback}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window:c.vrna_mfe_window_zscore_callback}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window:group__mfe__window_1ga67e8a2d04140c9220e2b134ed3a08b4e}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_window\_zscore\_callback}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{en}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{zscore}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Deprecated Interface for Local (sliding window) MFE Prediction}
\label{\detokenize{mfe/window_deprecated:deprecated-interface-for-local-sliding-window-mfe-prediction}}\label{\detokenize{mfe/window_deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{mfe/window_deprecated:group__mfe__window__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{Lfold (C function)@\spxentry{Lfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window_deprecated:c.Lfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1gafdd1e11b5c7ad443b9f86b818e67bab4}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Lfold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The local analog to {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/Lfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Computes the minimum free energy structure including only base pairs with a span smaller than ‘maxdist’

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000083}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{Lfoldz (C function)@\spxentry{Lfoldz}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window_deprecated:c.Lfoldz}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1ga9b568887c6091a54252729adcb35f6d2}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Lfoldz}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{zsc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{min\_z}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/Lfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000084}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{aliLfold (C function)@\spxentry{aliLfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window_deprecated:c.aliLfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1gabcd47858dd74449df96f964922dd61ad}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{aliLfold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{AS}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/Lfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{aliLfold\_cb (C function)@\spxentry{aliLfold\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/window_deprecated:c.aliLfold_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1gaaf48c41025f71859bbad11516762a815}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{aliLfold\_cb}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{AS}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}\sphinxparamcomma {\hyperref[\detokenize{mfe/window:c.vrna_mfe_window_f}]{\sphinxcrossref{\DUrole{n}{vrna\_mfe\_window\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/Lfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Backtracking MFE structures}
\label{\detokenize{mfe/backtracking:backtracking-mfe-structures}}\label{\detokenize{mfe/backtracking::doc}}
\sphinxAtStartPar
Backtracking related interfaces


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_bt\_f (C function)@\spxentry{vrna\_bt\_f}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1ga5eb955ec07fc997132ce957d79afbdf8}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_f}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_exterior\_f5 (C function)@\spxentry{vrna\_bt\_exterior\_f5}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_exterior_f5}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1ga0f505d38e79434dd0081f21a14ecb79e}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_exterior\_f5}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_exterior\_f3 (C function)@\spxentry{vrna\_bt\_exterior\_f3}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_exterior_f3}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1gabfe972fb7cd448dbf07cde666dac9a67}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_exterior\_f3}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_exterior\_f3\_pp (C function)@\spxentry{vrna\_bt\_exterior\_f3\_pp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_exterior_f3_pp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1gaf53d7e8cf9efeef936858ebde3711749}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_exterior\_f3\_pp}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/exterior.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_backtrack\_from\_intervals (C function)@\spxentry{vrna\_backtrack\_from\_intervals}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_backtrack_from_intervals}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1ga72b6afa2efd41b294cef3a778dc77ead}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_backtrack\_from\_intervals}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.sect}]{\sphinxcrossref{\DUrole{n}{sect}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack a secondary structure with pre\sphinxhyphen{}evaluated structure components. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_backtrack5 (C function)@\spxentry{vrna\_backtrack5}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_backtrack5}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1gaaee7355f060fe9eed8e687522567715e}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_backtrack5}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack an MFE (sub)structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to backtrack the MFE structure for a (sub)sequence

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000111}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{backtrack()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{length}} defaults to the total length of the RNA sequence and may be omitted. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.backtrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.backtrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On error, the function returns INF / 100. and stores the empty string in \sphinxcode{\sphinxupquote{structure}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the subsequence, starting from the 5’ end 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be written to. (Must have size of at least \$p length + 1)

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Requires pre\sphinxhyphen{}filled MFE dynamic programming matrices, i.e. one has to call {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} prior to calling this function

\sphinxlineitem{Returns}
\sphinxAtStartPar
The minimum free energy (MFE) for the specified \sphinxcode{\sphinxupquote{length}} in kcal/mol and a corresponding secondary structure in dot\sphinxhyphen{}bracket notation (stored in \sphinxcode{\sphinxupquote{structure}})

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bt\_hairpin (C function)@\spxentry{vrna\_bt\_hairpin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_hairpin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1ga3868ba2070023462ca70cac79884ad06}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_hairpin}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{en}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack a hairpin loop closed by \( (i,j) \). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/hairpin.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic! The provided {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} may be of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}} or {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}
\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_bt\_stacked\_pairs (C function)@\spxentry{vrna\_bt\_stacked\_pairs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_stacked_pairs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1gab04f24025fc85c87608a6e6c9bcae99a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_stacked\_pairs}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{en}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack a stacked pair closed by \( (i,j) \). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_internal\_loop (C function)@\spxentry{vrna\_bt\_internal\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_internal_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1gafe1b707bcc9f0168e59cc0c45e774971}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_internal\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{en}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack an internal loop closed by \( (i,j) \). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/internal.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_m (C function)@\spxentry{vrna\_bt\_m}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1ga0c6559ef0dc45b10e5ee80045a4d7c22}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_m}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_multibranch\_loop (C function)@\spxentry{vrna\_bt\_multibranch\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_multibranch_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1ga615bcadba98f63ecefda25d3aac1a529}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_multibranch\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{en}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack the decomposition of a multi branch loop closed by \( (i,j) \). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} filled with all relevant data for backtracking 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} 5’ position of base pair closing the loop (will be set to 5’ position of leftmost decomposed block upon successful backtracking) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} 3’ position of base pair closing the loop (will be set to 3’ position of rightmost decomposed block upon successful backtracking) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{en}} \textendash{} The energy contribution of the substructure enclosed by \( (i,j) \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bp\_stack}} \textendash{} The base pair stack 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bt\_stack}} \textendash{} The backtrack stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1, if backtracking succeeded, 0 otherwise. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bt\_multibranch\_split (C function)@\spxentry{vrna\_bt\_multibranch\_split}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{mfe/backtracking:c.vrna_bt_multibranch_split}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{mfe/backtracking:group__mfe__backtracking_1gaa2553aa2c5b99da0a1c49afabef498de}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_multibranch\_split}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/multibranch.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsection{Zuker’s Algorithm}
\label{\detokenize{mfe:zuker-s-algorithm}}
\sphinxAtStartPar
Our library provides fast dynamic programming Minimum Free Energy (MFE)
folding algorithms derived from the decomposition scheme as described by
Zuker and Stiegler {[}\hyperlink{cite.bibliography:id2}{1981}{]}.


\subsection{MFE for circular RNAs}
\label{\detokenize{mfe:mfe-for-circular-rnas}}
\sphinxAtStartPar
Folding of \sphinxstyleemphasis{circular} RNA sequences is handled as a post\sphinxhyphen{}processing step
of the forward recursions. See Hofacker and Stadler {[}\hyperlink{cite.bibliography:id21}{2006}{]} for further details.


\subsection{MFE Algorithm API}
\label{\detokenize{mfe:mfe-algorithm-api}}
\sphinxAtStartPar
Predicting the Minimum Free Energy (MFE) and a corresponding (consensus)
secondary structure.

\sphinxAtStartPar
In a nutshell we provide two different flavors for MFE prediction:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{mfe/global::doc}]{\sphinxcrossref{\DUrole{doc}{Global MFE Prediction}}}} \sphinxhyphen{} to compute the MFE for the entire sequence

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{mfe/window::doc}]{\sphinxcrossref{\DUrole{doc}{Local (sliding window) MFE Prediction}}}} \sphinxhyphen{} to compute MFEs for each window using a sliding window approach

\end{itemize}

\sphinxAtStartPar
Each of these flavors, again, provides two implementations to either compute the MFE based on
\begin{itemize}
\item {} 
\sphinxAtStartPar
single RNA (DNA) sequence(s), or

\item {} 
\sphinxAtStartPar
multiple sequences interacting with each other, or

\item {} 
\sphinxAtStartPar
a comparative approach using multiple sequence alignments (MSA).

\end{itemize}

\sphinxAtStartPar
For the latter, a consensus secondary structure is predicted and our implementations compute
an average of free energies for each sequence in the MSA plus an additional covariance
pseudo\sphinxhyphen{}energy term.

\sphinxAtStartPar
The implementations for {\hyperref[\detokenize{mfe/backtracking::doc}]{\sphinxcrossref{\DUrole{doc}{Backtracking MFE structures}}}} are generally agnostic with respect to whether
local or global structure prediction is in place.

\sphinxstepscope


\section{Partition Function and Equilibrium Properties}
\label{\detokenize{pf_fold:partition-function-and-equilibrium-properties}}\label{\detokenize{pf_fold::doc}}
\sphinxAtStartPar
In contrast to methods that compute the property of a single structure in the ensemble,
e.g. {\hyperref[\detokenize{mfe::doc}]{\sphinxcrossref{\DUrole{doc}{Minimum Free Energy (MFE) Algorithms}}}}, the partition function algorithms always consider the \sphinxstyleemphasis{entire}
equilibrium ensemble. For that purpose, the algorithm(s) made available by
McCaskill {[}\hyperlink{cite.bibliography:id3}{1990}{]} and its variants can be used to efficiently compute
\begin{itemize}
\item {} 
\sphinxAtStartPar
the partition function, and from that

\item {} 
\sphinxAtStartPar
various equilibrium probabilities, for instance base pair probabilities,
probabilities of individual structure motifs, and many more.

\end{itemize}

\sphinxAtStartPar
The principal idea behind this approach is that in equilibrium, statistical mechanics
and polymer theory tells us that the frequency or probability \(p(s)\) of a particular
state \(s\) depends on its energy \(E(s)\) and follows a Boltzmann distribution, i.e.
\begin{equation*}
\begin{split}p(s) \propto e^{-\beta E(s)} \text{ with } \beta = \frac{1}{kT}\end{split}
\end{equation*}
\sphinxAtStartPar
where \(k \approx 1.987 \cdot 10^{-3} \frac{kcal}{mol~K}\) is the Boltzmann constant,
and \(T\) the thermodynamic temperature. From that relation, the actual probability
of state \(s\) can then be obtained using a proper scaling factor, the \sphinxstyleemphasis{canonical
partition function}
\begin{equation*}
\begin{split}Z = \sum_{s \in \Omega} e^{-\beta E(s)}\end{split}
\end{equation*}
\sphinxAtStartPar
where \(\Omega\) is the finite set of all states. Finally, the equilibrium probability
of state \(s\) can be computed as
\begin{equation*}
\begin{split}p(s) = \frac{e^{-\beta E(s)}}{Z}\end{split}
\end{equation*}
\sphinxAtStartPar
Instead of enumerating all states exhaustively to compute \(Z\) one can apply the
\DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{grammar:secondary structure folding recurrences}}} again for an efficient computation
in cubic time. An \sphinxstyleemphasis{outside} variant of the same recursions is then used to compute
probabilities for base pairs, stretches of consecutive unpaired nucleotides, or structural
motifs.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
Further details of the Partition function and Base Pair Probability algorithm
can be obtained from McCaskill {[}\hyperlink{cite.bibliography:id3}{1990}{]}
\end{sphinxadmonition}

\sphinxstepscope


\subsection{Global Partition Function and Equilibrium Probabilities}
\label{\detokenize{partfunc/global:global-partition-function-and-equilibrium-probabilities}}\label{\detokenize{partfunc/global::doc}}
\sphinxAtStartPar
Variations of the global partition function algorithm.

\sphinxAtStartPar
We provide implementations of the global partition function algorithm for
\begin{itemize}
\item {} 
\sphinxAtStartPar
Single sequences,

\item {} 
\sphinxAtStartPar
Multiple sequence alignments (MSA), and

\item {} 
\sphinxAtStartPar
RNA\sphinxhyphen{}RNA hybrids

\end{itemize}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic global partition function interface}
\index{vrna\_pf (C function)@\spxentry{vrna\_pf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function \(Q\) for a given RNA sequence, or sequence alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If \sphinxstyleemphasis{structure} is not a NULL pointer on input, it contains on return a string consisting of the letters “ . , | \{ \} ( ) “ denoting bases that are essentially unpaired, weakly paired, strongly paired without preference, weakly upstream (downstream) paired, or strongly up\sphinxhyphen{} (down\sphinxhyphen{})stream paired bases, respectively. If the model’s compute\_bpp is set to 0 base pairing probabilities will not be computed (saving CPU time), otherwise after calculations took place pr will contain the probability that bases \sphinxstyleemphasis{i} and \sphinxstyleemphasis{j} pair.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000145}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pf()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pf}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pf()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gac4a2a74a79e49818bc35412a2b392c7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_fold()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga87e5a77b6e50dd54e9d032a9b92973be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_circfold()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga374e31a0f326b2c5da5b84e143a63f38}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_alifold()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gab70fe6c9a78b79cc5669881720926e1d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_circalifold()}}}}}, {\hyperref[\detokenize{utils/structures:group__struct__utils_1gacb5f1fafaf20eaf6a63052153499f0bb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_probs()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}}, {\hyperref[\detokenize{utils/msa:group__aln__utils_1gaac78a02d9939e68d570ff296547ff519}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_pinfo()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}. Also, this function may return INF / 100. in case of contradicting constraints or numerical over\sphinxhyphen{}/underflow. In the latter case, a corresponding warning will be issued to \sphinxcode{\sphinxupquote{stdout}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}inout{]}} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} \sphinxstylestrong{{[}inout{]}} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pf\_dimer (C function)@\spxentry{vrna\_pf\_dimer}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_dimer}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}}{\hyperref[\detokenize{rip/pf:c.vrna_dimer_pf_t}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_pf\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_dimer}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the cofold partition function folding.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000146}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pf\_dimer()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pf_dimer}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pf\_dimer()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} for how to retrieve the necessary data structure


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function may return INF / 100. for the \sphinxcode{\sphinxupquote{FA}}, \sphinxcode{\sphinxupquote{FB}}, \sphinxcode{\sphinxupquote{FAB}}, \sphinxcode{\sphinxupquote{F0AB}} members of the output data structure in case of contradicting constraints or numerical over\sphinxhyphen{}/underflow. In the latter case, a corresponding warning will be issued to \sphinxcode{\sphinxupquote{stdout}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} the fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Will hold the structure or constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
{\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga444df1587c9a2ca15b8eb25188f629c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_t}}}}} structure containing a set of energies needed for concentration computations.

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pf\_substrands (C function)@\spxentry{vrna\_pf\_substrands}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_substrands}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1ga62ecd03a44e6572e42d3a1454575e07a}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_substrands}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{complex\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pf\_add (C function)@\spxentry{vrna\_pf\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1ga712a2644d65adac165ccaf2a537fc541}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_add}}}}
{{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{dG1}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{dG2}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{kT}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified global partition function computation using sequence(s) or multiple sequence alignment(s)}
\index{vrna\_pf\_fold (C function)@\spxentry{vrna\_pf\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1gac4a2a74a79e49818bc35412a2b392c7e}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Partition function \(Q\) (and base pair probabilities) for an RNA sequence using a comparative method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} computes the partition function and, if required, base pair probabilities for an RNA sequence using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga87e5a77b6e50dd54e9d032a9b92973be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_circfold()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} A pointer to a list of {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} to store pairing probabilities (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pf\_circfold (C function)@\spxentry{vrna\_pf\_circfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_circfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1ga87e5a77b6e50dd54e9d032a9b92973be}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_circfold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Partition function \(Q\) (and base pair probabilities) for a circular RNA sequences using a comparative method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} computes the partition function and, if required, base pair probabilities for a circular RNA sequence using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing.

\sphinxAtStartPar

Folding of circular RNA sequences is handled as a post\sphinxhyphen{}processing step of the forward recursions. See    Hofacker and Stadler {[}\hyperlink{cite.bibliography:id21}{2006}{]}  for further details.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1gac4a2a74a79e49818bc35412a2b392c7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_fold()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} A circular RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} A pointer to a list of {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} to store pairing probabilities (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pf\_alifold (C function)@\spxentry{vrna\_pf\_alifold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_alifold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1ga374e31a0f326b2c5da5b84e143a63f38}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_alifold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Partition function \(Q\) (and base pair probabilities) for an RNA sequence alignment using a comparative method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} computes the partition function and, if required, base pair probabilities for an RNA sequence alignment using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1gab70fe6c9a78b79cc5669881720926e1d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_circalifold()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} \textendash{} RNA sequence alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} A pointer to a list of {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} to store pairing probabilities (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pf\_circalifold (C function)@\spxentry{vrna\_pf\_circalifold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_circalifold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1gab70fe6c9a78b79cc5669881720926e1d}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_circalifold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Partition function \(Q\) (and base pair probabilities) for an alignment of circular RNA sequences using a comparative method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} computes the partition function and, if required, base pair probabilities for an RNA sequence alignment using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing.

\sphinxAtStartPar

Folding of circular RNA sequences is handled as a post\sphinxhyphen{}processing step of the forward recursions. See    Hofacker and Stadler {[}\hyperlink{cite.bibliography:id21}{2006}{]}  for further details.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga374e31a0f326b2c5da5b84e143a63f38}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_alifold()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} \textendash{} Sequence alignment of circular RNAs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} A pointer to a list of {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} to store pairing probabilities (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pf\_co\_fold (C function)@\spxentry{vrna\_pf\_co\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_pf_co_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1gaf2b846f7ac382686f35ff7b9202fdd5c}}{\hyperref[\detokenize{rip/pf:c.vrna_dimer_pf_t}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_pf\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_co\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}} computes the partition function and, if required, base pair probabilities for an RNA\sphinxhyphen{}RNA interaction using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} Two concatenated RNA sequences with a delimiting ‘\&’ in between 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} A pointer to a list of {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} to store pairing probabilities (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
{\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga444df1587c9a2ca15b8eb25188f629c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_t}}}}} structure containing a set of energies needed for concentration computations. 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_plist\_from\_probs (C function)@\spxentry{vrna\_plist\_from\_probs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_plist_from_probs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plist\_from\_probs}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{cut\_off}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} from base pair probability matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The probability matrix provided via the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} is parsed and all pair probabilities above the given threshold are used to create an entry in the plist

\sphinxAtStartPar
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}in{]}} The fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cut\_off}} \textendash{} \sphinxstylestrong{{[}in{]}} The cutoff value 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the plist that is to be created 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_dimer\_pf\_s (C struct)@\spxentry{vrna\_dimer\_pf\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_dimer_pf_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__dimer__pf__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_dimer\_pf\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/partfunc/global.h\textgreater{}}
\sphinxAtStartPar
Data structure returned by {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_dimer\_pf\_s.F0AB (C var)@\spxentry{vrna\_dimer\_pf\_s.F0AB}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_dimer_pf_s.F0AB}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__dimer__pf__s_1a82e31d1fb6e95923fab6036f52c370af}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{F0AB}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Null model without DuplexInit. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dimer\_pf\_s.FAB (C var)@\spxentry{vrna\_dimer\_pf\_s.FAB}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_dimer_pf_s.FAB}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__dimer__pf__s_1a01a87f59db2b7fbf883b056e6f6c673a}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FAB}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
all states with DuplexInit correction 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dimer\_pf\_s.FcAB (C var)@\spxentry{vrna\_dimer\_pf\_s.FcAB}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_dimer_pf_s.FcAB}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__dimer__pf__s_1a7b01cea5721f61badebc29cf0a9c4266}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FcAB}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
true hybrid states only 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dimer\_pf\_s.FA (C var)@\spxentry{vrna\_dimer\_pf\_s.FA}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_dimer_pf_s.FA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__dimer__pf__s_1a1aca57247f2c023d08028b1919005b0a}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
monomer A 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dimer\_pf\_s.FB (C var)@\spxentry{vrna\_dimer\_pf\_s.FB}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_dimer_pf_s.FB}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__dimer__pf__s_1ab4d307be5400604d3c1d84d58a9981df}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FB}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
monomer B 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_multimer\_pf\_s (C struct)@\spxentry{vrna\_multimer\_pf\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_multimer_pf_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__multimer__pf__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_multimer\_pf\_s}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_multimer\_pf\_s.F\_connected (C var)@\spxentry{vrna\_multimer\_pf\_s.F\_connected}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_multimer_pf_s.F_connected}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__multimer__pf__s_1ac9c2a58bc07ae9c0e97d0bfb4b973db3}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{F\_connected}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Fully connected ensemble (incl. DuplexInititiation and rotational symmetry correction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_multimer\_pf\_s.F\_monomers (C var)@\spxentry{vrna\_multimer\_pf\_s.F\_monomers}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_multimer_pf_s.F_monomers}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__multimer__pf__s_1a33856f7edf687ad26bafd0c62536c2bc}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{F\_monomers}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
monomers 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_multimer\_pf\_s.num\_monomers (C var)@\spxentry{vrna\_multimer\_pf\_s.num\_monomers}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global:c.vrna_multimer_pf_s.num_monomers}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/global:structvrna__multimer__pf__s_1a1ccd8466abb58ff6cecdc1a1deda0d36}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{num\_monomers}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Number of monomers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Local (sliding window) Partition Function and Equilibrium Probabilities}
\label{\detokenize{partfunc/window:local-sliding-window-partition-function-and-equilibrium-probabilities}}\label{\detokenize{partfunc/window::doc}}
\sphinxAtStartPar
Scanning version using a sliding window approach to compute equilibrium
probabilities.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic local partition function interface}
\index{vrna\_probs\_window (C function)@\spxentry{vrna\_probs\_window}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.vrna_probs_window}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probs\_window}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ulength}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma {\hyperref[\detokenize{partfunc/window:c.vrna_probs_window_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probs\_window\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute various equilibrium probabilities under a sliding window approach. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function applies a sliding window scan for the sequence provided with the argument \sphinxcode{\sphinxupquote{fc}} and reports back equilibrium probabilities through the callback function \sphinxcode{\sphinxupquote{cb}}. The data reported to the callback depends on the \sphinxcode{\sphinxupquote{options}} flag.

\sphinxAtStartPar
\sphinxstyleemphasis{Options:}

\sphinxAtStartPar
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga296217b76e76e5f7e6927e7210aa9b1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_BPP}}}}} \sphinxhyphen{}   Trigger base pairing probabilities.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga18325811c7dfc7b7d9d4ac37f4353615}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_UP}}}}} \sphinxhyphen{}   Trigger unpaired probabilities.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga9068f4ec008bf1c042a9357f5c2c5e13}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_UP\_SPLIT}}}}} \sphinxhyphen{}   Trigger detailed unpaired probabilities split up into different loop type contexts.   

\end{itemize}


\sphinxAtStartPar
Options may be OR\sphinxhyphen{}ed together

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga666afcc1cda1822d0cd3b7f7f7f73f2d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold\_cb()}}}}}, {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga25f154804af6463afddcbebe565fd465}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold\_up\_cb()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The parameter \sphinxcode{\sphinxupquote{ulength}} only affects computation and resulting data if unpaired probability computations are requested through the \sphinxcode{\sphinxupquote{options}} flag.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound with sequence data, model settings and precomputed energy parameters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ulength}} \textendash{} The maximal length of an unpaired segment (only for unpaired probability computations) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback function which collects the pair probability data for further processing 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} Some arbitrary data structure that is passed to the callback \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Option flags to control the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 on failure, non\sphinxhyphen{}zero on success 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified global partition function computation using sequence(s) or multiple sequence alignment(s)}
\index{vrna\_pfl\_fold (C function)@\spxentry{vrna\_pfl\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.vrna_pfl_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga1f12fb1ae8b1d0a5d7ab7c2cdddf98c1}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pfl\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_bp\_span}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{cutoff}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute base pair probabilities using a sliding\sphinxhyphen{}window approach. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a simplified wrapper to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} that given a nucleid acid sequence, a window size, a maximum base pair span, and a cutoff value computes the pair probabilities for any base pair in any window. The pair probabilities are returned as a list and the user has to take care to free() the memory occupied by the list.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}, {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga666afcc1cda1822d0cd3b7f7f7f73f2d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold\_cb()}}}}}, {\hyperref[\detokenize{partfunc/window:group__part__func__window_1gaef3a34027fcf975dda31602d7b4ac4f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold\_up()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function uses default model settings! For custom model settings, we refer to the function {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}
\sphinxAtStartPar
.

\sphinxAtStartPar
In case of any computation errors, this function returns
\sphinxcode{\sphinxupquote{NULL}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The nucleic acid input sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} \textendash{} The size of the sliding window 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_bp\_span}} \textendash{} The maximum distance along the backbone between two nucleotides that form a base pairs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cutoff}} \textendash{} A cutoff value that omits all pairs with lower probability 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of base pair probabilities, terminated by an entry with {\hyperref[\detokenize{utils/struct/plist:structvrna__elem__prob__s_1a0f8bb11ded4e605f816d7ad92eb568f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t.i}}}}} and {\hyperref[\detokenize{utils/struct/plist:structvrna__elem__prob__s_1acada5be62ed6843334a918ca543f0c0d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t.j}}}}} set to 0 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pfl\_fold\_cb (C function)@\spxentry{vrna\_pfl\_fold\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.vrna_pfl_fold_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga666afcc1cda1822d0cd3b7f7f7f73f2d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pfl\_fold\_cb}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_bp\_span}\sphinxparamcomma {\hyperref[\detokenize{partfunc/window:c.vrna_probs_window_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probs\_window\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute base pair probabilities using a sliding\sphinxhyphen{}window approach (callback version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a simplified wrapper to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} that given a nucleid acid sequence, a window size, a maximum base pair span, and a cutoff value computes the pair probabilities for any base pair in any window. It is similar to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga1f12fb1ae8b1d0a5d7ab7c2cdddf98c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold()}}}}} but uses a callback mechanism to return the pair probabilities.

\sphinxAtStartPar
Read the details for {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} for details on the callback implementation!

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}, {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga1f12fb1ae8b1d0a5d7ab7c2cdddf98c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold()}}}}}, {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga25f154804af6463afddcbebe565fd465}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold\_up\_cb()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function uses default model settings! For custom model settings, we refer to the function {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The nucleic acid input sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} \textendash{} The size of the sliding window 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_bp\_span}} \textendash{} The maximum distance along the backbone between two nucleotides that form a base pairs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback function which collects the pair probability data for further processing 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} Some arbitrary data structure that is passed to the callback \sphinxcode{\sphinxupquote{cb}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 on failure, non\sphinxhyphen{}zero on success 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pfl\_fold\_up (C function)@\spxentry{vrna\_pfl\_fold\_up}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.vrna_pfl_fold_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1gaef3a34027fcf975dda31602d7b4ac4f2}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pfl\_fold\_up}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ulength}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_bp\_span}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute probability of contiguous unpaired segments. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a simplified wrapper to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} that given a nucleic acid sequence, a maximum length of unpaired segments (\sphinxcode{\sphinxupquote{ulength}}), a window size, and a maximum base pair span computes the equilibrium probability of any segment not exceeding \sphinxcode{\sphinxupquote{ulength}}. The probabilities to be unpaired are returned as a 1\sphinxhyphen{}based, 2\sphinxhyphen{}dimensional matrix with dimensions \( N \times M \), where \(N\) is the length of the sequence and \(M\) is the maximum segment length. As an example, the probability of a segment of size 5 starting at position 100 is stored in the matrix entry \(X[100][5]\).

\sphinxAtStartPar
It is the users responsibility to free the memory occupied by this matrix.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function uses default model settings! For custom model settings, we refer to the function {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The nucleic acid input sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ulength}} \textendash{} The maximal length of an unpaired segment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} \textendash{} The size of the sliding window 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_bp\_span}} \textendash{} The maximum distance along the backbone between two nucleotides that form a base pairs 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The probabilities to be unpaired for any segment not exceeding \sphinxcode{\sphinxupquote{ulength}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pfl\_fold\_up\_cb (C function)@\spxentry{vrna\_pfl\_fold\_up\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.vrna_pfl_fold_up_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga25f154804af6463afddcbebe565fd465}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pfl\_fold\_up\_cb}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ulength}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{window\_size}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_bp\_span}\sphinxparamcomma {\hyperref[\detokenize{partfunc/window:c.vrna_probs_window_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probs\_window\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute probability of contiguous unpaired segments. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a simplified wrapper to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} that given a nucleic acid sequence, a maximum length of unpaired segments (\sphinxcode{\sphinxupquote{ulength}}), a window size, and a maximum base pair span computes the equilibrium probability of any segment not exceeding \sphinxcode{\sphinxupquote{ulength}}. It is similar to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1gaef3a34027fcf975dda31602d7b4ac4f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold\_up()}}}}} but uses a callback mechanism to return the unpaired probabilities.

\sphinxAtStartPar
Read the details for {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} for details on the callback implementation!

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function uses default model settings! For custom model settings, we refer to the function {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The nucleic acid input sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ulength}} \textendash{} The maximal length of an unpaired segment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} \textendash{} The size of the sliding window 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_bp\_span}} \textendash{} The maximum distance along the backbone between two nucleotides that form a base pairs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback function which collects the pair probability data for further processing 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} Some arbitrary data structure that is passed to the callback \sphinxcode{\sphinxupquote{cb}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 on failure, non\sphinxhyphen{}zero on success 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_EXT\_LOOP (C macro)@\spxentry{VRNA\_EXT\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_EXT_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1gaf0bb577130090f6c856d1358804250bf}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_EXT\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Exterior loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_HP\_LOOP (C macro)@\spxentry{VRNA\_HP\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_HP_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga30170811c320f3a7b23ffff3b3343b91}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_HP\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Hairpin loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INT\_LOOP (C macro)@\spxentry{VRNA\_INT\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_INT_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga956a237e7d956b684b7d593cb3eca665}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INT\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Internal loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MB\_LOOP (C macro)@\spxentry{VRNA\_MB\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_MB_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1gad905b71f02b3799eb84b490435aec837}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MB\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Multibranch loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_ANY\_LOOP (C macro)@\spxentry{VRNA\_ANY\_LOOP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_ANY_LOOP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga1fef1ad234755db78ab6b695edce5080}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ANY\_LOOP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Any loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBS\_WINDOW\_BPP (C macro)@\spxentry{VRNA\_PROBS\_WINDOW\_BPP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_PROBS_WINDOW_BPP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga296217b76e76e5f7e6927e7210aa9b1f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBS\_WINDOW\_BPP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trigger base pairing probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Passing this flag to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} activates callback execution for base pairing probabilities. In turn, the corresponding callback receives this flag through the \sphinxcode{\sphinxupquote{type}} argument whenever base pairing probabilities are provided.

\sphinxAtStartPar
Detailed information for the algorithm to compute unpaired probabilities can be taken from    Bernhart \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id38}{2005}{]} .

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBS\_WINDOW\_UP (C macro)@\spxentry{VRNA\_PROBS\_WINDOW\_UP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_PROBS_WINDOW_UP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga18325811c7dfc7b7d9d4ac37f4353615}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBS\_WINDOW\_UP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trigger unpaired probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Passing this flag to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} activates callback execution for unpaired probabilities. In turn, the corresponding callback receives this flag through the \sphinxcode{\sphinxupquote{type}} argument whenever unpaired probabilities are provided.

\sphinxAtStartPar
Detailed information for the algorithm to compute unpaired probabilities can be taken from    Bernhart \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id37}{2011}{]} .

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBS\_WINDOW\_STACKP (C macro)@\spxentry{VRNA\_PROBS\_WINDOW\_STACKP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_PROBS_WINDOW_STACKP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga0a13fc668b02f21b225e2334e4caac08}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBS\_WINDOW\_STACKP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trigger base pair stack probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Passing this flag to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} activates callback execution for stacking probabilities. In turn, the corresponding callback receives this flag through the \sphinxcode{\sphinxupquote{type}} argument whenever stack probabilities are provided.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\sphinxstyleemphasis{Bug:}}
\pysigstopsignatures
\sphinxAtStartPar
Currently, this flag is a placeholder doing nothing as the corresponding implementation for stack probability computation is missing.

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBS\_WINDOW\_UP\_SPLIT (C macro)@\spxentry{VRNA\_PROBS\_WINDOW\_UP\_SPLIT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_PROBS_WINDOW_UP_SPLIT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga9068f4ec008bf1c042a9357f5c2c5e13}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBS\_WINDOW\_UP\_SPLIT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trigger detailed unpaired probabilities split up into different loop type contexts. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Passing this flag to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} activates callback execution for unpaired probabilities. In contrast to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga18325811c7dfc7b7d9d4ac37f4353615}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_UP}}}}} this flag requests unpaired probabilities to be split up into different loop type contexts. In turn, the corresponding callback receives the {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga18325811c7dfc7b7d9d4ac37f4353615}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_UP}}}}} flag OR\sphinxhyphen{}ed together with the corresponding loop type, i.e.:

\sphinxAtStartPar
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1gaf0bb577130090f6c856d1358804250bf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EXT\_LOOP}}}}} \sphinxhyphen{}   Exterior loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga30170811c320f3a7b23ffff3b3343b91}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_HP\_LOOP}}}}} \sphinxhyphen{}   Hairpin loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga956a237e7d956b684b7d593cb3eca665}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INT\_LOOP}}}}} \sphinxhyphen{}   Internal loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1gad905b71f02b3799eb84b490435aec837}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MB\_LOOP}}}}} \sphinxhyphen{}   Multibranch loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga1fef1ad234755db78ab6b695edce5080}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_ANY\_LOOP}}}}} \sphinxhyphen{}   Any loop.   

\end{itemize}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}, {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga18325811c7dfc7b7d9d4ac37f4353615}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_UP}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBS\_WINDOW\_PF (C macro)@\spxentry{VRNA\_PROBS\_WINDOW\_PF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.VRNA_PROBS_WINDOW_PF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga4b79137d9b28b1f9cac7983792ce34a0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBS\_WINDOW\_PF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trigger partition function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Passing this flag to {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}} activates callback execution for partition function. In turn, the corresponding callback receives this flag through it’s \sphinxcode{\sphinxupquote{type}} argument whenever partition function data is provided.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Instead of actually providing the partition function \(Z\), the callback is always provided with the corresponding enemble free energy \(\Delta G = - RT \ln Z\).
\end{sphinxadmonition}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_probs\_window\_f (C type)@\spxentry{vrna\_probs\_window\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.vrna_probs_window_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga847115aeace6030fa01185cca6e34f9e}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probs\_window\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pr\_size}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sliding window probability computation callback. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000020}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called for each probability data set in the sliding window probability computation implementation of {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}. The argument \sphinxstyleemphasis{type} specifies the type of probability that is passed to this function. 

\end{fulllineitems}



\sphinxAtStartPar
\sphinxstyleemphasis{Types:}

\sphinxAtStartPar
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga296217b76e76e5f7e6927e7210aa9b1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_BPP}}}}} \sphinxhyphen{}   Trigger base pairing probabilities.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga18325811c7dfc7b7d9d4ac37f4353615}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_UP}}}}} \sphinxhyphen{}   Trigger unpaired probabilities.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga4b79137d9b28b1f9cac7983792ce34a0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_PF}}}}} \sphinxhyphen{}   Trigger partition function.   

\end{itemize}


\sphinxAtStartPar
The above types usually come exclusively. However, for unpaired probabilities, the {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga18325811c7dfc7b7d9d4ac37f4353615}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBS\_WINDOW\_UP}}}}} flag is OR\sphinxhyphen{}ed together with one of the loop type contexts

\sphinxAtStartPar
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1gaf0bb577130090f6c856d1358804250bf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_EXT\_LOOP}}}}} \sphinxhyphen{}   Exterior loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga30170811c320f3a7b23ffff3b3343b91}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_HP\_LOOP}}}}} \sphinxhyphen{}   Hairpin loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga956a237e7d956b684b7d593cb3eca665}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INT\_LOOP}}}}} \sphinxhyphen{}   Internal loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1gad905b71f02b3799eb84b490435aec837}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MB\_LOOP}}}}} \sphinxhyphen{}   Multibranch loop.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga1fef1ad234755db78ab6b695edce5080}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_ANY\_LOOP}}}}} \sphinxhyphen{}   Any loop.   

\end{itemize}


\sphinxAtStartPar
to indicate the particular type of data available through the \sphinxcode{\sphinxupquote{pr}} pointer.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}, {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga25f154804af6463afddcbebe565fd465}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pfl\_fold\_up\_cb()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param pr}
\sphinxAtStartPar
An array of probabilities 

\sphinxlineitem{Param pr\_size}
\sphinxAtStartPar
The length of the probability array 

\sphinxlineitem{Param i}
\sphinxAtStartPar
The i\sphinxhyphen{}position (5’) of the probabilities 

\sphinxlineitem{Param max}
\sphinxAtStartPar
The (theoretical) maximum length of the probability array 

\sphinxlineitem{Param type}
\sphinxAtStartPar
The type of data that is provided 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Auxiliary data 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probs\_window\_callback (C type)@\spxentry{vrna\_probs\_window\_callback}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window:c.vrna_probs_window_callback}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window:group__part__func__window_1ga3c0398cb1ac1001ee4ef8c0a83a4423d}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probs\_window\_callback}}}}
{{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pr\_size}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/local.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Predicting various Thermodynamic Properties}
\label{\detokenize{partfunc/thermodynamics:predicting-various-thermodynamic-properties}}\label{\detokenize{partfunc/thermodynamics::doc}}
\sphinxAtStartPar
Compute various thermodynamic properties using the partition function.

\sphinxAtStartPar
Many thermodynamic properties can be derived from the partition function
\begin{equation*}
\begin{split}Z = \sum_{s \in \omega} e^{\frac{-E(s)}{kT}}.\end{split}
\end{equation*}
\sphinxAtStartPar
In particular, for nucleic acids in equilibrium the probabilty \(p(F)\)
of a particular structural feature \(F\) follows Boltzmanns law, i.e.:
\begin{equation*}
\begin{split}p(F) \propto \sum_{s \mid F \in s} e^{\frac{-E(s)}{kT}}.\end{split}
\end{equation*}
\sphinxAtStartPar
The actual probabilities can then be obtained from the ratio of those
structures containing \(F\) and \sphinxstyleemphasis{all} structures, i.e.
\begin{equation*}
\begin{split}p(F) = \frac{1}{Z} \sum_{s \mid F \in s} e^{\frac{-E(s)}{kT}}.\end{split}
\end{equation*}
\sphinxAtStartPar
Consequently, a particular secondary structure \(s\) has equilibrium
probability
\begin{equation*}
\begin{split}p(s) = \frac{1}{Z} e^{\frac{-E(s)}{kT}}\end{split}
\end{equation*}
\sphinxAtStartPar
which can be easily computed once \(Z\) and \(E(s)\) are known.

\sphinxAtStartPar
Efficient dynamic programming algorithms exist to compute the equilibrium
probabilities
\begin{equation*}
\begin{split}p_{ij} = \frac{1}{Z} \sum_{s \mid (i,j) \in s} e^{\frac{-E(s)}{kT}}\end{split}
\end{equation*}
\sphinxAtStartPar
of base pairs \((i,j)\) without the need for exhaustive enumeration
of \(s\).

\sphinxAtStartPar
This interface provides the functions for all thermodynamic property
computations implemented in \sphinxstyleemphasis{RNAlib}.


\subsubsection{Thermodynamic Properties API}
\label{\detokenize{partfunc/thermodynamics:thermodynamic-properties-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Basic heat capacity function interface}
\index{vrna\_heat\_capacity (C function)@\spxentry{vrna\_heat\_capacity}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}}{\hyperref[\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heat\_capacity\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heat\_capacity}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_min}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_max}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_increment}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{mpoints}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the specific heat for an RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes an RNAs specific heat in a given temperature range from the partition function by numeric differentiation. The result is returned as a list of pairs of temperature in °C and specific heat in Kcal/(Mol*K).

\sphinxAtStartPar
Users can specify the temperature range for the computation from \sphinxcode{\sphinxupquote{T\_min}} to \sphinxcode{\sphinxupquote{T\_max}}, as well as the increment step size \sphinxcode{\sphinxupquote{T\_increment}}. The latter also determines how many times the partition function is computed. Finally, the parameter \sphinxcode{\sphinxupquote{mpoints}} determines how smooth the curve should be. The algorithm itself fits a parabola to \( 2 \cdot mpoints + 1 \) data points to calculate 2nd derivatives. Increasing this parameter produces a smoother curve.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000106}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{heat\_capacity()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. If the optional function arguments \sphinxcode{\sphinxupquote{T\_min}}, \sphinxcode{\sphinxupquote{T\_max}}, \sphinxcode{\sphinxupquote{T\_increment}}, and \sphinxcode{\sphinxupquote{mpoints}} are omitted, they default to 0.0, 100.0, 1.0 and 2, respectively. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga19ef508fcc66ab80833aa2fe402d8927}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_cb()}}}}}, {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga99dc703d840310177ecf7aedf72b4409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_t}}}}}, {\hyperref[\detokenize{partfunc/thermodynamics:structvrna__heat__capacity__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_s}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with the RNA sequence to analyze 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_min}} \textendash{} Lowest temperature in °C 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_max}} \textendash{} Highest temperature in °C 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_increment}} \textendash{} Stepsize for temperature incrementation in °C (a reasonable choice might be 1°C) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mpoints}} \textendash{} The number of interpolation points to calculate 2nd derivative (a reasonable choice might be 2, min: 1, max: 100) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of pairs of temperatures and corresponding heat capacity or \sphinxstyleemphasis{NULL} upon any failure. The last entry of the list is indicated by a \sphinxstylestrong{temperature} field set to a value smaller than \sphinxcode{\sphinxupquote{T\_min}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heat\_capacity\_cb (C function)@\spxentry{vrna\_heat\_capacity\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga19ef508fcc66ab80833aa2fe402d8927}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heat\_capacity\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_min}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_max}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_increment}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{mpoints}\sphinxparamcomma {\hyperref[\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_f}]{\sphinxcrossref{\DUrole{n}{vrna\_heat\_capacity\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the specific heat for an RNA (callback variant). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity()}}}}}, this function computes an RNAs specific heat in a given temperature range from the partition function by numeric differentiation. Instead of returning a list of temperature/specific heat pairs, however, this function returns the individual results through a callback mechanism. The provided function will be called for each result and passed the corresponding temperature and specific heat values along with the arbitrary data as provided through the \sphinxcode{\sphinxupquote{data}} pointer argument.

\sphinxAtStartPar
Users can specify the temperature range for the computation from \sphinxcode{\sphinxupquote{T\_min}} to \sphinxcode{\sphinxupquote{T\_max}}, as well as the increment step size \sphinxcode{\sphinxupquote{T\_increment}}. The latter also determines how many times the partition function is computed. Finally, the parameter \sphinxcode{\sphinxupquote{mpoints}} determines how smooth the curve should be. The algorithm itself fits a parabola to \( 2 \cdot mpoints + 1 \) data points to calculate 2nd derivatives. Increasing this parameter produces a smoother curve.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{heat\_capacity\_cb()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity()}}}}}, {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafa73325bee7e6b7c9d1732d70e67d65a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} with the RNA sequence to analyze 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_min}} \textendash{} Lowest temperature in °C 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_max}} \textendash{} Highest temperature in °C 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_increment}} \textendash{} Stepsize for temperature incrementation in °C (a reasonable choice might be 1°C) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mpoints}} \textendash{} The number of interpolation points to calculate 2nd derivative (a reasonable choice might be 2, min: 1, max: 100) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The user\sphinxhyphen{}defined callback function that receives the individual results 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} An arbitrary data structure that will be passed to the callback in conjunction with the results 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Returns 0 upon failure, and non\sphinxhyphen{}zero otherwise

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Simplified heat capacity computation}
\index{vrna\_heat\_capacity\_simple (C function)@\spxentry{vrna\_heat\_capacity\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga0c2664e15dded704d805a9d2a625ff21}}{\hyperref[\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heat\_capacity\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heat\_capacity\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_min}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_max}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{T\_increment}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{mpoints}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the specific heat for an RNA (simplified variant). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity()}}}}}, this function computes an RNAs specific heat in a given temperature range from the partition function by numeric differentiation. This simplified version, however, only requires the RNA sequence as input instead of a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure. The result is returned as a list of pairs of temperature in °C and specific heat in Kcal/(Mol*K).

\sphinxAtStartPar
Users can specify the temperature range for the computation from \sphinxcode{\sphinxupquote{T\_min}} to \sphinxcode{\sphinxupquote{T\_max}}, as well as the increment step size \sphinxcode{\sphinxupquote{T\_increment}}. The latter also determines how many times the partition function is computed. Finally, the parameter \sphinxcode{\sphinxupquote{mpoints}} determines how smooth the curve should be. The algorithm itself fits a parabola to \( 2 \cdot mpoints + 1 \) data points to calculate 2nd derivatives. Increasing this parameter produces a smoother curve.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000108}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{heat\_capacity()}}. If the optional function arguments \sphinxcode{\sphinxupquote{T\_min}}, \sphinxcode{\sphinxupquote{T\_max}}, \sphinxcode{\sphinxupquote{T\_increment}}, and \sphinxcode{\sphinxupquote{mpoints}} are omitted, they default to 0.0, 100.0, 1.0 and 2, respectively. See, e.g.   \sphinxcode{\sphinxupquote{RNA.head\_capacity()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity()}}}}}, {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga19ef508fcc66ab80833aa2fe402d8927}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_cb()}}}}}, {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga99dc703d840310177ecf7aedf72b4409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_t}}}}}, {\hyperref[\detokenize{partfunc/thermodynamics:structvrna__heat__capacity__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_s}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The RNA sequence input (must be uppercase) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_min}} \textendash{} Lowest temperature in °C 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_max}} \textendash{} Highest temperature in °C 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_increment}} \textendash{} Stepsize for temperature incrementation in °C (a reasonable choice might be 1°C) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mpoints}} \textendash{} The number of interpolation points to calculate 2nd derivative (a reasonable choice might be 2, min: 1, max: 100) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of pairs of temperatures and corresponding heat capacity or \sphinxstyleemphasis{NULL} upon any failure. The last entry of the list is indicated by a \sphinxstylestrong{temperature} field set to a value smaller than \sphinxcode{\sphinxupquote{T\_min}}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Base pair probabilities and derived computations}
\index{vrna\_pairing\_probs (C function)@\spxentry{vrna\_pairing\_probs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_pairing_probs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1gaf3733c2244379f9954365d021b50ef4c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pairing\_probs}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/basepairs.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_stack\_prob (C function)@\spxentry{vrna\_stack\_prob}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_stack_prob}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga39bbe73ccb7685b6521cfa5c1c64ae78}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_stack\_prob}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{cutoff}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute stacking probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/basepairs.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
For each possible base pair \((i,j)\), compute the probability of a stack \((i,j)\), \((i+1, j-1)\).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000153}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{stack\_prob()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional argument \sphinxcode{\sphinxupquote{cutoff}} defaults to 1e\sphinxhyphen{}5. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.stack_prob}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.stack\_prob()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure with precomputed base pair probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cutoff}} \textendash{} A cutoff value that limits the output to stacks with \( p > \textrm{cutoff} \). 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of stacks with enclosing base pair \((i,j)\) and probabiltiy \( p \)

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Multimer probabilities computations}
\index{vrna\_pf\_dimer\_probs (C function)@\spxentry{vrna\_pf\_dimer\_probs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_pf_dimer_probs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1gaa1e39e73afb51fbaf4ae38f0c066c46b}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_dimer\_probs}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FAB}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FA}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FB}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prAB}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prA}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prB}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{Alength}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{exp\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Boltzmann probabilities of dimerization without homodimers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/basepairs.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given the pair probabilities and free energies (in the null model) for a dimer AB and the two constituent monomers A and B, compute the conditional pair probabilities given that a dimer AB actually forms. Null model pair probabilities are given as a list as produced by {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist\_from\_probs()}}}}}, the dimer probabilities ‘prAB’ are modified in place.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FAB}} \textendash{} free energy of dimer AB 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FA}} \textendash{} free energy of monomer A 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FB}} \textendash{} free energy of monomer B 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prAB}} \textendash{} pair probabilities for dimer 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prA}} \textendash{} pair probabilities monomer 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prB}} \textendash{} pair probabilities monomer 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Alength}} \textendash{} Length of molecule A 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{exp\_params}} \textendash{} The precomputed Boltzmann factors 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Structure probability computations}
\index{vrna\_mean\_bp\_distance\_pr (C function)@\spxentry{vrna\_mean\_bp\_distance\_pr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_mean_bp_distance_pr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1gad3f0c240512e6d43e2e4d4c2076021f5}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mean\_bp\_distance\_pr}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the mean base pair distance in the thermodynamic ensemble from a probability matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\begin{equation*}
\begin{split}<d> = \sum_{a,b} p_a p_b d(S_a,S_b)
\end{split}
\end{equation*}

\sphinxAtStartPar
this can be computed from the pair probs \( p_{ij} \) as

\sphinxAtStartPar
\begin{equation*}
\begin{split}<d> = \sum_{ij} p_{ij}(1-p_{ij})
\end{split}
\end{equation*}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr}} \textendash{} The matrix containing the base pair probabilities 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mean pair distance of the structure ensemble 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mean\_bp\_distance (C function)@\spxentry{vrna\_mean\_bp\_distance}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_mean_bp_distance}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd9ef9f1a5f0ab31540e4c3d78addc82}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mean\_bp\_distance}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the mean base pair distance in the thermodynamic ensemble. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\begin{equation*}
\begin{split}<d> = \sum_{a,b} p_a p_b d(S_a,S_b)
\end{split}
\end{equation*}

\sphinxAtStartPar
this can be computed from the pair probs \(p_{ij}\) as

\sphinxAtStartPar
\begin{equation*}
\begin{split}<d> = \sum_{ij} p_{ij}(1-p_{ij})
\end{split}
\end{equation*}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000147}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga79cbc375af65f11609feb6b055269e7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{mean\_bp\_distance()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mean_bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mean\_bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mean pair distance of the structure ensemble

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ensemble\_defect\_pt (C function)@\spxentry{vrna\_ensemble\_defect\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_ensemble_defect_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga20b7a56fa9e451461805fd968c6cd909}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ensemble\_defect\_pt}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the Ensemble Defect for a given target structure provided as a \sphinxstylestrong{vrna\_ptable}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a target structure \(s\), compute the average dissimilarity of a randomly drawn structure from the ensemble, i.e.:

\sphinxAtStartPar
\begin{equation*}
\begin{split}  ED(s) = 1 - \frac{1}{n} \sum_{ij, (i,j) \in s} p_{ij} - \frac{1}{n} \sum_{i}(1 - s_i)q_i
\end{split}
\end{equation*}

\sphinxAtStartPar
with sequence length \(n\), the probability \(p_{ij}\) of a base pair \((i,j)\), the probability \(q_i = 1 - \sum_j p_{ij}\) of nucleotide \(i\) being unpaired, and the indicator variable \(s_i = 1\) if \(\exists (i,j) \in s\), and \(s_i = 0\) otherwise.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{ensemble\_defect()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ensemble_defect}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ensemble\_defect()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, vrna\_pairing\_probs(), {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gaaf197722d1faa86af5e7b4240acafdee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ensemble\_defect()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A fold\_compound with pre\sphinxhyphen{}computed base pair probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} A pair table representing a target structure 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} input parameter \sphinxcode{\sphinxupquote{fc}} must contain a valid base pair probability matrix. This means that partition function and base pair probabilities must have been computed using \sphinxcode{\sphinxupquote{fc}} before execution of this function!

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble defect with respect to the target structure, or \sphinxhyphen{}1. upon failure, e.g. pre\sphinxhyphen{}conditions are not met

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ensemble\_defect (C function)@\spxentry{vrna\_ensemble\_defect}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_ensemble_defect}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1gaaf197722d1faa86af5e7b4240acafdee}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ensemble\_defect}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the Ensemble Defect for a given target structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a wrapper around \sphinxstylestrong{{\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga20b7a56fa9e451461805fd968c6cd909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ensemble\_defect\_pt()}}}}}}. Given a target structure \(s\), compute the average dissimilarity of a randomly drawn structure from the ensemble, i.e.:

\sphinxAtStartPar
\begin{equation*}
\begin{split}  ED(s) = 1 - \frac{1}{n} \sum_{ij, (i,j) \in s} p_{ij} - \frac{1}{n} \sum_{i}(1 - s_i)q_i
\end{split}
\end{equation*}

\sphinxAtStartPar
with sequence length \(n\), the probability \(p_{ij}\) of a base pair \((i,j)\), the probability \(q_i = 1 - \sum_j p_{ij}\) of nucleotide \(i\) being unpaired, and the indicator variable \(s_i = 1\) if \(\exists (i,j) \in s\), and \(s_i = 0\) otherwise.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000149}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ensemble\_defect()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. Note that the SWIG wrapper takes a structure in dot\sphinxhyphen{}bracket notation and converts it into a pair table using {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}. The resulting pair table is then internally passed to {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga20b7a56fa9e451461805fd968c6cd909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ensemble\_defect\_pt()}}}}}. To control which kind of matching brackets will be used during conversion, the optional argument \sphinxcode{\sphinxupquote{options}} can be used. See also the description of {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}} for available options. (default: \sphinxcode{\sphinxupquote{VRNA\_BRACKETS\_RND}}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ensemble_defect}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ensemble\_defect()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, vrna\_pairing\_probs(), {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga20b7a56fa9e451461805fd968c6cd909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ensemble\_defect\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A fold\_compound with pre\sphinxhyphen{}computed base pair probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A target structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} input parameter \sphinxcode{\sphinxupquote{fc}} must contain a valid base pair probability matrix. This means that partition function and base pair probabilities must have been computed using \sphinxcode{\sphinxupquote{fc}} before execution of this function!

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble defect with respect to the target structure, or \sphinxhyphen{}1. upon failure, e.g. pre\sphinxhyphen{}conditions are not met

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_positional\_entropy (C function)@\spxentry{vrna\_positional\_entropy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_positional_entropy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga4ec346141028c7bcd15bc235c408b6e9}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_positional\_entropy}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute a vector of positional entropies. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the positional entropies from base pair probabilities as

\sphinxAtStartPar
\begin{equation*}
\begin{split}S(i) = - \sum_j p_{ij} \log(p_{ij}) - q_i \log(q_i)
\end{split}
\end{equation*}

\sphinxAtStartPar
with unpaired probabilities \( q_i = 1 - \sum_j p_{ij} \).

\sphinxAtStartPar
Low entropy regions have little structural flexibility and the reliability of the predicted structure is high. High entropy implies many structural alternatives. While these alternatives may be functionally important, they make structure prediction more difficult and thus less reliable.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000150}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{positional\_entropy()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.positional_entropy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.positional\_entropy()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A fold\_compound with pre\sphinxhyphen{}computed base pair probabilities 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
This function requires pre\sphinxhyphen{}computed base pair probabilities! Thus, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} must be called beforehand.

\sphinxlineitem{Returns}
\sphinxAtStartPar
A 1\sphinxhyphen{}based vector of positional entropies \( S(i) \). (position 0 contains the sequence length)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pr\_structure (C function)@\spxentry{vrna\_pr\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_pr_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga882c35d9dd775c1275593b3b6a966bec}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pr\_structure}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the equilibrium probability of a particular secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The probability \(p(s)\) of a particular secondary structure \(s\) can be computed as

\sphinxAtStartPar
\begin{equation*}
\begin{split}  p(s) = \frac{exp(-\beta E(s)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
from the structures free energy \(E(s)\) and the partition function

\sphinxAtStartPar
\begin{equation*}
\begin{split}  Z = \sum_s exp(-\beta E(s)),\quad\mathrm{with}\quad\beta = \frac{1}{RT}
\end{split}
\end{equation*}

\sphinxAtStartPar
where \(R\) is the gas constant and \(T\) the thermodynamic temperature.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000151}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pr\_structure()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pr_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pr\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure with precomputed partition function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure to compute the probability for in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The fold compound \sphinxcode{\sphinxupquote{fc}} must have went through a call to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} to fill the dynamic programming matrices with the corresponding partition function.

\sphinxlineitem{Returns}
\sphinxAtStartPar
The probability of the input structure (range \([0:1]\))

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pr\_energy (C function)@\spxentry{vrna\_pr\_energy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_pr_energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga6a1e8a85e6fab2380ce235180beb85f8}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pr\_energy}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{e}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probabilities/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000152}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pr\_energy()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pr_energy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pr\_energy()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_heat\_capacity\_f (C type)@\spxentry{vrna\_heat\_capacity\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafa73325bee7e6b7c9d1732d70e67d65a}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heat\_capacity\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{temp}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{heat\_capacity}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The callback for heat capacity predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000003}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called for each evaluated temperature in the heat capacity prediction. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga19ef508fcc66ab80833aa2fe402d8927}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_cb()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param temp}
\sphinxAtStartPar
The current temperature this results corresponds to in °C 

\sphinxlineitem{Param heat\_capacity}
\sphinxAtStartPar
The heat capacity in Kcal/(Mol * K) 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Some arbitrary data pointer passed through by the function executing the callback 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heat\_capacity\_callback (C type)@\spxentry{vrna\_heat\_capacity\_callback}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_callback}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga7471173db247671e9fc73f95bab71e80}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heat\_capacity\_callback}}}}
{\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{temp}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{heat\_capacity}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_heat\_capacity\_t (C type)@\spxentry{vrna\_heat\_capacity\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga99dc703d840310177ecf7aedf72b4409}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_s}]{\sphinxcrossref{\DUrole{n}{vrna\_heat\_capacity\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heat\_capacity\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A single result from heat capacity computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience typedef for {\hyperref[\detokenize{partfunc/thermodynamics:structvrna__heat__capacity__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_s}}}}}, i.e. results as obtained from {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity()}}}}}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_heat\_capacity\_s (C struct)@\spxentry{vrna\_heat\_capacity\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/thermodynamics:structvrna__heat__capacity__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heat\_capacity\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/heat\_capacity.h\textgreater{}}
\sphinxAtStartPar
A single result from heat capacity computations. 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity()}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_heat\_capacity\_s.temperature (C var)@\spxentry{vrna\_heat\_capacity\_s.temperature}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_s.temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/thermodynamics:structvrna__heat__capacity__s_1a62ed3466ce614f4f1e729463fac41d72}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{temperature}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The temperature in °C. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_heat\_capacity\_s.heat\_capacity (C var)@\spxentry{vrna\_heat\_capacity\_s.heat\_capacity}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/thermodynamics:c.vrna_heat_capacity_s.heat_capacity}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{partfunc/thermodynamics:structvrna__heat__capacity__s_1a2987d5e5ef974d14a108ec1c7062562f}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{heat\_capacity}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The specific heat at this temperature in Kcal/(Mol * K). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/heat\PYGZus{}capacity.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Deprecated Interface for Global Partition Function Computation}
\label{\detokenize{partfunc/global_deprecated:deprecated-interface-for-global-partition-function-computation}}\label{\detokenize{partfunc/global_deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Unnamed Group}
\index{alipf\_fold\_par (C function)@\spxentry{alipf\_fold\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.alipf_fold_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gab46954fb0ed3b6d5631e7f9b802978cd}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{alipf\_fold\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{calculate\_bppm}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_constrained}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_circular}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000018}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{calculate\_bppm}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is\_constrained}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is\_circular}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{alipf\_fold (C function)@\spxentry{alipf\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.alipf_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1a5f6cfb9d761fa862ce4edc7c369cd2}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{alipf\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The partition function version of {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4cf00f0659e5f0480335d69e797f05b1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alifold()}}}}} works in analogy to {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}. Pair probabilities and information about sequence covariations are returned via the ‘pi’ variable as a list of {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga6660dfca23debee7306e0cd53341263f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_t}}}}} structs. The list is terminated by the first entry with pi.i = 0. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000019}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{alipf\_circ\_fold (C function)@\spxentry{alipf\_circ\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.alipf_circ_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga604a42ad64178279551ad3e4def3d603}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{alipf\_circ\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000020}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{export\_ali\_bppm (C function)@\spxentry{export\_ali\_bppm}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.export_ali_bppm}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaba5a18064258036b3753665e89da2072}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_ali\_bppm}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a pointer to the base pair probability array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Accessing the base pair probabilities for a pair (i,j) is achieved by 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{FLT\PYGZus{}OR\PYGZus{}DBL} \PYG{o}{*}\PYG{n}{pr} \PYG{o}{=} \PYG{n}{export\PYGZus{}bppm}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{n}{pr\PYGZus{}ij} \PYG{o}{=} \PYG{n}{pr}\PYG{p}{[}\PYG{n}{iindx}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{o}{\PYGZhy{}}\PYG{n}{j}\PYG{p}{]}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000021}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Usage of this function is discouraged! The new {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} allows direct access to the folding matrices, including the pair probabilities! The pair probability array returned here reflects the one of the latest call to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, or any of the old API calls for consensus structure partition function folding.

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, and {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the base pair probability array 

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_alipf\_arrays (C function)@\spxentry{free\_alipf\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.free_alipf_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga0c0498f35686e26b38ee460d3db1a661}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_alipf\_arrays}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free the memory occupied by folding matrices allocated by alipf\_fold, alipf\_circ\_fold, etc. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000022}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Usage of this function is discouraged! This function only free’s memory allocated by old API function calls. Memory allocated by any of the new API calls (starting with vrna\_) will be not affected!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, vrna\_vrna\_fold\_compound\_free() 


\end{sphinxseealso}



\end{fulllineitems}

\index{alipbacktrack (C function)@\spxentry{alipbacktrack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.alipbacktrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga955a7e2f25d6a1a00a3c92c6229fc44d}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{alipbacktrack}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prob}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample a consensus secondary structure from the Boltzmann ensemble according its probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prob}} \textendash{} to be described (berni) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled consensus secondary structure in dot\sphinxhyphen{}bracket notation 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_alipf\_arrays (C function)@\spxentry{get\_alipf\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.get_alipf_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga5349960075b1847720a2e9df021e2675}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_alipf\_arrays}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S\_p}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S5\_p}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S3\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{Ss\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{qb\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{qm\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{q1k\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{qln\_p}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pscore}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get pointers to (almost) all relavant arrays used in alifold’s partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/alifold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000024}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
It is discouraged to use this function! The new {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} allows direct access to all necessary consensus structure prediction related variables!

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, pf\_alifold(), {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga604a42ad64178279551ad3e4def3d603}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alipf\_circ\_fold()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
To obtain meaningful pointers, call alipf\_fold first!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S\_p}} \textendash{} A pointer to the ‘S’ array (integer representation of nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S5\_p}} \textendash{} A pointer to the ‘S5’ array 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S3\_p}} \textendash{} A pointer to the ‘S3’ array 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{a2s\_p}} \textendash{} A pointer to the alignment\sphinxhyphen{}column to sequence position mapping array 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Ss\_p}} \textendash{} A pointer to the ‘Ss’ array 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{qb\_p}} \textendash{} A pointer to the Q$^{\text{B}}$ matrix 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{qm\_p}} \textendash{} A pointer to the Q$^{\text{M}}$ matrix 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{q1k\_p}} \textendash{} A pointer to the 5’ slice of the Q matrix ( \(q1k(k) = Q(1, k)\)) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{qln\_p}} \textendash{} A pointer to the 3’ slice of the Q matrix ( \(qln(l) = Q(l, n)\)) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pscore}} \textendash{} A pointer to the start of a pscore list 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non Zero if everything went fine, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{co\_pf\_fold (C function)@\spxentry{co\_pf\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.co_pf_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae5c1e7331718669bdae7a86de2be6184}}{\hyperref[\detokenize{rip/pf:c.vrna_dimer_pf_t}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_pf\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{co\_pf\_fold}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate partition function and base pair probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the cofold partition function folding. The second molecule starts at the cut\_point nucleotide.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000096}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: Since this function relies on the global parameters {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad512b5dd4dbec60faccfe137bb474489}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{do\_backtrack}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga72b511ed1201f7e23ec437e468790d74}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{dangles}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{temperature}}}}} and {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad3b22044065acc6dee0af68931b52cfd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_scale}}}}} it is not threadsafe according to concurrent changes in these variables! Use {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaabfc6cb6d02b8f08ac4c92f4f5b125d9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{co\_pf\_fold\_par()}}}}} instead to circumvent this issue.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} Concatenated RNA sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Will hold the structure or constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
{\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga444df1587c9a2ca15b8eb25188f629c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_t}}}}} structure containing a set of energies needed for concentration computations. 

\end{description}\end{quote}

\end{fulllineitems}

\index{co\_pf\_fold\_par (C function)@\spxentry{co\_pf\_fold\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.co_pf_fold_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaabfc6cb6d02b8f08ac4c92f4f5b125d9}}{\hyperref[\detokenize{rip/pf:c.vrna_dimer_pf_t}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_pf\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{co\_pf\_fold\_par}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{calculate\_bppm}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_constrained}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate partition function and base pair probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the cofold partition function folding. The second molecule starts at the cut\_point nucleotide.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000097}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gaf05b50c0e8d29511941203554daf2919}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_boltzmann\_factors()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae5c1e7331718669bdae7a86de2be6184}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{co\_pf\_fold()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} Concatenated RNA sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Pointer to the structure constraint 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} Data structure containing the precalculated Boltzmann factors 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{calculate\_bppm}} \textendash{} Switch to turn Base pair probability calculations on/off (0==off) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is\_constrained}} \textendash{} Switch to indicate that a structure contraint is passed via the structure argument (0==off) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
{\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga444df1587c9a2ca15b8eb25188f629c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_t}}}}} structure containing a set of energies needed for concentration computations. 

\end{description}\end{quote}

\end{fulllineitems}

\index{compute\_probabilities (C function)@\spxentry{compute\_probabilities}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.compute_probabilities}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga94c19120130e66a667a10a3c8598550c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{compute\_probabilities}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FAB}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FEA}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FEB}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prAB}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prA}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prB}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{Alength}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Boltzmann probabilities of dimerization without homodimers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given the pair probabilities and free energies (in the null model) for a dimer AB and the two constituent monomers A and B, compute the conditional pair probabilities given that a dimer AB actually forms. Null model pair probabilities are given as a list as produced by {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1cc05aaa9b0e7df2d3887e98321c2030}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_pr()}}}}}, the dimer probabilities ‘prAB’ are modified in place.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000099}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FAB}} \textendash{} free energy of dimer AB 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FEA}} \textendash{} free energy of monomer A 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FEB}} \textendash{} free energy of monomer B 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prAB}} \textendash{} pair probabilities for dimer 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prA}} \textendash{} pair probabilities monomer 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{prB}} \textendash{} pair probabilities monomer 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Alength}} \textendash{} Length of molecule A 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{init\_co\_pf\_fold (C function)@\spxentry{init\_co\_pf\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.init_co_pf_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaa12dda9dd6179cdd22bcce87c0682c07}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{init\_co\_pf\_fold}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
DO NOT USE THIS FUNCTION ANYMORE 

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000100}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\end{fulllineitems}



\end{fulllineitems}

\index{export\_co\_bppm (C function)@\spxentry{export\_co\_bppm}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.export_co_bppm}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaa06ab81cec7fe070bfe4e3c7e8a19afb}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_co\_bppm}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a pointer to the base pair probability array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Accessing the base pair probabilities for a pair (i,j) is achieved by 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{FLT\PYGZus{}OR\PYGZus{}DBL} \PYG{o}{*}\PYG{n}{pr} \PYG{o}{=} \PYG{n}{export\PYGZus{}bppm}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{n}{pr\PYGZus{}ij} \PYG{o}{=} \PYG{n}{pr}\PYG{p}{[}\PYG{n}{iindx}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{o}{\PYGZhy{}}\PYG{n}{j}\PYG{p}{]}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000101}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is deprecated and will be removed soon! The base pair probability array is available through the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure, and its associated {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga68729ab3fed26bdd1806fa814f172fc1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_pf\_t}}}}} member.

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga27d6f59da187317ab4c0d7e9f15ee57a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_idx\_row\_wise()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the base pair probability array 

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_co\_pf\_arrays (C function)@\spxentry{free\_co\_pf\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.free_co_pf_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gade3ce34ae8214811374b1d28a40dc247}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_co\_pf\_arrays}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free the memory occupied by {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae5c1e7331718669bdae7a86de2be6184}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{co\_pf\_fold()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000102}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be removed for the new API soon! See {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} for an alternative

\end{fulllineitems}



\end{fulllineitems}

\index{update\_co\_pf\_params (C function)@\spxentry{update\_co\_pf\_params}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.update_co_pf_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga6e0f36c1f9b7d9dd4bfbad914c1119e5}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_co\_pf\_params}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function recalculates all energy parameters given the current model settings.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000103}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} Length of the current RNA sequence 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{update\_co\_pf\_params\_par (C function)@\spxentry{update\_co\_pf\_params\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.update_co_pf_params_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga75465d7e8793db68a434d83df9a2e794}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_co\_pf\_params\_par}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function recalculates all energy parameters given the current model settings. It’s second argument can either be NULL or a data structure containing the precomputed Boltzmann factors. In the first scenario, the necessary data structure will be created automatically according to the current global model settings, i.e. this mode might not be threadsafe. However, if the provided data structure is not NULL, threadsafety for the model parameters {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga72b511ed1201f7e23ec437e468790d74}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{dangles}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad3b22044065acc6dee0af68931b52cfd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_scale}}}}} and {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{temperature}}}}} is regained, since their values are taken from this data structure during subsequent calculations.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000104}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} Length of the current RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} data structure containing the precomputed Boltzmann factors 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{pf\_fold\_par (C function)@\spxentry{pf\_fold\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.pf_fold_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_fold\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{calculate\_bppm}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_constrained}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_circular}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function \(Q\) for a given RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If \sphinxstyleemphasis{structure} is not a NULL pointer on input, it contains on return a string consisting of the letters “ . , | \{ \} ( ) “ denoting bases that are essentially unpaired, weakly paired, strongly paired without preference, weakly upstream (downstream) paired, or strongly up\sphinxhyphen{} (down\sphinxhyphen{})stream paired bases, respectively. If fold\_constrained is not 0, the \sphinxstyleemphasis{structure} string is interpreted on input as a list of constraints for the folding. The character “x” marks bases that must be unpaired, matching brackets “ ( ) “ denote base pairs, all other characters are ignored. Any pairs conflicting with the constraint will be forbidden. This is usually sufficient to ensure the constraints are honored. If the parameter calculate\_bppm is set to 0 base pairing probabilities will not be computed (saving CPU time), otherwise after calculations took place pr will contain the probability that bases \sphinxstyleemphasis{i} and \sphinxstyleemphasis{j} pair.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000184}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga129d81c4a1ead793c5b2311333e03dfa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bppm\_to\_structure()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}}, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae73db3f49a94f0f72e067ecd12681dbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_pf\_arrays()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The global array pr is deprecated and the user who wants the calculated base pair probabilities for further computations is advised to use the function {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} \sphinxstylestrong{{[}in{]}} The RNA sequence input 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} \sphinxstylestrong{{[}inout{]}} A pointer to a char array where a base pair probability information can be stored in a pseudo\sphinxhyphen{}dot\sphinxhyphen{}bracket notation (may be NULL, too) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} \sphinxstylestrong{{[}in{]}} Data structure containing the precalculated Boltzmann factors 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{calculate\_bppm}} \textendash{} \sphinxstylestrong{{[}in{]}} Switch to Base pair probability calculations on/off (0==off) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is\_constrained}} \textendash{} \sphinxstylestrong{{[}in{]}} Switch to indicate that a structure contraint is passed via the structure argument (0==off) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{is\_circular}} \textendash{} \sphinxstylestrong{{[}in{]}} Switch to (de\sphinxhyphen{})activate postprocessing steps in case RNA sequence is circular (0==off) 

\end{itemize}

\sphinxlineitem{Post}
\sphinxAtStartPar
After successful run the hidden folding matrices are filled with the appropriate Boltzmann factors. Depending on whether the global variable {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad512b5dd4dbec60faccfe137bb474489}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{do\_backtrack}}}}} was set the base pair probabilities are already computed and may be accessed for further usage via the {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}} function. A call of {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae73db3f49a94f0f72e067ecd12681dbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_pf\_arrays()}}}}} will free all memory allocated by this function. Successive calls will first free previously allocated memory before starting the computation.

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{pf\_fold (C function)@\spxentry{pf\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.pf_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function \(Q\) of an RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If \sphinxstyleemphasis{structure} is not a NULL pointer on input, it contains on return a string consisting of the letters “ . , | \{ \} ( ) “ denoting bases that are essentially unpaired, weakly paired, strongly paired without preference, weakly upstream (downstream) paired, or strongly up\sphinxhyphen{} (down\sphinxhyphen{})stream paired bases, respectively. If fold\_constrained is not 0, the \sphinxstyleemphasis{structure} string is interpreted on input as a list of constraints for the folding. The character “x” marks bases that must be unpaired, matching brackets “ ( ) “ denote base pairs, all other characters are ignored. Any pairs conflicting with the constraint will be forbidden. This is usually sufficient to ensure the constraints are honored. If {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad512b5dd4dbec60faccfe137bb474489}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{do\_backtrack}}}}} has been set to 0 base pairing probabilities will not be computed (saving CPU time), otherwise pr will contain the probability that bases \sphinxstyleemphasis{i} and \sphinxstyleemphasis{j} pair.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}}, {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga129d81c4a1ead793c5b2311333e03dfa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bppm\_to\_structure()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The global array pr is deprecated and the user who wants the calculated base pair probabilities for further computations is advised to use the function {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}}.

 \sphinxstylestrong{OpenMP:} This function is not entirely threadsafe. While the recursions are working on their own copies of data the model details for the recursions are determined from the global settings just before entering the recursions. Consider using {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}} for a really threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The RNA sequence input 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to a char array where a base pair probability information can be stored in a pseudo\sphinxhyphen{}dot\sphinxhyphen{}bracket notation (may be NULL, too) 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
This function takes its model details from the global variables provided in \sphinxstyleemphasis{RNAlib}

\sphinxlineitem{Post}
\sphinxAtStartPar
After successful run the hidden folding matrices are filled with the appropriate Boltzmann factors. Depending on whether the global variable {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad512b5dd4dbec60faccfe137bb474489}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{do\_backtrack}}}}} was set the base pair probabilities are already computed and may be accessed for further usage via the {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}} function. A call of {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae73db3f49a94f0f72e067ecd12681dbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_pf\_arrays()}}}}} will free all memory allocated by this function. Successive calls will first free previously allocated memory before starting the computation.

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{pf\_circ\_fold (C function)@\spxentry{pf\_circ\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.pf_circ_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_circ\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function of a circular RNA sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000185}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead!

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The global array pr is deprecated and the user who wants the calculated base pair probabilities for further computations is advised to use the function {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}}.

 \sphinxstylestrong{OpenMP:} This function is not entirely threadsafe. While the recursions are working on their own copies of data the model details for the recursions are determined from the global settings just before entering the recursions. Consider using {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}} for a really threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Pre}
\sphinxAtStartPar
This function takes its model details from the global variables provided in \sphinxstyleemphasis{RNAlib}

\sphinxlineitem{Post}
\sphinxAtStartPar
After successful run the hidden folding matrices are filled with the appropriate Boltzmann factors. Depending on whether the global variable {\hyperref[\detokenize{grammar/model_details:group__model__details_1gad512b5dd4dbec60faccfe137bb474489}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{do\_backtrack}}}}} was set the base pair probabilities are already computed and may be accessed for further usage via the {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_bppm()}}}}} function. A call of {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae73db3f49a94f0f72e067ecd12681dbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_pf\_arrays()}}}}} will free all memory allocated by this function. Successive calls will first free previously allocated memory before starting the computation.

\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} \sphinxstylestrong{{[}in{]}} The RNA sequence input 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} \sphinxstylestrong{{[}inout{]}} A pointer to a char array where a base pair probability information can be stored in a pseudo\sphinxhyphen{}dot\sphinxhyphen{}bracket notation (may be NULL, too) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q) \) in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_pf\_arrays (C function)@\spxentry{free\_pf\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.free_pf_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae73db3f49a94f0f72e067ecd12681dbd}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_pf\_arrays}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free arrays for the partition function recursions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Call this function if you want to free all allocated memory associated with the partition function forward recursion. 

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000187}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and its related functions for how to free memory occupied by the dynamic programming matrices

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Successive calls of {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}} already check if they should free any memory from a previous run.

 \sphinxstylestrong{OpenMP notice:}

 This function should be called before leaving a thread in order to avoid leaking memory
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Post}
\sphinxAtStartPar
All memory allocated by {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} or {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}} will be free’d

\end{description}\end{quote}

\end{fulllineitems}

\index{update\_pf\_params (C function)@\spxentry{update\_pf\_params}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.update_pf_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga384e927890f9c034ff09fa66da102d28}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_pf\_params}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Call this function to recalculate the pair matrix and energy parameters after a change in folding parameters like {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{temperature}}}}}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000188}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead

\end{fulllineitems}



\end{fulllineitems}

\index{update\_pf\_params\_par (C function)@\spxentry{update\_pf\_params\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.update_pf_params_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaafe2d1b21f5418b123b088aa395e827d}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_pf\_params\_par}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000189}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead

\end{fulllineitems}



\end{fulllineitems}

\index{export\_bppm (C function)@\spxentry{export\_bppm}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.export_bppm}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad2bba2bdfef5a24f69fe10bbb9fc6de9}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{export\_bppm}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a pointer to the base pair probability array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Accessing the base pair probabilities for a pair (i,j) is achieved by 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{FLT\PYGZus{}OR\PYGZus{}DBL} \PYG{o}{*}\PYG{n}{pr}  \PYG{o}{=} \PYG{n}{export\PYGZus{}bppm}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{pr\PYGZus{}ij}           \PYG{o}{=} \PYG{n}{pr}\PYG{p}{[}\PYG{n}{iindx}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{o}{\PYGZhy{}}\PYG{n}{j}\PYG{p}{]}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga27d6f59da187317ab4c0d7e9f15ee57a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_idx\_row\_wise()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Pre}
\sphinxAtStartPar
Call {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} or {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}} first to fill the base pair probability array

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the base pair probability array 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_pf\_arrays (C function)@\spxentry{get\_pf\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.get_pf_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga42faebdfce6f070c5f89adfc8427525c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_pf\_arrays}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S\_p}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S1\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{qb\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{qm\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{q1k\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{qln\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the pointers to (almost) all relavant computation arrays used in partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S\_p}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the ‘S’ array (integer representation of nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S1\_p}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the ‘S1’ array (2nd integer representation of nucleotides) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptype\_p}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the pair type matrix 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{qb\_p}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the Q$^{\text{B}}$ matrix 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{qm\_p}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the Q$^{\text{M}}$ matrix 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{q1k\_p}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the 5’ slice of the Q matrix ( \(q1k(k) = Q(1, k)\)) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{qln\_p}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the 3’ slice of the Q matrix ( \(qln(l) = Q(l, n)\)) 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
In order to assign meaningful pointers, you have to call {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}} or {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} first!

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non Zero if everything went fine, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_subseq\_F (C function)@\spxentry{get\_subseq\_F}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.get_subseq_F}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga189e2a1ec6cc32c53ea72f7543b0441e}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_subseq\_F}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the free energy of a subsequence from the q{[}{]} array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{mean\_bp\_distance (C function)@\spxentry{mean\_bp\_distance}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.mean_bp_distance}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga79cbc375af65f11609feb6b055269e7d}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mean\_bp\_distance}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the mean base pair distance of the last partition function computation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000190}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd9ef9f1a5f0ab31540e4c3d78addc82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance()}}}}} or {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gad3f0c240512e6d43e2e4d4c2076021f5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance\_pr()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd9ef9f1a5f0ab31540e4c3d78addc82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance()}}}}}, {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gad3f0c240512e6d43e2e4d4c2076021f5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance\_pr()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
mean base pair distance in thermodynamic ensemble 

\end{description}\end{quote}

\end{fulllineitems}

\index{mean\_bp\_distance\_pr (C function)@\spxentry{mean\_bp\_distance\_pr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.mean_bp_distance_pr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad5ba36cef8d01cf4244cc09b9bf1ce1d}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mean\_bp\_distance\_pr}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the mean base pair distance in the thermodynamic ensemble. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a threadsafe implementation of mean\_bp\_dist() !

\sphinxAtStartPar
\(<d> = \sum_{a,b} p_a p_b d(S_a,S_b)\)

this can be computed from the pair probs \(p_ij\) as

 \(<d> = \sum_{ij} p_{ij}(1-p_{ij})\)

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000191}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd9ef9f1a5f0ab31540e4c3d78addc82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance()}}}}} or {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gad3f0c240512e6d43e2e4d4c2076021f5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance\_pr()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr}} \textendash{} The matrix containing the base pair probabilities 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mean pair distance of the structure ensemble 

\end{description}\end{quote}

\end{fulllineitems}

\index{stackProb (C function)@\spxentry{stackProb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.stackProb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga963dfa795074d53ff23c5b1ab01406f0}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{stackProb}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{cutoff}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the probability of stacks. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000192}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga39bbe73ccb7685b6521cfa5c1c64ae78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_stack\_prob()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{init\_pf\_fold (C function)@\spxentry{init\_pf\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.init_pf_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga15176e23eceeff8c7d14eabcfec8a2af}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{init\_pf\_fold}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Allocate space for {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000193}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is obsolete and will be removed soon!

\end{fulllineitems}



\end{fulllineitems}

\index{assign\_plist\_from\_db (C function)@\spxentry{assign\_plist\_from\_db}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.assign_plist_from_db}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gab61df77cf7949cd516181fce0c3d7d78}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{assign\_plist\_from\_db}}}}
{{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{struc}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{pr}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} from a dot\sphinxhyphen{}bracket string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The dot\sphinxhyphen{}bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.

\sphinxAtStartPar
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist()}}}}} instead

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} A pointer to the {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} that is to be created 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{struc}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr}} \textendash{} The probability for each base pair 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{assign\_plist\_from\_pr (C function)@\spxentry{assign\_plist\_from\_pr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/global_deprecated:c.assign_plist_from_pr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1cc05aaa9b0e7df2d3887e98321c2030}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{assign\_plist\_from\_pr}}}}
{{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{probs}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{cutoff}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} from a probability matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The probability matrix given is parsed and all pair probabilities above the given threshold are used to create an entry in the plist

\sphinxAtStartPar
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000225}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist\_from\_probs()}}}}} instead!

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe 
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} that is to be created 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{probs}} \textendash{} \sphinxstylestrong{{[}in{]}} The probability matrix used for creating the plist 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} \sphinxstylestrong{{[}in{]}} The length of the RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cutoff}} \textendash{} \sphinxstylestrong{{[}in{]}} The cutoff value 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Deprecated Interface for Local (Sliding Window) Partition Function Computation}
\label{\detokenize{partfunc/window_deprecated:deprecated-interface-for-local-sliding-window-partition-function-computation}}\label{\detokenize{partfunc/window_deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{update\_pf\_paramsLP (C function)@\spxentry{update\_pf\_paramsLP}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window_deprecated:c.update_pf_paramsLP}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1ga5a019014d37fe6105131dfc2fc447880}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_pf\_paramsLP}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/LPfold.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}}

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{update\_pf\_paramsLP\_par (C function)@\spxentry{update\_pf\_paramsLP\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window_deprecated:c.update_pf_paramsLP_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1gab5aa36df48576d25cd42aea2c0bd021d}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{update\_pf\_paramsLP\_par}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/LPfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pfl\_fold (C function)@\spxentry{pfl\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window_deprecated:c.pfl_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1gaf6d77f10775c1d58c8199d5ec95d4228}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pfl\_fold}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{winSize}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pairSize}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{cutoffb}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pU}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{dpp2}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pUfp}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{spup}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute partition functions for locally stable secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/LPfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
pfl\_fold computes partition functions for every window of size ‘winSize’ possible in a RNA molecule, allowing only pairs with a span smaller than ‘pairSize’. It returns the mean pair probabilities averaged over all windows containing the pair in ‘pl’. ‘winSize’ should always be \textgreater{}= ‘pairSize’. Note that in contrast to {\hyperref[\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1gafdd1e11b5c7ad443b9f86b818e67bab4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Lfold()}}}}}, bases outside of the window do not influence the structure at all. Only probabilities higher than ‘cutoffb’ are kept.

\sphinxAtStartPar
If ‘pU’ is supplied (i.e is not the NULL pointer), {\hyperref[\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1gaf6d77f10775c1d58c8199d5ec95d4228}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pfl\_fold()}}}}} will also compute the mean probability that regions of length ‘u’ and smaller are unpaired. The parameter ‘u’ is supplied in ‘pup{[}0{]}{[}0{]}’. On return the ‘pup’ array will contain these probabilities, with the entry on ‘pup{[}x{]}{[}y{]}’ containing the mean probability that x and the y\sphinxhyphen{}1 preceding bases are unpaired. The ‘pU’ array needs to be large enough to hold n+1 float* entries, where n is the sequence length.

\sphinxAtStartPar
If an array dpp2 is supplied, the probability of base pair (i,j) given that there already exists a base pair (i+1,j\sphinxhyphen{}1) is also computed and saved in this array. If pUfp is given (i.e. not NULL), pU is not saved but put out imediately. If spup is given (i.e. is not NULL), the pair probabilities in pl are not saved but put out imediately.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{winSize}} \textendash{} size of the window 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pairSize}} \textendash{} maximum size of base pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cutoffb}} \textendash{} cutoffb for base pairs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pU}} \textendash{} array holding all unpaired probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dpp2}} \textendash{} array of dependent pair probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pUfp}} \textendash{} file pointer for pU 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{spup}} \textendash{} file pointer for pair probabilities 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
list of pair probabilities 

\end{description}\end{quote}

\end{fulllineitems}

\index{pfl\_fold\_par (C function)@\spxentry{pfl\_fold\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window_deprecated:c.pfl_fold_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1gab34f3add76cd5b99441bcd983ff9db83}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pfl\_fold\_par}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{winSize}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pairSize}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{cutoffb}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pU}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{dpp2}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pUfp}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{spup}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute partition functions for locally stable secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/LPfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{putoutpU\_prob (C function)@\spxentry{putoutpU\_prob}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window_deprecated:c.putoutpU_prob}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1ga0bcb751860bbf34e3dfee8c2fbdb3ef3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{putoutpU\_prob}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pU}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ulength}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energies}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Writes the unpaired probabilities (pU) or opening energies into a file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/LPfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Can write either the unpaired probabilities (accessibilities) pU or the opening energies \sphinxhyphen{}log(pU)kT into a file
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pU}} \textendash{} pair probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} length of RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ulength}} \textendash{} maximum length of unpaired stretch 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} \textendash{} file pointer of destination file 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energies}} \textendash{} switch to put out as opening energies 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{putoutpU\_prob\_bin (C function)@\spxentry{putoutpU\_prob\_bin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{partfunc/window_deprecated:c.putoutpU_prob_bin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1ga9acb00ee10e96b1ca4ea394cd8bcec75}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{putoutpU\_prob\_bin}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pU}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ulength}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energies}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Writes the unpaired probabilities (pU) or opening energies into a binary file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/LPfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Can write either the unpaired probabilities (accessibilities) pU or the opening energies \sphinxhyphen{}log(pU)kT into a file
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pU}} \textendash{} pair probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} length of RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ulength}} \textendash{} maximum length of unpaired stretch 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} \textendash{} file pointer of destination file 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energies}} \textendash{} switch to put out as opening energies 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsection{Partition Function API}
\label{\detokenize{pf_fold:partition-function-api}}
\sphinxAtStartPar
Similar to our {\hyperref[\detokenize{mfe::doc}]{\sphinxcrossref{\DUrole{doc}{Minimum Free Energy (MFE) Algorithms}}}}, we provide two different flavors for partition
function computations:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global::doc}]{\sphinxcrossref{\DUrole{doc}{Global Partition Function and Equilibrium Probabilities}}}} \sphinxhyphen{} to compute the partition function for a full length sequence

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/window::doc}]{\sphinxcrossref{\DUrole{doc}{Local (sliding window) Partition Function and Equilibrium Probabilities}}}} \sphinxhyphen{} to compute the partition function of each window using a sliding window approach

\end{itemize}

\sphinxAtStartPar
While the global partition function approach supports predictions using single sequences as
well as consensus partition functions for multiple sequence alignments (MSA), we currently
do not support MSA input for the local variant.

\sphinxAtStartPar
Comparative prediction computes an average of the free energy contributions plus an additional
covariance pseudo\sphinxhyphen{}energy term, exactly as we do for the {\hyperref[\detokenize{mfe::doc}]{\sphinxcrossref{\DUrole{doc}{Minimum Free Energy (MFE) Algorithms}}}}.

\sphinxAtStartPar
Boltzmann weights for the free energy contributions of individual loops can be
found in {\hyperref[\detokenize{eval/eval_loops::doc}]{\sphinxcrossref{\DUrole{doc}{Energy Evaluation for Individual Loops}}}}.

\sphinxAtStartPar
Our implementations also provide a stochastic backtracking procedure to draw
@ref subopt\_stochbt according to their equilibrium probabilty.


\subsection{General Partition Function API}
\label{\detokenize{pf_fold:general-partition-function-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{pf_fold:group__pf__fold}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_pf\_float\_precision (C function)@\spxentry{vrna\_pf\_float\_precision}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{pf_fold:c.vrna_pf_float_precision}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{pf_fold:group__pf__fold_1gad2b3594f0b50b68029e0f54fdce59313}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_float\_precision}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find out whether partition function computations are using single precision floating points. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if single precision is used, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\section{Suboptimals and Representative Structures}
\label{\detokenize{subopt_and_representatives:suboptimals-and-representative-structures}}\label{\detokenize{subopt_and_representatives::doc}}
\sphinxAtStartPar
Sample and enumerate suboptimal secondary structures from RNA sequence data.

\sphinxstepscope


\subsection{Suboptimal Structures sensu Zuker}
\label{\detokenize{subopt/zuker:suboptimal-structures-sensu-zuker}}\label{\detokenize{subopt/zuker::doc}}
\sphinxAtStartPar
The algorithm to compute optimal secondary structures that contain
a particular base pair has been published by Zuker {[}\hyperlink{cite.bibliography:id32}{1989}{]}
and is based on ideas for predicting structures for circular RNAs,
in particular viroids, as presented in Steger \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id57}{1984}{]}.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{subopt/zuker:group__subopt__zuker}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{zukersubopt (C function)@\spxentry{zukersubopt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/zuker:c.zukersubopt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/zuker:group__subopt__zuker_1ga6b9eca4eb5772eecee76a6bb188063c0}}\DUrole{n}{SOLUTION}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{zukersubopt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Zuker type suboptimal structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Compute Suboptimal structures according to M. Zuker, i.e. for every possible base pair the minimum energy structure containing the resp. base pair. Returns a list of these structures and their energies.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000229}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use vrna\_zukersubopt() instead

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} RNA sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
List of zuker suboptimal structures 

\end{description}\end{quote}

\end{fulllineitems}

\index{zukersubopt\_par (C function)@\spxentry{zukersubopt\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/zuker:c.zukersubopt_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/zuker:group__subopt__zuker_1gaf8d33bb499d66ef758db9c62cb0f6caa}}\DUrole{n}{SOLUTION}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{zukersubopt\_par}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Zuker type suboptimal structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000230}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use vrna\_zukersubopt() instead

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_subopt\_zuker (C function)@\spxentry{vrna\_subopt\_zuker}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/zuker:c.vrna_subopt_zuker}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/zuker:group__subopt__zuker_1gab8f5a02accffb385d921d96871aa13f4}}\DUrole{n}{vrna\_subopt\_solution\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_subopt\_zuker}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute Zuker type suboptimal structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/zuker.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Compute Suboptimal structures according to    Zuker {[}\hyperlink{cite.bibliography:id32}{1989}{]}  , i.e. for every possible base pair the minimum energy structure containing the resp. base pair. Returns a list of these structures and their energies.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000184}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{subopt\_zuker()} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_zuker}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_zuker()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gad0cce16455fda0737873d8e1c5846480}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt()}}}}}, {\hyperref[\detokenize{subopt/zuker:group__subopt__zuker_1ga6b9eca4eb5772eecee76a6bb188063c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{zukersubopt()}}}}}, {\hyperref[\detokenize{subopt/zuker:group__subopt__zuker_1gaf8d33bb499d66ef758db9c62cb0f6caa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{zukersubopt\_par()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} fold compound 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
List of zuker suboptimal structures

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Suboptimal Structures within an Energy Band around the MFE}
\label{\detokenize{subopt/wuchty:suboptimal-structures-within-an-energy-band-around-the-mfe}}\label{\detokenize{subopt/wuchty::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_subopt\_result\_f (C type)@\spxentry{vrna\_subopt\_result\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.vrna_subopt_result_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1ga760ee7f326a411565f9e9f0cf44b2ff8}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_subopt\_result\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{stucture}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{energy}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback for {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga92c2e415167f9e2b0341989a74d24e41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_cb()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000022}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called for each suboptimal secondary structure that is successfully backtraced. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga92c2e415167f9e2b0341989a74d24e41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_cb()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param structure}
\sphinxAtStartPar
The suboptimal secondary structure in dot\sphinxhyphen{}bracket notation 

\sphinxlineitem{Param energy}
\sphinxAtStartPar
The free energy of the secondary structure in kcal/mol 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Some arbitrary, auxiliary data address as passed to {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga92c2e415167f9e2b0341989a74d24e41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_cb()}}}}}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_subopt (C function)@\spxentry{vrna\_subopt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.vrna_subopt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1gad0cce16455fda0737873d8e1c5846480}}\DUrole{n}{vrna\_subopt\_solution\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_subopt}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{delta}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sorted}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Returns list of subopt structures or writes to fp. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function produces \sphinxstylestrong{all} suboptimal secondary structures within ‘delta’ * 0.01 kcal/mol of the optimum, see    Wuchty \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id33}{1999}{]} . The results are either directly written to a ‘fp’ (if ‘fp’ is not NULL), or (fp==NULL) returned in a vrna\_subopt\_solution\_t * list terminated by an entry were the ‘structure’ member is NULL.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000182}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{{\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt()}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga92c2e415167f9e2b0341989a74d24e41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_cb()}}}}}, {\hyperref[\detokenize{subopt/zuker:group__subopt__zuker_1gab8f5a02accffb385d921d96871aa13f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_zuker()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function requires all multibranch loop DP matrices for unique multibranch loop backtracing. Therefore, the supplied {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} \sphinxcode{\sphinxupquote{fc}} (argument 1) must be initialized with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1, for instance like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}md\PYGZus{}t} \PYG{n}{md}\PYG{p}{;}
\PYG{n}{vrna\PYGZus{}md\PYGZus{}set\PYGZus{}default}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{n}{md}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{md}\PYG{o}{.}\PYG{n}{uniq\PYGZus{}ML} \PYG{o}{=} \PYG{l+m+mi}{1}\PYG{p}{;}

\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t} \PYG{o}{*}\PYG{n}{fc}\PYG{o}{=}\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{GGGGGGAAAAAACCCCCC}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{,} \PYG{o}{\PYGZam{}}\PYG{n}{md}\PYG{p}{,} \PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sorted}} \textendash{} Sort results by energy in ascending order 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_subopt\_cb (C function)@\spxentry{vrna\_subopt\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.vrna_subopt_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1ga92c2e415167f9e2b0341989a74d24e41}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_subopt\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{delta}\sphinxparamcomma {\hyperref[\detokenize{subopt/wuchty:c.vrna_subopt_result_f}]{\sphinxcrossref{\DUrole{n}{vrna\_subopt\_result\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Generate suboptimal structures within an energy band arround the MFE. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the most generic implementation of the suboptimal structure generator according to    Wuchty \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id33}{1999}{]} . Identical to {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gad0cce16455fda0737873d8e1c5846480}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt()}}}}}, it computes all secondary structures within an energy band \sphinxcode{\sphinxupquote{delta}} arround the MFE. However, this function does not print the resulting structures and their corresponding free energies to a file pointer, or returns them as a list. Instead, it calls a user\sphinxhyphen{}provided callback function which it passes the structure in dot\sphinxhyphen{}bracket format, the corresponding free energy in kcal/mol, and a user\sphinxhyphen{}provided data structure each time a structure was backtracked successfully. This function indicates the final output, i.e. the end of the backtracking procedure by passing NULL instead of an actual dot\sphinxhyphen{}bracket string to the callback.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000183}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{subopt\_cb()} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga760ee7f326a411565f9e9f0cf44b2ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_result\_f}}}}}, {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gad0cce16455fda0737873d8e1c5846480}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt()}}}}}, {\hyperref[\detokenize{subopt/zuker:group__subopt__zuker_1gab8f5a02accffb385d921d96871aa13f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_zuker()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function requires all multibranch loop DP matrices for unique multibranch loop backtracing. Therefore, the supplied {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} \sphinxcode{\sphinxupquote{fc}} (argument 1) must be initialized with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1, for instance like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}md\PYGZus{}t} \PYG{n}{md}\PYG{p}{;}
\PYG{n}{vrna\PYGZus{}md\PYGZus{}set\PYGZus{}default}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{n}{md}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{md}\PYG{o}{.}\PYG{n}{uniq\PYGZus{}ML} \PYG{o}{=} \PYG{l+m+mi}{1}\PYG{p}{;}

\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t} \PYG{o}{*}\PYG{n}{fc}\PYG{o}{=}\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{GGGGGGAAAAAACCCCCC}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{,} \PYG{o}{\PYGZam{}}\PYG{n}{md}\PYG{p}{,} \PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} fold compount with the sequence data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}} \textendash{} Energy band arround the MFE in 10cal/mol, i.e. deka\sphinxhyphen{}calories 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} Pointer to a callback function that handles the backtracked structure and its free energy in kcal/mol 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} Pointer to some data structure that is passed along to the callback

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{subopt (C function)@\spxentry{subopt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.subopt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}}\DUrole{n}{SOLUTION}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{subopt}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{delta}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Returns list of subopt structures or writes to fp. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function produces \sphinxstylestrong{all} suboptimal secondary structures within ‘delta’ * 0.01 kcal/mol of the optimum. The results are either directly written to a ‘fp’ (if ‘fp’ is not NULL), or (fp==NULL) returned in a SOLUTION * list terminated by an entry were the ‘structure’ pointer is NULL.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{subopt\_par (C function)@\spxentry{subopt\_par}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.subopt_par}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1gaf3597f13ed0e7dba00185f3336312f7c}}\DUrole{n}{SOLUTION}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{subopt\_par}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{parameters}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{delta}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_constrained}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{is\_circular}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Returns list of subopt structures or writes to fp. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{subopt\_circ (C function)@\spxentry{subopt\_circ}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.subopt_circ}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1ga72ed97775f3e2ce2159fdcb994da383e}}\DUrole{n}{SOLUTION}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{subopt\_circ}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{delta}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Returns list of circular subopt structures or writes to fp. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is similar to {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt()}}}}} but calculates secondary structures assuming the RNA sequence to be circular instead of linear
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{print\_energy (C var)@\spxentry{print\_energy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.print_energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1ga5e57d914bcb5feeecdf520e25313fcfe}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{print\_energy}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
printing threshold for use with logML 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{subopt\_sorted (C var)@\spxentry{subopt\_sorted}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/wuchty:c.subopt_sorted}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/wuchty:group__subopt__wuchty_1ga873cf8ed69e0437f8efa8b1fec854a0e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{subopt\_sorted}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sort output by energy. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Random Structure Samples from the Ensemble}
\label{\detokenize{subopt/stochbt:random-structure-samples-from-the-ensemble}}\label{\detokenize{subopt/stochbt::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt}}}
\pysigstopsignatures
\sphinxAtStartPar
Functions to draw random structure samples from the ensemble according to their equilibrium probability. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PBACKTRACK\_DEFAULT (C macro)@\spxentry{VRNA\_PBACKTRACK\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.VRNA_PBACKTRACK_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PBACKTRACK\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Boltzmann sampling flag indicating default backtracing mode. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PBACKTRACK\_NON\_REDUNDANT (C macro)@\spxentry{VRNA\_PBACKTRACK\_NON\_REDUNDANT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.VRNA_PBACKTRACK_NON_REDUNDANT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Boltzmann sampling flag indicating non\sphinxhyphen{}redundant backtracing mode. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag will turn the Boltzmann sampling into non\sphinxhyphen{}redundant backtracing mode along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_bs\_result\_f (C type)@\spxentry{vrna\_bs\_result\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_bs_result_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bs\_result\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback for Boltzmann sampling. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000021}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called for each secondary structure that has been successfully backtraced from the partition function DP matrices. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param structure}
\sphinxAtStartPar
The secondary structure in dot\sphinxhyphen{}bracket notation 

\sphinxlineitem{Param data}
\sphinxAtStartPar
Some arbitrary, auxiliary data address as provided to the calling function 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_boltzmann\_sampling\_callback (C type)@\spxentry{vrna\_boltzmann\_sampling\_callback}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_boltzmann_sampling_callback}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1cb554c78daebe518ff84f38c3ece1ed}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_boltzmann\_sampling\_callback}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pbacktrack\_mem\_t (C type)@\spxentry{vrna\_pbacktrack\_mem\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_pbacktrack\_memory\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Boltzmann sampling memory data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This structure is required for properly resuming a previous sampling round in specialized Boltzmann sampling, such as non\sphinxhyphen{}redundant backtracking.

\sphinxAtStartPar
Initialize with \sphinxcode{\sphinxupquote{NULL}} and pass its address to the corresponding functions {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, etc.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not forget to release memory occupied by this data structure before losing its context! Use {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free()}}}}}.
\end{sphinxadmonition}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_pbacktrack5 (C function)@\spxentry{vrna\_pbacktrack5}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack5}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack5}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure of a subsequence from the Boltzmann ensemble according its probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a secondary structure. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
The structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000009}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the subsequence to consider (starting with 5’ end) 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack5\_num (C function)@\spxentry{vrna\_pbacktrack5\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack5_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack5\_num}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000012}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the subsequence to consider (starting with 5’ end) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of secondary structure samples in dot\sphinxhyphen{}bracket notation terminated by NULL (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack5\_cb (C function)@\spxentry{vrna\_pbacktrack5\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack5_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack5\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_bs_result_f}]{\sphinxcrossref{\DUrole{n}{vrna\_bs\_result\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5()}}}}} and {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}} this function yields the structure samples through a callback mechanism.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000015}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the subsequence to consider (starting with 5’ end) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback that receives the sampled structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A data structure passed through to the callback \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of structures actually backtraced

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack5\_resume (C function)@\spxentry{vrna\_pbacktrack5\_resume}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack5_resume}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack5\_resume}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{nr\_mem}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split} p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}} this function allows for resuming a previous sampling round in specialized Boltzmann sampling, such as non\sphinxhyphen{}redundant backtracking. For that purpose, the user passes the address of a Boltzmann sampling data structure ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}) which will be re\sphinxhyphen{}used in each round of sampling, i.e. each successive call to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}} or {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}.

\sphinxAtStartPar
A successive sample call to this function may look like: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}t}\PYG{+w}{ }\PYG{n}{nonredundant\PYGZus{}memory}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}

\PYG{c+c1}{// sample the first 100 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                        }\PYG{l+m+mi}{100}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                        }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// sample another 500 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                        }\PYG{l+m+mi}{500}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                        }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// release memory occupied by the non\PYGZhy{}redundant memory data structure}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}free}\PYG{p}{(}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000018}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the list of structures, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the subsequence to consider (starting with 5’ end) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_mem}} \textendash{} The address of the Boltzmann sampling memory data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of secondary structure samples in dot\sphinxhyphen{}bracket notation terminated by NULL (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack5\_resume\_cb (C function)@\spxentry{vrna\_pbacktrack5\_resume\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack5_resume_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack5\_resume\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_bs_result_f}]{\sphinxcrossref{\DUrole{n}{vrna\_bs\_result\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{nr\_mem}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split} p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}} this function yields the structure samples through a callback mechanism.

\sphinxAtStartPar
A successive sample call to this function may look like: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}t}\PYG{+w}{ }\PYG{n}{nonredundant\PYGZus{}memory}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}

\PYG{c+c1}{// sample the first 100 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume\PYGZus{}cb}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                           }\PYG{l+m+mi}{100}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}function}\PYG{p}{,}
\PYG{+w}{                           }\PYG{p}{(}\PYG{k+kt}{void}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}data}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// sample another 500 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume\PYGZus{}cb}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                           }\PYG{l+m+mi}{500}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}function}\PYG{p}{,}
\PYG{+w}{                           }\PYG{p}{(}\PYG{k+kt}{void}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}data}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// release memory occupied by the non\PYGZhy{}redundant memory data structure}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}free}\PYG{p}{(}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000021}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the number of structures backtraced, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the subsequence to consider (starting with 5’ end) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback that receives the sampled structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A data structure passed through to the callback \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_mem}} \textendash{} The address of the Boltzmann sampling memory data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of structures actually backtraced

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack (C function)@\spxentry{vrna\_pbacktrack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure from the Boltzmann ensemble according its probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a secondary structure.

\sphinxAtStartPar
The structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000010}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_num (C function)@\spxentry{vrna\_pbacktrack\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_num}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000013}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of secondary structure samples in dot\sphinxhyphen{}bracket notation terminated by NULL (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_cb (C function)@\spxentry{vrna\_pbacktrack\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_bs_result_f}]{\sphinxcrossref{\DUrole{n}{vrna\_bs\_result\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}} and {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num()}}}}} this function yields the structure samples through a callback mechanism.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000016}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback that receives the sampled structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A data structure passed through to the callback \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of structures actually backtraced

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_resume (C function)@\spxentry{vrna\_pbacktrack\_resume}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_resume}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_resume}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{nr\_mem}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split} p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}} this function allows for resuming a previous sampling round in specialized Boltzmann sampling, such as non\sphinxhyphen{}redundant backtracking. For that purpose, the user passes the address of a Boltzmann sampling data structure ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}) which will be re\sphinxhyphen{}used in each round of sampling, i.e. each successive call to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}} or {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}.

\sphinxAtStartPar
A successive sample call to this function may look like: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}t}\PYG{+w}{ }\PYG{n}{nonredundant\PYGZus{}memory}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}

\PYG{c+c1}{// sample the first 100 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}resume}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                       }\PYG{l+m+mi}{100}\PYG{p}{,}
\PYG{+w}{                       }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                       }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// sample another 500 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}resume}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                       }\PYG{l+m+mi}{500}\PYG{p}{,}
\PYG{+w}{                       }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                       }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// release memory occupied by the non\PYGZhy{}redundant memory data structure}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}free}\PYG{p}{(}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000019}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the list of structures, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_mem}} \textendash{} The address of the Boltzmann sampling memory data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of secondary structure samples in dot\sphinxhyphen{}bracket notation terminated by NULL (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_resume\_cb (C function)@\spxentry{vrna\_pbacktrack\_resume\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_resume_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_resume\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_bs_result_f}]{\sphinxcrossref{\DUrole{n}{vrna\_bs\_result\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{nr\_mem}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split} p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}} this function yields the structure samples through a callback mechanism.

\sphinxAtStartPar
A successive sample call to this function may look like: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}t}\PYG{+w}{ }\PYG{n}{nonredundant\PYGZus{}memory}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}

\PYG{c+c1}{// sample the first 100 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume\PYGZus{}cb}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                           }\PYG{l+m+mi}{100}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}function}\PYG{p}{,}
\PYG{+w}{                           }\PYG{p}{(}\PYG{k+kt}{void}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}data}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// sample another 500 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume\PYGZus{}cb}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                           }\PYG{l+m+mi}{500}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}function}\PYG{p}{,}
\PYG{+w}{                           }\PYG{p}{(}\PYG{k+kt}{void}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}data}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// release memory occupied by the non\PYGZhy{}redundant memory data structure}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}free}\PYG{p}{(}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000022}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the number of structures backtraced, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback that receives the sampled structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A data structure passed through to the callback \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_mem}} \textendash{} The address of the Boltzmann sampling memory data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of structures actually backtraced

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_sub (C function)@\spxentry{vrna\_pbacktrack\_sub}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_sub}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4ae8e7ce0b1e6e45569d183af038c392}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_sub}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure of a subsequence from the Boltzmann ensemble according its probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a secondary structure. The parameters \sphinxcode{\sphinxupquote{start}} and \sphinxcode{\sphinxupquote{end}} specify the interval \( [start:end] \) of the subsequence with \( 1 \leq start < end \leq n\) for sequence length \( n \), the structure \( s_{start,end} \) should be drawn from.

\sphinxAtStartPar
The resulting substructure \( s_{start,end} \) with free energy \( E(s_{start, end}) \) is picked from the Boltzmann distributed sub ensemble of all structures within the interval \( [start:end] \) according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s_{start,end}) = \frac{exp(-E(s_{start,end}) / kT)}{Z_{start,end}}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z_{start,end} = \sum_{s_{start,end}} exp(-E(s_{start,end}) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000011}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxstyleemphasis{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga21000927ce498a1b17dff92bda4d996f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga6a077de16b2d95dfd9c8f06ddef092b5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start of the subsequence to consider, i.e. 5’\sphinxhyphen{}end position(1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The end of the subsequence to consider, i.e. 3’\sphinxhyphen{}end position (1\sphinxhyphen{}based) 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_sub\_num (C function)@\spxentry{vrna\_pbacktrack\_sub\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_sub_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga21000927ce498a1b17dff92bda4d996f}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_sub\_num}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000014}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4ae8e7ce0b1e6e45569d183af038c392}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga6a077de16b2d95dfd9c8f06ddef092b5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start of the subsequence to consider, i.e. 5’\sphinxhyphen{}end position(1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The end of the subsequence to consider, i.e. 3’\sphinxhyphen{}end position (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of secondary structure samples in dot\sphinxhyphen{}bracket notation terminated by NULL (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_sub\_cb (C function)@\spxentry{vrna\_pbacktrack\_sub\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_sub_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga6a077de16b2d95dfd9c8f06ddef092b5}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_sub\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_bs_result_f}]{\sphinxcrossref{\DUrole{n}{vrna\_bs\_result\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5()}}}}} and {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}} this function yields the structure samples through a callback mechanism.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start of the subsequence to consider, i.e. 5’\sphinxhyphen{}end position(1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The end of the subsequence to consider, i.e. 3’\sphinxhyphen{}end position (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback that receives the sampled structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A data structure passed through to the callback \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of structures actually backtraced

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_sub\_resume (C function)@\spxentry{vrna\_pbacktrack\_sub\_resume}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_sub_resume}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1ga2b99a532c4e06b346bfab4111700976e}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_sub\_resume}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{nr\_mem}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split} p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}} this function allows for resuming a previous sampling round in specialized Boltzmann sampling, such as non\sphinxhyphen{}redundant backtracking. For that purpose, the user passes the address of a Boltzmann sampling data structure ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}) which will be re\sphinxhyphen{}used in each round of sampling, i.e. each successive call to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}} or {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}.

\sphinxAtStartPar
A successive sample call to this function may look like: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}t}\PYG{+w}{ }\PYG{n}{nonredundant\PYGZus{}memory}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}

\PYG{c+c1}{// sample the first 100 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                        }\PYG{l+m+mi}{100}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                        }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// sample another 500 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                        }\PYG{l+m+mi}{500}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                        }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                        }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// release memory occupied by the non\PYGZhy{}redundant memory data structure}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}free}\PYG{p}{(}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000020}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the list of structures, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start of the subsequence to consider, i.e. 5’\sphinxhyphen{}end position(1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The end of the subsequence to consider, i.e. 3’\sphinxhyphen{}end position (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_mem}} \textendash{} The address of the Boltzmann sampling memory data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A set of secondary structure samples in dot\sphinxhyphen{}bracket notation terminated by NULL (or NULL on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_sub\_resume\_cb (C function)@\spxentry{vrna\_pbacktrack\_sub\_resume\_cb}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_sub_resume_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1gaab6ee5d51be1723a2dda22f758da882c}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_sub\_resume\_cb}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_bs_result_f}]{\sphinxcrossref{\DUrole{n}{vrna\_bs\_result\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{nr\_mem}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a set of secondary structure samples for a subsequence from the Boltzmann ensemble according their probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a set of \sphinxcode{\sphinxupquote{num\_samples}} secondary structures. The parameter \sphinxcode{\sphinxupquote{length}} specifies the length of the substructure starting from the 5’ end.

\sphinxAtStartPar
Any structure \( s \) with free energy \( E(s) \) is picked from the Boltzmann distributed ensemble according to its probability

\sphinxAtStartPar
\begin{equation*}
\begin{split} p(s) = \frac{exp(-E(s) / kT)}{Z}
\end{split}
\end{equation*}

\sphinxAtStartPar
with partition function \( Z = \sum_s exp(-E(s) / kT) \), Boltzmann constant \( k \) and thermodynamic temperature \( T \).

\sphinxAtStartPar
Using the \sphinxcode{\sphinxupquote{options}} flag one can switch between regular ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}) backtracing mode, and non\sphinxhyphen{}redundant sampling ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}) along the lines of    Michálik \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id40}{2017}{]} .

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}} this function yields the structure samples through a callback mechanism.

\sphinxAtStartPar
A successive sample call to this function may look like: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}t}\PYG{+w}{ }\PYG{n}{nonredundant\PYGZus{}memory}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}

\PYG{c+c1}{// sample the first 100 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume\PYGZus{}cb}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                           }\PYG{l+m+mi}{100}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}function}\PYG{p}{,}
\PYG{+w}{                           }\PYG{p}{(}\PYG{k+kt}{void}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}data}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// sample another 500 structures}
\PYG{n}{vrna\PYGZus{}pbacktrack5\PYGZus{}resume\PYGZus{}cb}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{+w}{                           }\PYG{l+m+mi}{500}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{fc}\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZgt{}}\PYG{n}{length}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}function}\PYG{p}{,}
\PYG{+w}{                           }\PYG{p}{(}\PYG{k+kt}{void}\PYG{+w}{ }\PYG{o}{*}\PYG{p}{)}\PYG{o}{\PYGZam{}}\PYG{n}{callback\PYGZus{}data}\PYG{p}{,}
\PYG{+w}{                           }\PYG{o}{\PYGZam{}}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{,}
\PYG{+w}{                           }\PYG{n}{options}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// release memory occupied by the non\PYGZhy{}redundant memory data structure}
\PYG{n}{vrna\PYGZus{}pbacktrack\PYGZus{}mem\PYGZus{}free}\PYG{p}{(}\PYG{n}{nonredundant\PYGZus{}memory}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the number of structures backtraced, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_free}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In non\sphinxhyphen{}redundant sampling mode ({\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga9d580ce645aa0c38b69afdf56c332200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_NON\_REDUNDANT}}}}}), this function may not yield the full number of requested samples. This may happen if a) the number of requested structures is larger than the total number of structuresin the ensemble, b) numeric instabilities prevent the backtracking function to enumerate structures with high free energies, or c) any other error occurs.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The size of the sample set, i.e. number of structures 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start of the subsequence to consider, i.e. 5’\sphinxhyphen{}end position(1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The end of the subsequence to consider, i.e. 3’\sphinxhyphen{}end position (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback that receives the sampled structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A data structure passed through to the callback \sphinxcode{\sphinxupquote{cb}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_mem}} \textendash{} The address of the Boltzmann sampling memory data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitwise OR\sphinxhyphen{}flag indicating the backtracing mode. 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxcode{\sphinxupquote{fc}} with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} or similar. This can be done easily by passing {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}} a model details parameter with {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ade065b814a4e2e72ead93ab502613ed2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.uniq\_ML}}}}} = 1.

 {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} has to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of structures actually backtraced

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack\_mem\_free (C function)@\spxentry{vrna\_pbacktrack\_mem\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt_1gae64fbdef59e7f503d7e920aac279212b}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_mem\_free}}}}
{{\hyperref[\detokenize{subopt/stochbt:c.vrna_pbacktrack_mem_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pbacktrack\_mem\_t}}}}\DUrole{w}{ }\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Release memory occupied by a Boltzmann sampling memory data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sampling/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} The non\sphinxhyphen{}redundancy memory data structure 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Deprecated API}
\label{\detokenize{subopt/stochbt:deprecated-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{pbacktrack (C function)@\spxentry{pbacktrack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.pbacktrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pbacktrack}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure from the Boltzmann ensemble according its probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The RNA sequence 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gacd79b1a570e6ad9be24cb11fe8cae30a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{st\_back}}}}} has to be set to 1 before calling {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} or {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}}{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}} or {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} have to be called first to fill the partition function matrices

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation 

\end{description}\end{quote}

\end{fulllineitems}

\index{pbacktrack5 (C function)@\spxentry{pbacktrack5}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.pbacktrack5}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pbacktrack5}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample a sub\sphinxhyphen{}structure from the Boltzmann ensemble according its probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pbacktrack\_circ (C function)@\spxentry{pbacktrack\_circ}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.pbacktrack_circ}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga4b6d04c882ae87b6cee9a516e06c4155}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pbacktrack\_circ}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function does the same as {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}} but assumes the RNA molecule to be circular

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000186}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}} instead.

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Pre}
\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gacd79b1a570e6ad9be24cb11fe8cae30a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{st\_back}}}}} has to be set to 1 before calling {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} or {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}}{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par()}}}}} or {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold()}}}}} have to be called first to fill the partition function matrices

\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The RNA sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{st\_back (C var)@\spxentry{st\_back}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/stochbt:c.st_back}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gacd79b1a570e6ad9be24cb11fe8cae30a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{st\_back}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag indicating that auxilary arrays are needed throughout the computations. This is essential for stochastic backtracking. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Set this variable to 1 prior to a call of {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} to ensure that all matrices needed for stochastic backtracking are filled in the forward recursions

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000183}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
set the \sphinxstyleemphasis{uniq\_ML} flag in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} before passing it to {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}.

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga4b6d04c882ae87b6cee9a516e06c4155}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack\_circ}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Compute the Structure with Maximum Expected Accuracy (MEA)}
\label{\detokenize{subopt/mea:compute-the-structure-with-maximum-expected-accuracy-mea}}\label{\detokenize{subopt/mea::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{subopt/mea:group__mea__fold}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_MEA (C function)@\spxentry{vrna\_MEA}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/mea:c.vrna_MEA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/mea:group__mea__fold_1ga9b87b664ef014c1266aa50d5bc39f2ac}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_MEA}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{gamma}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{mea}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute a MEA (maximum expected accuracy) structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/mea.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The algorithm maximizes the expected accuracy

\sphinxAtStartPar
\begin{equation*}
\begin{split}  A(S) = \sum_{(i,j) \in S} 2 \gamma p_{ij} + \sum_{i \notin S} p^u_i
\end{split}
\end{equation*}

\sphinxAtStartPar
Higher values of \(\gamma\) result in more base pairs of lower probability and thus higher sensitivity. Low values of \(\gamma\) result in structures containing only highly likely pairs (high specificity). The code of the MEA function also demonstrates the use of sparse dynamic programming scheme to reduce the time and memory complexity of folding.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000154}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{MEA}}(gamma = 1.) to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. Note, that it returns the MEA structure and MEA value as a tuple (MEA\_structure, MEA). See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.MEA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.MEA()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold compound data structure with pre\sphinxhyphen{}filled base pair probability matrix 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{gamma}} \textendash{} The weighting factor for base pairs vs. unpaired nucleotides 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mea}} \textendash{} A pointer to a variable where the MEA value will be written to 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} must be executed on input parameter \sphinxcode{\sphinxupquote{fc}}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An MEA structure (or NULL on any error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_MEA\_from\_plist (C function)@\spxentry{vrna\_MEA\_from\_plist}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/mea:c.vrna_MEA_from_plist}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/mea:group__mea__fold_1ga26afeef667f7013a743d1d1ebe42666a}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_MEA\_from\_plist}}}}
{{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{plist}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{gamma}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{mea}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute a MEA (maximum expected accuracy) structure from a list of probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/mea.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The algorithm maximizes the expected accuracy

\sphinxAtStartPar
\begin{equation*}
\begin{split}  A(S) = \sum_{(i,j) \in S} 2 \gamma p_{ij} + \sum_{i \notin S} p^u_i
\end{split}
\end{equation*}

\sphinxAtStartPar
Higher values of \(\gamma\) result in more base pairs of lower probability and thus higher sensitivity. Low values of \(\gamma\) result in structures containing only highly likely pairs (high specificity). The code of the MEA function also demonstrates the use of sparse dynamic programming scheme to reduce the time and memory complexity of folding.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000155}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{MEA\_from\_plist}}(gamma = 1., md = NULL). Note, that it returns the MEA structure and MEA value as a tuple (MEA\_structure, MEA). See, e.g.   {\hyperref[\detokenize{api_python:RNA.MEA_from_plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.MEA\_from\_plist()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The unpaired probabilities \(p^u_i = 1 - \sum_{j \neq i} p_{ij}\) are usually computed from the supplied pairing probabilities \(p_{ij}\) as stored in \sphinxcode{\sphinxupquote{plist}} entries of type {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga7c7484a8a1e6704b1aefaf589f3b27c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_BASEPAIR}}}}}. To overwrite individual \(p^u_o\) values simply add entries with type {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga7961043acc4f183a7bc7cf2505a8c8b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_UNPAIRED}}}}}

 To include G\sphinxhyphen{}Quadruplex support, the corresponding field in \sphinxcode{\sphinxupquote{md}} must be set.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{plist}} \textendash{} A list of base pair probabilities the MEA structure is computed from 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The RNA sequence that corresponds to the list of probability values 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{gamma}} \textendash{} The weighting factor for base pairs vs. unpaired nucleotides 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A model details data structure (maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mea}} \textendash{} A pointer to a variable where the MEA value will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An MEA structure (or NULL on any error)

\end{description}\end{quote}

\end{fulllineitems}

\index{MEA (C function)@\spxentry{MEA}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/mea:c.MEA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/mea:group__mea__fold_1ga396ec6144c6a74fcbab4cea6b42d76c3}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MEA}}}}
{{\hyperref[\detokenize{utils/data_structures:c.plist}]{\sphinxcrossref{\DUrole{n}{plist}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{gamma}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Computes a MEA (maximum expected accuracy) structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/mea.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The algorithm maximizes the expected accuracy

\sphinxAtStartPar
\begin{equation*}
\begin{split} A(S) = \sum_{(i,j) \in S} 2 \gamma p_{ij} + \sum_{i \notin S} p^u_i \end{split}
\end{equation*}

\sphinxAtStartPar
Higher values of \(\gamma\) result in more base pairs of lower probability and thus higher sensitivity. Low values of \(\gamma\) result in structures containing only highly likely pairs (high specificity). The code of the MEA function also demonstrates the use of sparse dynamic programming scheme to reduce the time and memory complexity of folding.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000218}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga9b87b664ef014c1266aa50d5bc39f2ac}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_MEA()}}}}} or {\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga26afeef667f7013a743d1d1ebe42666a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_MEA\_from\_plist()}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Compute the Centroid Structure}
\label{\detokenize{subopt/centroid:compute-the-centroid-structure}}\label{\detokenize{subopt/centroid::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{subopt/centroid:group__centroid__fold}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_centroid (C function)@\spxentry{vrna\_centroid}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/centroid:c.vrna_centroid}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/centroid:group__centroid__fold_1gac39e7be7392b2c72bd3a6a14612be5e2}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_centroid}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{dist}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the centroid structure of the ensemble. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/centroid.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The centroid is the structure with the minimal average distance to all other structures 

 \( <d(S)> = \sum_{(i,j) \in S} (1-p_{ij}) + \sum_{(i,j) \notin S} p_{ij} \) 

Thus, the centroid is simply the structure containing all pairs with \(p_ij>0.5\) The distance of the centroid to the ensemble is written to the memory adressed by \sphinxstyleemphasis{dist}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}in{]}} The fold compound data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dist}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the distance variable where the centroid distance will be written to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The centroid structure of the ensemble in dot\sphinxhyphen{}bracket notation (\sphinxcode{\sphinxupquote{NULL}} on error) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_centroid\_from\_plist (C function)@\spxentry{vrna\_centroid\_from\_plist}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/centroid:c.vrna_centroid_from_plist}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/centroid:group__centroid__fold_1ga8e68f31264f2192b0ad02fb2d54f634a}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_centroid\_from\_plist}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{dist}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the centroid structure of the ensemble. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/centroid.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a threadsafe replacement for centroid() with a {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} input

\sphinxAtStartPar
The centroid is the structure with the minimal average distance to all other structures 

 \( <d(S)> = \sum_{(i,j) \in S} (1-p_{ij}) + \sum_{(i,j) \notin S} p_{ij} \) 

Thus, the centroid is simply the structure containing all pairs with \(p_ij>0.5\) The distance of the centroid to the ensemble is written to the memory adressed by \sphinxstyleemphasis{dist}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} \sphinxstylestrong{{[}in{]}} The length of the sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dist}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the distance variable where the centroid distance will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} \sphinxstylestrong{{[}in{]}} A pair list containing base pair probability information about the ensemble 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The centroid structure of the ensemble in dot\sphinxhyphen{}bracket notation (\sphinxcode{\sphinxupquote{NULL}} on error) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_centroid\_from\_probs (C function)@\spxentry{vrna\_centroid\_from\_probs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{subopt/centroid:c.vrna_centroid_from_probs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{subopt/centroid:group__centroid__fold_1gae50c5cd891e5e1a3179735a47887f73a}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_centroid\_from\_probs}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{dist}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{probs}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the centroid structure of the ensemble. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/centroid.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a threadsafe replacement for centroid() with a probability array input

\sphinxAtStartPar
The centroid is the structure with the minimal average distance to all other structures 

 \( <d(S)> = \sum_{(i,j) \in S} (1-p_{ij}) + \sum_{(i,j) \notin S} p_{ij} \) 

Thus, the centroid is simply the structure containing all pairs with \(p_ij>0.5\) The distance of the centroid to the ensemble is written to the memory adressed by \sphinxstyleemphasis{dist}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} \sphinxstylestrong{{[}in{]}} The length of the sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dist}} \textendash{} \sphinxstylestrong{{[}out{]}} A pointer to the distance variable where the centroid distance will be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{probs}} \textendash{} \sphinxstylestrong{{[}in{]}} An upper triangular matrix containing base pair probabilities (access via iindx {\hyperref[\detokenize{utils:group__utils_1ga27d6f59da187317ab4c0d7e9f15ee57a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_idx\_row\_wise()}}}}} ) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The centroid structure of the ensemble in dot\sphinxhyphen{}bracket notation (\sphinxcode{\sphinxupquote{NULL}} on error) 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{subopt_and_representatives:group__subopt__and__representatives}}}
\pysigstopsignatures
\end{fulllineitems}


\sphinxstepscope


\section{RNA\sphinxhyphen{}RNA Interaction}
\label{\detokenize{cofold:rna-rna-interaction}}\label{\detokenize{cofold::doc}}
\sphinxAtStartPar
The function of an RNA molecule often depends on its interaction with
other RNAs. The following routines therefore allows one to predict structures
formed by two RNA molecules upon hybridization.

\sphinxstepscope


\subsection{Partition Function for Two Hybridized Sequences}
\label{\detokenize{rip/pf:partition-function-for-two-hybridized-sequences}}\label{\detokenize{rip/pf::doc}}
\sphinxAtStartPar
To simplify the implementation the partition function computation is done
internally in a null model that does not include the duplex initiation
energy, i.e. the entropic penalty for producing a dimer from two
monomers). The resulting free energies and pair probabilities are initially
relative to that null model. In a second step the free energies can be
corrected to include the dimerization penalty, and the pair probabilities
can be divided into the conditional pair probabilities given that a re
dimer is formed or not formed. See Bernhart \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id23}{2006}{]} for further details.

\sphinxAtStartPar
As for folding one RNA molecule, this computes the partition function
of all possible structures and the base pair probabilities. Uses the
same global \#pf\_scale variable to avoid overflows.

\sphinxAtStartPar
After computing the partition functions of all possible dimeres one
can compute the probabilities of base pairs, the concentrations out of
start concentrations and sofar and soaway.

\sphinxAtStartPar
Dimer formation is inherently concentration dependent. Given the free
energies of the monomers A and B and dimers AB, AA, and BB one can compute
the equilibrium concentrations, given input concentrations of A and B, see
e.g. Dimitrov \& Zuker (2004)
\index{vrna\_dimer\_conc\_t (C type)@\spxentry{vrna\_dimer\_conc\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.vrna_dimer_conc_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1gac48c2723444ecfdceafcfd525ca98322}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_dimer\_conc\_s}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_dimer\_conc\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the data structure that stores the dimer concentrations, vrna\_dimer\_conc\_s, as required by vrna\_pf\_dimer\_concentration(). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/concentrations.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{ConcEnt (C type)@\spxentry{ConcEnt}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.ConcEnt}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1ga46244c7adf5040580291c45b465f4efa}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_dimer\_conc\_s}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ConcEnt}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backward compatibility typedef for vrna\_dimer\_conc\_s. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/concentrations.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pf\_dimer\_concentrations (C function)@\spxentry{vrna\_pf\_dimer\_concentrations}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.vrna_pf_dimer_concentrations}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1ga72e714dd5e6612b5d4d6b939c3860c4e}}{\hyperref[\detokenize{rip/pf:c.vrna_dimer_conc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_conc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_dimer\_concentrations}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FcAB}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FcAA}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FcBB}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FEA}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FEB}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{startconc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{exp\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Given two start monomer concentrations a and b, compute the concentrations in thermodynamic equilibrium of all dimers and the monomers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/concentrations.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function takes an array ‘startconc’ of input concentrations with alternating entries for the initial concentrations of molecules A and B (terminated by two zeroes), then computes the resulting equilibrium concentrations from the free energies for the dimers. Dimer free energies should be the dimer\sphinxhyphen{}only free energies, i.e. the FcAB entries from the {\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga444df1587c9a2ca15b8eb25188f629c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_t}}}}} struct.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FcAB}} \textendash{} Free energy of AB dimer (FcAB entry) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FcAA}} \textendash{} Free energy of AA dimer (FcAB entry) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FcBB}} \textendash{} Free energy of BB dimer (FcAB entry) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FEA}} \textendash{} Free energy of monomer A 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FEB}} \textendash{} Free energy of monomer B 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{startconc}} \textendash{} List of start concentrations {[}a0{]},{[}b0{]},{[}a1{]},{[}b1{]},…,{[}an{]}{[}bn{]},{[}0{]},{[}0{]} 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{exp\_params}} \textendash{} The precomputed Boltzmann factors 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
{\hyperref[\detokenize{rip/pf:group__pf__cofold_1gac48c2723444ecfdceafcfd525ca98322}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_conc\_t}}}}} array containing the equilibrium energies and start concentrations 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_equilibrium\_constants (C function)@\spxentry{vrna\_equilibrium\_constants}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.vrna_equilibrium_constants}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1ga888bc698ac08d3a057c9c0a43b548d78}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_equilibrium\_constants}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{dG\_complexes}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{dG\_strands}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{A}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{kT}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{strands}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{complexes}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute equilibrium constants for interacting RNA complexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/concentrations.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a set of partition functions for interacting RNA complexes this function computes the equilibrium constants for each complex. For instance, the equilibrium constant \( K_\text{AB} \) a dimer complex composed of two strands \( A \) and \( B \) can be easily computed from the partition functions \( Z_A \) and \( Z_B \) of the monomer strands and the partition function \( Z_{AB} \) of AB complexes, i.e.:

\sphinxAtStartPar
\begin{equation*}
\begin{split} K_{AB} = \frac{Z_{AB}}{Z_A Z_B} \end{split}
\end{equation*}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000036}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{equilibrium\_constants()}} where the last two parameters \sphinxcode{\sphinxupquote{strands}} and \sphinxcode{\sphinxupquote{complexes}} are optional. In case they are omitted, the respective numbers will be determined from the length of the input list parameters \sphinxcode{\sphinxupquote{dG\_complexes}} and \sphinxcode{\sphinxupquote{dG\_strands}}, respectively. See also   {\hyperref[\detokenize{api_python:RNA.equilibrium_constants}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.equilibrium\_constants()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dG\_complexes}} \textendash{} The partition functions of the complexes (specified as ensemble free energies \( \Delta G = -RT \ln Z \) in units of \( kcal \cdot mol^{-1} \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dG\_strands}} \textendash{} The partition functions of the monomer species (specified as ensemble free energies \( \Delta G = -RT \ln Z \) in units of \( kcal \cdot mol^{-1} \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{A}} \textendash{} An \( N x M \) matrix indicating the composition of the individual complexes ( \( M \)), i.e. how many of the monomers ( \( N \) ) each complex consists of 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{kT}} \textendash{} Thermodynamic temperature times Boltzmann constant in units of \( cal \cdot mol^{-1} \) (used for temperature scaling) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{strands}} \textendash{} The number of monomer species 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{complexes}} \textendash{} The number of interacting complexes 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The equilibrium constants for each complex

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pf\_co\_fold (C function)@\spxentry{vrna\_pf\_co\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.vrna_pf_co_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/pf:group__part__func__global_1gaf2b846f7ac382686f35ff7b9202fdd5c}}{\hyperref[\detokenize{rip/pf:c.vrna_dimer_pf_t}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_pf\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_co\_fold}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pl}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This simplified interface to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}} computes the partition function and, if required, base pair probabilities for an RNA\sphinxhyphen{}RNA interaction using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you require other conditions than specified by the default model details, use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}, and the data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} instead.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} Two concatenated RNA sequences with a delimiting ‘\&’ in between 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} A pointer to a list of {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} to store pairing probabilities (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
{\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga444df1587c9a2ca15b8eb25188f629c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_t}}}}} structure containing a set of energies needed for concentration computations. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_dimer\_pf\_t (C type)@\spxentry{vrna\_dimer\_pf\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.vrna_dimer_pf_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1ga444df1587c9a2ca15b8eb25188f629c3}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{partfunc/global:c.vrna_dimer_pf_s}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_pf\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_dimer\_pf\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the data structure that stores the dimer partition functions, {\hyperref[\detokenize{partfunc/global:structvrna__dimer__pf__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_s}}}}}, as returned by {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{cofoldF (C type)@\spxentry{cofoldF}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.cofoldF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1ga5445d8d96a40e9e79b1fa5a7f1a6b7ea}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{partfunc/global:c.vrna_dimer_pf_s}]{\sphinxcrossref{\DUrole{n}{vrna\_dimer\_pf\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cofoldF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backward compatibility typedef for {\hyperref[\detokenize{partfunc/global:structvrna__dimer__pf__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dimer\_pf\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/global.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{mirnatog (C var)@\spxentry{mirnatog}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.mirnatog}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1gaff27888c4088cc1f60fd59cbd589474c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{mirnatog}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Toggles no intrabp in 2nd mol. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{F\_monomer (C var)@\spxentry{F\_monomer}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.F_monomer}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1gac2d1851a710a8561390861155ca988fe}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{F\_monomer}}}\DUrole{p}{{[}}\DUrole{m}{2}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free energies of the two monomers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}co.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_equilibrium\_conc (C function)@\spxentry{vrna\_equilibrium\_conc}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/pf:c.vrna_equilibrium_conc}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/pf:group__pf__cofold_1ga2bcdf2a49e4924d121fb7223e48d8981}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_equilibrium\_conc}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{eq\_constants}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{concentration\_strands}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{A}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{num\_strands}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{num\_complexes}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute equilibrium concentration of interacting RNA complexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/wrap\PYGZus{}dlib.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to compute, given a set of initial RNA monomer concentrations, equilibrium concentrations for a set of interacting RNA complexes.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000037}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{equilibrium\_conc()}} where the last two parameters \sphinxcode{\sphinxupquote{num\_strands}} and \sphinxcode{\sphinxupquote{num\_complexes}} are optional. In case they are omitted, the respective numbers will be determined from the length of the input list parameters \sphinxcode{\sphinxupquote{eq\_constants}} and \sphinxcode{\sphinxupquote{concentration\_strands}}, respectively. Note, that the C implementation stores equilibrium concentrations for the monomer species in place within the \sphinxcode{\sphinxupquote{concentration\_strands}} parameter. In contrast to that, the scripting language wrappers will rather append them to the returned output list. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{eq\_constants}} \textendash{} The equilibrium constants for the individual complexes 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{concentration\_strands}} \textendash{} The initial concentrations of the monomer species (also used for output of the equilibrium concentrations for the monomer species) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{A}} \textendash{} An \sphinxcode{\sphinxupquote{NxM}} matrix indicating the composition of the individual complexes (M), i.e. how many of the monomers (N) each complex consists of 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_strands}} \textendash{} The number of monomer species 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_complexes}} \textendash{} The number of interacting complexes 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The equilibrium concentrations for each complex

\end{description}\end{quote}

\end{fulllineitems}


\sphinxstepscope


\subsection{RNA\sphinxhyphen{}RNA interaction as a stepwise process}
\label{\detokenize{rip/up:rna-rna-interaction-as-a-stepwise-process}}\label{\detokenize{rip/up::doc}}
\sphinxAtStartPar
In this approach to cofolding the interaction between two RNA molecules is
seen as a stepwise process. In a first step, the target molecule has to
adopt a structure in which a binding site is accessible. In a second step,
the ligand molecule will hybridize with a region accessible to an
interaction. Consequently the algorithm is designed as a two step process:
The first step is the calculation of the probability
that a region within the target is unpaired, or equivalently, the
calculation of the free energy needed to expose a region. In the second step
we compute the free energy of an interaction for every possible binding site.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{rip/up:group__up__cofold}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{pf\_unstru (C function)@\spxentry{pf\_unstru}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/up:c.pf_unstru}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/up:group__up__cofold_1ga2a7fb78dfbfb00eccf8d79f38e3384c3}}{\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_unstru}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_w}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate the partition function over all unpaired regions of a maximal length. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}up.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
You have to call function {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} providing the same sequence before calling {\hyperref[\detokenize{rip/up:group__up__cofold_1ga2a7fb78dfbfb00eccf8d79f38e3384c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_unstru()}}}}}. If you want to calculate unpaired regions for a constrained structure, set variable ‘structure’ in function ‘{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}}’ to the constrain string. It returns a {\hyperref[\detokenize{utils/data_structures:structpu__contrib}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pu\_contrib}}}}} struct containing four arrays of dimension {[}i = 1 to length(sequence){]}{[}j = 0 to u\sphinxhyphen{}1{]} containing all possible contributions to the probabilities of unpaired regions of maximum length u. Each array in {\hyperref[\detokenize{utils/data_structures:structpu__contrib}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pu\_contrib}}}}} contains one of the contributions to the total probability of being unpaired: The probability of being unpaired within an exterior loop is in array {\hyperref[\detokenize{utils/data_structures:structpu__contrib}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pu\_contrib}}}}}\sphinxhyphen{}\textgreater{}E, the probability of being unpaired within a hairpin loop is in array {\hyperref[\detokenize{utils/data_structures:structpu__contrib}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pu\_contrib}}}}}\sphinxhyphen{}\textgreater{}H, the probability of being unpaired within an internal loop is in array {\hyperref[\detokenize{utils/data_structures:structpu__contrib}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pu\_contrib}}}}}\sphinxhyphen{}\textgreater{}I and probability of being unpaired within a multi\sphinxhyphen{}loop is in array {\hyperref[\detokenize{utils/data_structures:structpu__contrib}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pu\_contrib}}}}}\sphinxhyphen{}\textgreater{}M. The total probability of being unpaired is the sum of the four arrays of {\hyperref[\detokenize{utils/data_structures:structpu__contrib}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pu\_contrib}}}}}.

\sphinxAtStartPar
This function frees everything allocated automatically. To free the output structure call free\_pu\_contrib().
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_w}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{pf\_interact (C function)@\spxentry{pf\_interact}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/up:c.pf_interact}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/up:group__up__cofold_1ga5adcc9222fe42d943e407e79a3f4558d}}{\hyperref[\detokenize{utils/data_structures:c.interact}]{\sphinxcrossref{\DUrole{n}{interact}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pf\_interact}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p\_c}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p\_c2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_w}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cstruc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{incr3}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{incr5}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculates the probability of a local interaction between two sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}up.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The function considers the probability that the region of interaction is unpaired within ‘s1’ and ‘s2’. The longer sequence has to be given as ‘s1’. The shorter sequence has to be given as ‘s2’. Function {\hyperref[\detokenize{rip/up:group__up__cofold_1ga2a7fb78dfbfb00eccf8d79f38e3384c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_unstru()}}}}}
\sphinxAtStartPar
has to be called for ‘s1’ and ‘s2’, where the probabilities of being unpaired have to be given in ‘p\_c’ and ‘p\_c2’, respectively. If you do not want to include the probabilities of being unpaired for ‘s2’ set ‘p\_c2’ to NULL. If variable ‘cstruc’ is not NULL, constrained folding is done: The available constrains for intermolecular interaction are: ‘.’ (no constrain), ‘x’ (the base has no intermolecular interaction) and ‘|’ (the corresponding base has to be paired intermolecularily).

\sphinxAtStartPar
The parameter ‘w’ determines the maximal length of the interaction. The parameters ‘incr5’ and ‘incr3’ allows inclusion of unpaired residues left (‘incr5’) and right (‘incr3’) of the region of interaction in ‘s1’. If the ‘incr’ options are used, function
{\hyperref[\detokenize{rip/up:group__up__cofold_1ga2a7fb78dfbfb00eccf8d79f38e3384c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_unstru()}}}}} has to be called with w=w+incr5+incr3 for the longer sequence ‘s1’.

\sphinxAtStartPar
It returns a structure of type {\hyperref[\detokenize{utils/data_structures:structinteract}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{interact}}}}} which contains the probability of the best local interaction including residue i in Pi and the minimum free energy in Gi, where i is the position in sequence ‘s1’. The member Gikjl of structure {\hyperref[\detokenize{utils/data_structures:structinteract}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{interact}}}}}
\sphinxAtStartPar
is the best interaction between region {[}k,i{]} k\textless{}i in longer sequence ‘s1’ and region {[}j,l{]} j\textless{}l in ‘s2’. Gikjl\_wo is Gikjl without the probability of beeing unpaired.

\sphinxAtStartPar
Use
{\hyperref[\detokenize{rip/up:group__up__cofold_1gadde308fd5f696dc271b1532aa96fd12f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_interact()}}}}} to free the returned structure, all other stuff is freed inside {\hyperref[\detokenize{rip/up:group__up__cofold_1ga5adcc9222fe42d943e407e79a3f4558d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_interact()}}}}}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{p\_c}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{p\_c2}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_w}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cstruc}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{incr3}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{incr5}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{free\_interact (C function)@\spxentry{free\_interact}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/up:c.free_interact}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/up:group__up__cofold_1gadde308fd5f696dc271b1532aa96fd12f}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_interact}}}}
{{\hyperref[\detokenize{utils/data_structures:c.interact}]{\sphinxcrossref{\DUrole{n}{interact}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pin}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Frees the output of function {\hyperref[\detokenize{rip/up:group__up__cofold_1ga5adcc9222fe42d943e407e79a3f4558d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_interact()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}up.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{Up\_plot (C function)@\spxentry{Up\_plot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/up:c.Up_plot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/up:group__up__cofold_1ga73efd2918cbbb2cdf44422653f996852}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Up\_plot}}}}
{{\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p\_c}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p\_c\_sh}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.interact}]{\sphinxcrossref{\DUrole{n}{interact}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pint}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ofile}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{unpaired\_values}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{select\_contrib}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{head}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{mode}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}up.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_pu\_contrib\_struct (C function)@\spxentry{get\_pu\_contrib\_struct}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/up:c.get_pu_contrib_struct}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/up:group__up__cofold_1gac827201da2538b2eb37e1797031b036e}}{\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_pu\_contrib\_struct}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{w}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}up.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{free\_pu\_contrib\_struct (C function)@\spxentry{free\_pu\_contrib\_struct}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/up:c.free_pu_contrib_struct}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/up:group__up__cofold_1gac20bd61824981d45ce0dc9934aa56df8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_pu\_contrib\_struct}}}}
{{\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pu}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Frees the output of function {\hyperref[\detokenize{rip/up:group__up__cofold_1ga2a7fb78dfbfb00eccf8d79f38e3384c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_unstru()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}up.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{free\_pu\_contrib (C function)@\spxentry{free\_pu\_contrib}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{rip/up:c.free_pu_contrib}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{rip/up:group__up__cofold_1gae1b3579727cf7a27eea93594d0e6d831}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_pu\_contrib}}}}
{{\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pu}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/part\PYGZus{}func\PYGZus{}up.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsection{Concatenating RNA sequences}
\label{\detokenize{cofold:concatenating-rna-sequences}}
\sphinxAtStartPar
One approach to co\sphinxhyphen{}folding two RNAs consists of concatenating the two
sequences and keeping track of the concatenation point in all energy
evaluations. Correspondingly, many of the cofold() and
co\_pf\_fold() routines take one sequence string as argument
and use the the global variable \#cut\_point to mark the concatenation
point. Note that while the \sphinxstyleemphasis{RNAcofold} program uses the \sphinxcode{\sphinxupquote{\&}} character
to mark the chain break in its input.


\subsection{RNA\sphinxhyphen{}RNA interaction as a Stepwise Process}
\label{\detokenize{cofold:rna-rna-interaction-as-a-stepwise-process}}
\sphinxAtStartPar
In a second approach to co\sphinxhyphen{}folding two RNAs, cofolding is seen as a
stepwise process. In the first step the probability of an unpaired region
is calculated and in a second step this probability of an unpaired region
is  multiplied with the probability of an interaction between the two RNAs.
This approach is implemented for the interaction between a long
target sequence and a short ligand RNA. Function pf\_unstru() calculates
the partition function over all unpaired regions in the input
sequence. Function pf\_interact(), which calculates the
partition function over all possible interactions between two
sequences, needs both sequence as separate strings as input.


\subsection{RNA\sphinxhyphen{}RNA Interaction API}
\label{\detokenize{cofold:rna-rna-interaction-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{cofold:group__cofold}}}
\pysigstopsignatures
\end{fulllineitems}


\sphinxstepscope


\section{Classified Dynamic Programming Variants}
\label{\detokenize{class_fold:classified-dynamic-programming-variants}}\label{\detokenize{class_fold::doc}}
\sphinxAtStartPar
Usually, thermodynamic properties using the basic recursions for {\hyperref[\detokenize{mfe::doc}]{\sphinxcrossref{\DUrole{doc}{Minimum Free Energy (MFE) Algorithms}}}},
{\hyperref[\detokenize{pf_fold::doc}]{\sphinxcrossref{\DUrole{doc}{Partition Function and Equilibrium Properties}}}}, and so forth, are computed over the entire structure space. However,
sometimes it is desired to partition the structure space \sphinxstyleemphasis{a priori} and compute
the above properties for each of the resulting partitions. This approach directly leads
to \sphinxstyleemphasis{Classified Dynamic Programming}.

\sphinxstepscope


\subsection{Distance Based Partitioning of the Secondary Structure Space}
\label{\detokenize{classified/kl_neighborhood:distance-based-partitioning-of-the-secondary-structure-space}}\label{\detokenize{classified/kl_neighborhood::doc}}
\sphinxAtStartPar
The secondary structure space is divided into partitions according to the base
pair distance to two given reference structures and all relevant properties are
calculated for each of the resulting partitions.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
For further details, we refer to Lorenz \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id30}{2009}{]}
\end{sphinxadmonition}

\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{classified/kl_neighborhood:id2}}{\hyperref[\detokenize{classified/kl_neighborhood:general}]{\sphinxcrossref{General}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{classified/kl_neighborhood:id3}}{\hyperref[\detokenize{classified/kl_neighborhood:mfe-variants}]{\sphinxcrossref{MFE Variants}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{classified/kl_neighborhood:id4}}{\hyperref[\detokenize{classified/kl_neighborhood:partition-function-variants}]{\sphinxcrossref{Partition Function Variants}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{classified/kl_neighborhood:id5}}{\hyperref[\detokenize{classified/kl_neighborhood:stochastic-backtracking}]{\sphinxcrossref{Stochastic Backtracking}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{General}
\label{\detokenize{classified/kl_neighborhood:general}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood}}}
\pysigstopsignatures
\end{fulllineitems}



\subsubsection{MFE Variants}
\label{\detokenize{classified/kl_neighborhood:mfe-variants}}
\sphinxAtStartPar
Compute the minimum free energy (MFE) and secondary structures for a partitioning
of the secondary structure space according to the base pair distance to two fixed
reference structures basepair distance to two fixed reference structures.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{TwoDfold\_solution (C macro)@\spxentry{TwoDfold\_solution}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_solution}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga09e71024abb1a2bd19d9137596376e15}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{TwoDfold\_solution}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_mfe\_TwoD (C function)@\spxentry{vrna\_mfe\_TwoD}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_mfe_TwoD}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}}{\hyperref[\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sol\_TwoD\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_TwoD}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{distance1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{distance2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute MFE’s and representative for distance partitioning. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the minimum free energies and a representative secondary structure for each distance class according to the two references specified in the datastructure ‘vars’. The maximum basepair distance to each of both references may be set by the arguments ‘distance1’ and ‘distance2’, respectively. If both distance arguments are set to ‘\sphinxhyphen{}1’, no restriction is assumed and the calculation is performed for each distance class possible.

\sphinxAtStartPar
The returned list contains an entry for each distance class. If a maximum basepair distance to either of the references was passed, an entry with k=l=\sphinxhyphen{}1 will be appended in the list, denoting the class where all structures exceeding the maximum will be thrown into. The end of the list is denoted by an attribute value of INF in the k\sphinxhyphen{}attribute of the list entry.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}} {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga1297d34a208f6e3df1670420baaaaead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_backtrack5\_TwoD()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sol\_TwoD\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The datastructure containing all precomputed folding attributes 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{distance1}} \textendash{} maximum distance to reference1 (\sphinxhyphen{}1 means no restriction) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{distance2}} \textendash{} maximum distance to reference2 (\sphinxhyphen{}1 means no restriction) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of minimum free energies (and corresponding structures) for each distance class 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_backtrack5\_TwoD (C function)@\spxentry{vrna\_backtrack5\_TwoD}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_backtrack5_TwoD}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga1297d34a208f6e3df1670420baaaaead}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_backtrack5\_TwoD}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack a minimum free energy structure from a 5’ section of specified length. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to backtrack a secondary structure beginning at the 5’ end, a specified length and residing in a specific distance class. If the argument ‘k’ gets a value of \sphinxhyphen{}1, the structure that is backtracked is assumed to reside in the distance class where all structures exceeding the maximum basepair distance specified in {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}} belong to.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The argument ‘vars’ must contain precalculated energy values in the energy matrices, i.e. a call to {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}} preceding this function is mandatory!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The datastructure containing all precomputed folding attributes 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} The length in nucleotides beginning from the 5’ end 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{k}} \textendash{} distance to reference1 (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{l}} \textendash{} distance to reference2 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_TwoDfold\_variables (C function)@\spxentry{get\_TwoDfold\_variables}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.get_TwoDfold_variables}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga9dd36b619bffbbead5735ff5f0d91ee2}}{\hyperref[\detokenize{classified/kl_neighborhood:c.TwoDfold_vars}]{\sphinxcrossref{\DUrole{n}{TwoDfold\_vars}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_TwoDfold\_variables}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{circ}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a structure of type {\hyperref[\detokenize{classified/kl_neighborhood:structTwoDfold__vars}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}} prefilled with current global settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function returns a datastructure of type {\hyperref[\detokenize{classified/kl_neighborhood:structTwoDfold__vars}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}}. The data fields inside the {\hyperref[\detokenize{classified/kl_neighborhood:structTwoDfold__vars}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}} are prefilled by global settings and all memory allocations necessary to start a computation are already done for the convenience of the user

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000002}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead!

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Make sure that the reference structures are compatible with the sequence according to Watson\sphinxhyphen{}Crick\sphinxhyphen{} and Wobble\sphinxhyphen{}base pairing
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure1}} \textendash{} The first reference structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure2}} \textendash{} The second reference structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{circ}} \textendash{} A switch to indicate the assumption to fold a circular instead of linear RNA (0=OFF, 1=ON) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A datastructure prefilled with folding options and allocated memory 

\end{description}\end{quote}

\end{fulllineitems}

\index{destroy\_TwoDfold\_variables (C function)@\spxentry{destroy\_TwoDfold\_variables}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.destroy_TwoDfold_variables}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga05bf4f31d216b1b160fd2d3d68e9b487}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{destroy\_TwoDfold\_variables}}}}
{{\hyperref[\detokenize{classified/kl_neighborhood:c.TwoDfold_vars}]{\sphinxcrossref{\DUrole{n}{TwoDfold\_vars}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{our\_variables}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Destroy a {\hyperref[\detokenize{classified/kl_neighborhood:structTwoDfold__vars}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}} datastructure without memory loss. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function free’s all allocated memory that depends on the datastructure given.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000003}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{our\_variables}} \textendash{} A pointer to the datastructure to be destroyed 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{TwoDfoldList (C function)@\spxentry{TwoDfoldList}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfoldList}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1gad2c0d04ff67eb827b6f4ea78e65a719c}}{\hyperref[\detokenize{classified/kl_neighborhood:c.TwoDfold_solution}]{\sphinxcrossref{\DUrole{n}{TwoDfold\_solution}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{TwoDfoldList}}}}
{{\hyperref[\detokenize{classified/kl_neighborhood:c.TwoDfold_vars}]{\sphinxcrossref{\DUrole{n}{TwoDfold\_vars}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{vars}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{distance1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{distance2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute MFE’s and representative for distance partitioning. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the minimum free energies and a representative secondary structure for each distance class according to the two references specified in the datastructure ‘vars’. The maximum basepair distance to each of both references may be set by the arguments ‘distance1’ and ‘distance2’, respectively. If both distance arguments are set to ‘\sphinxhyphen{}1’, no restriction is assumed and the calculation is performed for each distance class possible.

\sphinxAtStartPar
The returned list contains an entry for each distance class. If a maximum basepair distance to either of the references was passed, an entry with k=l=\sphinxhyphen{}1 will be appended in the list, denoting the class where all structures exceeding the maximum will be thrown into. The end of the list is denoted by an attribute value of INF in the k\sphinxhyphen{}attribute of the list entry.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000004}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead!

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{vars}} \textendash{} the datastructure containing all predefined folding attributes 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{distance1}} \textendash{} maximum distance to reference1 (\sphinxhyphen{}1 means no restriction) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{distance2}} \textendash{} maximum distance to reference2 (\sphinxhyphen{}1 means no restriction) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{TwoDfold\_backtrack\_f5 (C function)@\spxentry{TwoDfold\_backtrack\_f5}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_backtrack_f5}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga83816eb31ac4d0d7403354d1916495c0}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{TwoDfold\_backtrack\_f5}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\sphinxparamcomma {\hyperref[\detokenize{classified/kl_neighborhood:c.TwoDfold_vars}]{\sphinxcrossref{\DUrole{n}{TwoDfold\_vars}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{vars}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Backtrack a minimum free energy structure from a 5’ section of specified length. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to backtrack a secondary structure beginning at the 5’ end, a specified length and residing in a specific distance class. If the argument ‘k’ gets a value of \sphinxhyphen{}1, the structure that is backtracked is assumed to reside in the distance class where all structures exceeding the maximum basepair distance specified in TwoDfold() belong to.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000005}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga1297d34a208f6e3df1670420baaaaead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_backtrack5\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead!

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The argument ‘vars’ must contain precalculated energy values in the energy matrices, i.e. a call to TwoDfold() preceding this function is mandatory!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} The length in nucleotides beginning from the 5’ end 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{k}} \textendash{} distance to reference1 (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{l}} \textendash{} distance to reference2 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{vars}} \textendash{} the datastructure containing all predefined folding attributes 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{TwoDfold (C function)@\spxentry{TwoDfold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1gafcf26281cf10e489b53cbfbe910ef694}}{\hyperref[\detokenize{classified/kl_neighborhood:c.TwoDfold_solution}]{\sphinxcrossref{\DUrole{n}{TwoDfold\_solution}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{TwoDfold}}}}
{{\hyperref[\detokenize{classified/kl_neighborhood:c.TwoDfold_vars}]{\sphinxcrossref{\DUrole{n}{TwoDfold\_vars}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{our\_variables}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{distance1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{distance2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_sol\_TwoD\_t (C struct)@\spxentry{vrna\_sol\_TwoD\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sol\_TwoD\_t}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/2Dfold.h\textgreater{}}
\sphinxAtStartPar
Solution element returned from {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}. 

\sphinxAtStartPar
This element contains free energy and structure for the appropriate kappa (k), lambda (l) neighborhood The datastructure contains two integer attributes ‘k’ and ‘l’ as well as an attribute ‘en’ of type float representing the free energy in kcal/mol and an attribute ‘s’ of type char* containg the secondary structure representative,

\sphinxAtStartPar
A value of INF in k denotes the end of a list

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_sol\_TwoD\_t.k (C var)@\spxentry{vrna\_sol\_TwoD\_t.k}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_t.k}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__t_1ac111e850bb3b3a11b6b5707912cfa1b8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Distance to first reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sol\_TwoD\_t.l (C var)@\spxentry{vrna\_sol\_TwoD\_t.l}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_t.l}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__t_1ab8e95cd920901175a2cc8de726ab1d36}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{l}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Distance to second reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sol\_TwoD\_t.en (C var)@\spxentry{vrna\_sol\_TwoD\_t.en}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_t.en}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__t_1a7577863a6a84224dfee39b321c03cab1}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{en}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free energy in kcal/mol. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sol\_TwoD\_t.s (C var)@\spxentry{vrna\_sol\_TwoD\_t.s}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_t.s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__t_1ac5942d2505a6cd7e4a8073a321d5d2d5}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{s}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
MFE representative structure in dot\sphinxhyphen{}bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{TwoDfold\_vars (C struct)@\spxentry{TwoDfold\_vars}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TwoDfold\_vars}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/2Dfold.h\textgreater{}}
\sphinxAtStartPar
Variables compound for 2Dfold MFE folding. 

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This data structure will be removed from the library soon! Use {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{TwoDfold\_vars.P (C var)@\spxentry{TwoDfold\_vars.P}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.P}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a70da9e83ad87c37013b4bf0b265dd307}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{P}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Precomputed energy parameters and model details. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.do\_backtrack (C var)@\spxentry{TwoDfold\_vars.do\_backtrack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.do_backtrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ade5c7e9337a458ae20bac75abdc52d64}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{do\_backtrack}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag whether to do backtracing of the structure(s) or not. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.ptype (C var)@\spxentry{TwoDfold\_vars.ptype}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.ptype}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aedf60b8b26dae05ad266d3e098d18208}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{ptype}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Precomputed array of pair types. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.sequence (C var)@\spxentry{TwoDfold\_vars.sequence}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.sequence}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a3596f3d4d320318c4b8428e2abc7ab56}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sequence}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The input sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.S (C var)@\spxentry{TwoDfold\_vars.S}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.S}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1adcf49c88c890de55d2215532bf22006c}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{S}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.S1 (C var)@\spxentry{TwoDfold\_vars.S1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.S1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ab9ee459ffbfb5d2c138a033516056cdc}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{S1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The input sequences in numeric form. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.maxD1 (C var)@\spxentry{TwoDfold\_vars.maxD1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.maxD1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a621ed2ab02116f3f8f5e7120dec429eb}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{maxD1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum allowed base pair distance to first reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.maxD2 (C var)@\spxentry{TwoDfold\_vars.maxD2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.maxD2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a03f198a4abdb3b784486d2ba5c533aa4}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{maxD2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum allowed base pair distance to second reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.mm1 (C var)@\spxentry{TwoDfold\_vars.mm1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.mm1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aa11f5bcd8c4fe70a91c155c877c855d5}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{mm1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum matching matrix, reference struct 1 disallowed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.mm2 (C var)@\spxentry{TwoDfold\_vars.mm2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.mm2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a2eaa93316b6beb17531f0c078806036c}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{mm2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum matching matrix, reference struct 2 disallowed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.my\_iindx (C var)@\spxentry{TwoDfold\_vars.my\_iindx}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.my_iindx}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a1a20cb06b58b75d1a3dbdbc8bc60d0a7}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{my\_iindx}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Index for moving in quadratic distancy dimensions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.temperature (C var)@\spxentry{TwoDfold\_vars.temperature}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aaaecad48586cf29db9cfe78ba0d03e64}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{temperature}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.referenceBPs1 (C var)@\spxentry{TwoDfold\_vars.referenceBPs1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.referenceBPs1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a536525b98c1b633d4c5f2da4f8d78c18}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{referenceBPs1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing number of basepairs of reference structure1 in interval {[}i,j{]}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.referenceBPs2 (C var)@\spxentry{TwoDfold\_vars.referenceBPs2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.referenceBPs2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aa7abf73c3114cb5f0dc90e702fa9dd0f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{referenceBPs2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing number of basepairs of reference structure2 in interval {[}i,j{]}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.bpdist (C var)@\spxentry{TwoDfold\_vars.bpdist}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.bpdist}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1af1106e1a592e2dccc92b3452340549e0}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{bpdist}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing base pair distance of reference structure 1 and 2 on interval {[}i,j{]}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.reference\_pt1 (C var)@\spxentry{TwoDfold\_vars.reference\_pt1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.reference_pt1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ac3d9b7ee368f1cd0be1bd06dbfb8afe7}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{reference\_pt1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.reference\_pt2 (C var)@\spxentry{TwoDfold\_vars.reference\_pt2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.reference_pt2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a1cfef43ced426d71c2c4ffe32e82343b}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{reference\_pt2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.circ (C var)@\spxentry{TwoDfold\_vars.circ}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.circ}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ae3a4308de89bdaa394375718c894c977}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{circ}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.dangles (C var)@\spxentry{TwoDfold\_vars.dangles}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.dangles}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a2344e233bfc046e7261d8c5bea534153}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dangles}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.seq\_length (C var)@\spxentry{TwoDfold\_vars.seq\_length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.seq_length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a4016860ccba7e21fdccd500446731696}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{seq\_length}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_F5 (C var)@\spxentry{TwoDfold\_vars.E\_F5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a0962f20b286965412ded96cf24db8024}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_F3 (C var)@\spxentry{TwoDfold\_vars.E\_F3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a11b9d64797932fc1994b5b0064f13468}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_C (C var)@\spxentry{TwoDfold\_vars.E\_C}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a93d2182608ed62830adfc456b0ce5681}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_M (C var)@\spxentry{TwoDfold\_vars.E\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aa6964c9af06773c3026a0f5d682f9fd8}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_M1 (C var)@\spxentry{TwoDfold\_vars.E\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1af52b99762db1c3bf20a3284c5f3ed6c3}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_M2 (C var)@\spxentry{TwoDfold\_vars.E\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a6a5669cfcd3565d339f57a125dcb5e06}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_Fc (C var)@\spxentry{TwoDfold\_vars.E\_Fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_Fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a4eb4d9478bceacf9ad8bd38e41c943f9}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_Fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_FcH (C var)@\spxentry{TwoDfold\_vars.E\_FcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_FcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a8becf4cbe447676dd299b2232337cd3e}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_FcI (C var)@\spxentry{TwoDfold\_vars.E\_FcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_FcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1abaf57df415bd53e0189d4430c59eb22c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_FcM (C var)@\spxentry{TwoDfold\_vars.E\_FcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_FcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aa64e1390f197b238f49c6ffb37992eb2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values (C var)@\spxentry{TwoDfold\_vars.l\_min\_values}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aa2f2e9bd13105d15a657e71f5261256b}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values (C var)@\spxentry{TwoDfold\_vars.l\_max\_values}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a6df00730e6359d27b26290c95e3cf0fd}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values (C var)@\spxentry{TwoDfold\_vars.k\_min\_values}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aed74c3f883cab18bac7d9c66d8cff110}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values (C var)@\spxentry{TwoDfold\_vars.k\_max\_values}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1adf0b5de14ba5fc0ab3788bc0ff4f9d88}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_m (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_m}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a0c688cbbb88902a6642dad7fb41ca9f3}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_m}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_m (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_m}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a3bf30e9fb08b16e7c6a2706581a2e5cb}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_m}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_m (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_m}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a9e942b87356975775dea195841fcf847}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_m}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_m (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_m}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a85df676ac4b99098d72f6e8e48d6afc5}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_m}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_m1 (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_m1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_m1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a80f9152af7100a3c24d48cdf7639378b}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_m1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_m1 (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_m1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_m1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1afd0de56d6593a46ae805d0ec8d3651a2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_m1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_m1 (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_m1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_m1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a5cc247c342c307157d972103602b011f}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_m1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_m1 (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_m1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_m1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a252a584f7f74c8b2787a128f05c9113d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_m1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_f (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_f}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a4a39ccf97d767d6bb62f34d6b1d10717}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_f}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_f (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_f}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a8a566aec285da022ff58f128044fd560}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_f}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_f (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_f}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a01d07ecba1cfdf7f0c06d870368ebbab}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_f}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_f (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_f}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a88bee3289b67c7d86f421670a43bf3af}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_f}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_f3 (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_f3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_f3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a8d646363b251672235b7c4169b71c4b0}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_f3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_f3 (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_f3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_f3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a361ec8bdefe30a1046f383a5eeac4968}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_f3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_f3 (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_f3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_f3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ab25721e4aefc57087242f587de8e80ab}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_f3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_f3 (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_f3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_f3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a799795b75fefc94c7d88a04cf32dab72}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_f3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_m2 (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_m2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_m2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a4253d7631384345b004bc82b8403eb77}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_m2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_m2 (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_m2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_m2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a1915aa04bfdea4692bd5c3aceab74e45}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_m2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_m2 (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_m2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_m2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a78592d73ab65ca433ecb773a83c9b582}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_m2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_m2 (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_m2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_m2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ad80cc03831c345b789dad446d5e260fe}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_m2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_fc (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a2852dd3d4f444b08dfebbc053cac983d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_fc (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a6debaf91b138e5e086ac6863dad01919}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_fc (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a39ee4a1728c0d80e11c8a4694c8629d5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_fc (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aed3b5efc50bb9453942277f96626665f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_fcH (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_fcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_fcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ac13b16138da81ff2b0c69fc4e6ab6dd4}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_fcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_fcH (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_fcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_fcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a8588fe680089b986a90913bc72a7c6c8}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_fcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_fcH (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_fcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_fcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a125e8cde969ce3347f19e825dbcec07b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_fcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_fcH (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_fcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_fcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a8f1fade15528029e22fd3efc1d0a871b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_fcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_fcI (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_fcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_fcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ab08a49838984eb8fe427730bc8154b43}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_fcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_fcI (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_fcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_fcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a98cd89c6459c18bd647a18a9b17bfb93}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_fcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_fcI (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_fcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_fcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aceb32df051435d3ecc25910688585e7b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_fcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_fcI (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_fcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_fcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a860e9a6784233960a1d45e711de381d8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_fcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_min\_values\_fcM (C var)@\spxentry{TwoDfold\_vars.l\_min\_values\_fcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_min_values_fcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a2073680dc7da5be8a404fd4036687973}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_values\_fcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.l\_max\_values\_fcM (C var)@\spxentry{TwoDfold\_vars.l\_max\_values\_fcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.l_max_values_fcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a80385035862e790db8ffb1e81438ec2a}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_values\_fcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_min\_values\_fcM (C var)@\spxentry{TwoDfold\_vars.k\_min\_values\_fcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_min_values_fcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a482a03df6cd5ef76ae591d4686a051d7}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_values\_fcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.k\_max\_values\_fcM (C var)@\spxentry{TwoDfold\_vars.k\_max\_values\_fcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.k_max_values_fcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a89e4d533071054720a83ea70a97a4105}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_values\_fcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_F5\_rem (C var)@\spxentry{TwoDfold\_vars.E\_F5\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_F5_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1af414b6e4fc8a32e323998504cbdf3db8}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F5\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_F3\_rem (C var)@\spxentry{TwoDfold\_vars.E\_F3\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_F3_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ae4b7da33649295a9c835a6f29c3f2fab}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F3\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_C\_rem (C var)@\spxentry{TwoDfold\_vars.E\_C\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_C_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a5da3f78defa76f754b726aac74104b9d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_C\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_M\_rem (C var)@\spxentry{TwoDfold\_vars.E\_M\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_M_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a14c12c19248fd07a78e0e1d15c9ead83}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_M1\_rem (C var)@\spxentry{TwoDfold\_vars.E\_M1\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_M1_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a18476d051e6bb22c3339cc1c6fedbb2c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M1\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_M2\_rem (C var)@\spxentry{TwoDfold\_vars.E\_M2\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_M2_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1af68fca5278bdefe01539e4e59816554d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M2\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_Fc\_rem (C var)@\spxentry{TwoDfold\_vars.E\_Fc\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_Fc_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a8f69e0e4572dae4bf862eb0d5f25b95f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_Fc\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_FcH\_rem (C var)@\spxentry{TwoDfold\_vars.E\_FcH\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_FcH_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1aa0e78a2b1e48a2545abb5e008f4d92c9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcH\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_FcI\_rem (C var)@\spxentry{TwoDfold\_vars.E\_FcI\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_FcI_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1ace876be5e864db1f26967dc8f05a2b89}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcI\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.E\_FcM\_rem (C var)@\spxentry{TwoDfold\_vars.E\_FcM\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.E_FcM_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a2ea4f8e3d9f3047c4983ed0e299a4f8d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcM\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{TwoDfold\_vars.compatibility (C var)@\spxentry{TwoDfold\_vars.compatibility}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.TwoDfold_vars.compatibility}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structTwoDfold__vars_1a2f12b3838cfdb8d3c769d36cb517459d}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{compatibility}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}



\subsubsection{Partition Function Variants}
\label{\detokenize{classified/kl_neighborhood:partition-function-variants}}
\sphinxAtStartPar
Compute the partition function and stochastically sample secondary structures for
a partitioning of the secondary structure space according to the base pair distance
to two fixed reference structures.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_pf\_TwoD (C function)@\spxentry{vrna\_pf\_TwoD}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_pf_TwoD}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}}{\hyperref[\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_pf_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sol\_TwoD\_pf\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pf\_TwoD}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxDistance1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxDistance2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function for all distance classes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dpfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the partition functions for all distance classes according the two reference structures specified in the datastructure ‘vars’. Similar to {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}} the arguments maxDistance1 and maxDistance2 specify the maximum distance to both reference structures. A value of ‘\sphinxhyphen{}1’ in either of them makes the appropriate distance restrictionless, i.e. all basepair distancies to the reference are taken into account during computation. In case there is a restriction, the returned solution contains an entry where the attribute k=l=\sphinxhyphen{}1 contains the partition function for all structures exceeding the restriction. A value of INF in the attribute ‘k’ of the returned list denotes the end of the list

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound}}}}} {\hyperref[\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__pf__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sol\_TwoD\_pf\_t}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The datastructure containing all necessary folding attributes and matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{maxDistance1}} \textendash{} The maximum basepair distance to reference1 (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{maxDistance2}} \textendash{} The maximum basepair distance to reference2 (may be \sphinxhyphen{}1) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of partition funtions for the corresponding distance classes 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_sol\_TwoD\_pf\_t (C struct)@\spxentry{vrna\_sol\_TwoD\_pf\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_pf_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__pf__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sol\_TwoD\_pf\_t}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/2Dpfold.h\textgreater{}}
\sphinxAtStartPar
Solution element returned from {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}. 

\sphinxAtStartPar
This element contains the partition function for the appropriate kappa (k), lambda (l) neighborhood The datastructure contains two integer attributes ‘k’ and ‘l’ as well as an attribute ‘q’ of type {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}}

\sphinxAtStartPar
A value of INF in k denotes the end of a list

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_sol\_TwoD\_pf\_t.k (C var)@\spxentry{vrna\_sol\_TwoD\_pf\_t.k}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_pf_t.k}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__pf__t_1ad1f23b46dc4ebd373abdeb0382d87b83}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Distance to first reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dpfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sol\_TwoD\_pf\_t.l (C var)@\spxentry{vrna\_sol\_TwoD\_pf\_t.l}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_pf_t.l}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__pf__t_1a01133c264eff2c988d144e07803d1b8b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{l}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Distance to second reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dpfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sol\_TwoD\_pf\_t.q (C var)@\spxentry{vrna\_sol\_TwoD\_pf\_t.q}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_sol_TwoD_pf_t.q}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:structvrna__sol__TwoD__pf__t_1a17ebbf425b8769ded74b5c7b85e58ee1}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{q}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
partition function 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dpfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}



\subsubsection{Stochastic Backtracking}
\label{\detokenize{classified/kl_neighborhood:stochastic-backtracking}}
\sphinxAtStartPar
Functions related to stochastic backtracking from a specified distance class.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__stochbt}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_pbacktrack\_TwoD (C function)@\spxentry{vrna\_pbacktrack\_TwoD}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_pbacktrack_TwoD}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__stochbt_1ga8527c142361ad019ef9b80c50591f215}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack\_TwoD}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{d1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{d2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample secondary structure representatives from a set of distance classes according to their Boltzmann probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dpfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If the argument ‘d1’ is set to ‘\sphinxhyphen{}1’, the structure will be backtracked in the distance class where all structures exceeding the maximum basepair distance to either of the references reside.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}inout{]}} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} datastructure containing all necessary folding attributes and matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{d1}} \textendash{} \sphinxstylestrong{{[}in{]}} The distance to reference1 (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{d2}} \textendash{} \sphinxstylestrong{{[}in{]}} The distance to reference2 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The argument ‘vars’ must contain precalculated partition function matrices, i.e. a call to {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}} preceding this function is mandatory!

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pbacktrack5\_TwoD (C function)@\spxentry{vrna\_pbacktrack5\_TwoD}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/kl_neighborhood:c.vrna_pbacktrack5_TwoD}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{classified/kl_neighborhood:group__kl__neighborhood__stochbt_1gae375170cbf15744a9cf2db33d0a2cb75}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pbacktrack5\_TwoD}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{d1}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{d2}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sample secondary structure representatives with a specified length from a set of distance classes according to their Boltzmann probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/2Dpfold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function does essentially the same as {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__stochbt_1ga8527c142361ad019ef9b80c50591f215}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_TwoD()}}}}} with the only difference that partial structures, i.e. structures beginning from the 5’ end with a specified length of the sequence, are backtracked

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__stochbt_1ga8527c142361ad019ef9b80c50591f215}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_TwoD()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function does not work (since it makes no sense) for circular RNA sequences!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} \sphinxstylestrong{{[}inout{]}} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} datastructure containing all necessary folding attributes and matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{d1}} \textendash{} \sphinxstylestrong{{[}in{]}} The distance to reference1 (may be \sphinxhyphen{}1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{d2}} \textendash{} \sphinxstylestrong{{[}in{]}} The distance to reference2 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} \sphinxstylestrong{{[}in{]}} The length of the structure beginning from the 5’ end 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The argument ‘vars’ must contain precalculated partition function matrices, i.e. a call to {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}} preceding this function is mandatory!

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Density of States}
\label{\detokenize{classified/dos:density-of-states}}\label{\detokenize{classified/dos::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{classified/dos:group__dos}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{density\_of\_states (C var)@\spxentry{density\_of\_states}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{classified/dos:c.density_of_states}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{classified/dos:group__dos_1ga937634a76b46a22530a74906f1957a9e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{density\_of\_states}}}\DUrole{p}{{[}}\DUrole{n}{MAXDOS}\DUrole{w}{ }\DUrole{o}{+}\DUrole{w}{ }\DUrole{m}{1}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The Density of States. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/wuchty.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This array contains the density of states for an RNA sequences after a call to {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gaf3597f13ed0e7dba00185f3336312f7c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt\_par()}}}}}, {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt()}}}}} or {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga72ed97775f3e2ce2159fdcb994da383e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt\_circ()}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gaf3597f13ed0e7dba00185f3336312f7c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt\_par()}}}}}, {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt()}}}}}, {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga72ed97775f3e2ce2159fdcb994da383e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt\_circ()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Pre}
\sphinxAtStartPar
Call one of the functions {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gaf3597f13ed0e7dba00185f3336312f7c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt\_par()}}}}}, {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt()}}}}} or {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga72ed97775f3e2ce2159fdcb994da383e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt\_circ()}}}}} prior accessing the contents of this array

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{class_fold:group__class__fold}}\sphinxstyleemphasis{group} \sphinxbfcode{\sphinxupquote{Classified~Dynamic~Programming~Variants}}}
\pysigstopsignatures
\end{fulllineitems}


\sphinxstepscope


\section{Inverse Folding (Design)}
\label{\detokenize{inverse:inverse-folding-design}}\label{\detokenize{inverse::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{inverse:group__inverse__fold}}}
\pysigstopsignatures
\sphinxAtStartPar
RNA sequence design. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{inverse\_fold (C function)@\spxentry{inverse\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{inverse:c.inverse_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{inverse:group__inverse__fold_1ga7af026de55d4babad879f2c92559cbbc}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{inverse\_fold}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{start}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{target}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find sequences with predefined structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/inverse/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function searches for a sequence with minimum free energy structure provided in the parameter ‘target’, starting with sequence ‘start’. It returns 0 if the search was successful, otherwise a structure distance in terms of the energy difference between the search result and the actual target ‘target’ is returned. The found sequence is returned in ‘start’. If {\hyperref[\detokenize{inverse:group__inverse__fold_1ga7ec4ba51f86e1717a1e174264e4a75ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{give\_up}}}}} is set to 1, the function will return as soon as it is clear that the search will be unsuccessful, this speeds up the algorithm if you are only interested in exact solutions.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{target}} \textendash{} The target secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The distance to the target in case a search was unsuccessful, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{inverse\_pf\_fold (C function)@\spxentry{inverse\_pf\_fold}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{inverse:c.inverse_pf_fold}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{inverse:group__inverse__fold_1gaeef52ecbf2a2450ad585a344f9826806}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{inverse\_pf\_fold}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{start}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{target}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find sequence that maximizes probability of a predefined structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/inverse/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function searches for a sequence with maximum probability to fold into the provided structure ‘target’ using the partition function algorithm. It returns \(-kT \cdot \log(p)\) where \(p\) is the frequency of ‘target’ in the ensemble of possible structures. This is usually much slower than {\hyperref[\detokenize{inverse:group__inverse__fold_1ga7af026de55d4babad879f2c92559cbbc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{inverse\_fold()}}}}}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{target}} \textendash{} The target secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The distance to the target in case a search was unsuccessful, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{symbolset (C var)@\spxentry{symbolset}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{inverse:c.symbolset}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{inverse:group__inverse__fold_1ga8f791e7740a5a28b9f6fafb4e60301d9}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{symbolset}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
This global variable points to the allowed bases, initially “AUGC”. It can be used to design sequences from reduced alphabets. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/inverse/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{final\_cost (C var)@\spxentry{final\_cost}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{inverse:c.final_cost}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{inverse:group__inverse__fold_1ga7f17d3b169af048d32bb185039a9c09c}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{final\_cost}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/inverse/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
when to stop {\hyperref[\detokenize{inverse:group__inverse__fold_1gaeef52ecbf2a2450ad585a344f9826806}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{inverse\_pf\_fold()}}}}}

\end{fulllineitems}

\index{give\_up (C var)@\spxentry{give\_up}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{inverse:c.give_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{inverse:group__inverse__fold_1ga7ec4ba51f86e1717a1e174264e4a75ce}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{give\_up}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/inverse/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
default 0: try to minimize structure distance even if no exact solution can be found 

\end{fulllineitems}

\index{inv\_verbose (C var)@\spxentry{inv\_verbose}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{inverse:c.inv_verbose}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{inverse:group__inverse__fold_1gafcfc65fba01b9cca5946726ed9057a63}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{inv\_verbose}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/inverse/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
print out substructure on which {\hyperref[\detokenize{inverse:group__inverse__fold_1ga7af026de55d4babad879f2c92559cbbc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{inverse\_fold()}}}}} fails 

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\section{Experimental Structure Probing Data}
\label{\detokenize{probing_data:experimental-structure-probing-data}}\label{\detokenize{probing_data::doc}}
\sphinxAtStartPar
While RNA secondary structure prediction yields good predictions in general,
the model implemented in the prediction algorithms and its parameters are not
perfect. This may be due to several reasons, such as uncertainties in the parameters
and the simplified assumptions of the model itself. However, prediction performance
can be increased by integrating (experimental) RNA structure probing data, such
as derived from selective 2’\sphinxhyphen{}hydroxyl acylation analyzed by primer extension (SHAPE),
dimethyl sulfate (DMS), inline probing, or similar techniques.

\sphinxAtStartPar
Such experimental probing data is usually integrated in the form of small pertubations
in the evaluated energy contributions ({\hyperref[\detokenize{grammar/constraints/soft::doc}]{\sphinxcrossref{\DUrole{doc}{Soft Constraints}}}}) that effectively
guide the prediction towards the information gained from the experiment.

\sphinxstepscope


\subsection{Strategies for Linear Data}
\label{\detokenize{probing/strategies:strategies-for-linear-data}}\label{\detokenize{probing/strategies::doc}}
\sphinxAtStartPar
Recent literature lists several methods and strategies that deal with the
problem to convert linear experimental RNA structure probing data into pseudo
energy terms to guide RNA secondary strucure predictions. Such data may come
from SHAPE, DMS, lead, inline probing, or similar techniques. The most commonly
used method may be the one presented in Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]} where the free
energy evaluation for stacked base pairs adds a pseudo energy contribution
derived from the reactivity values of the probing data. The higher the
reactivity the stronger the stack is penalized by a positive energy.

\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{probing/strategies:id28}}{\hyperref[\detokenize{probing/strategies:generic-probing-data-strategy-api}]{\sphinxcrossref{Generic Probing Data Strategy API}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{probing/strategies:id29}}{\hyperref[\detokenize{probing/strategies:the-deigan-2009-strategy-api}]{\sphinxcrossref{The Deigan 2009 Strategy API}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{probing/strategies:id30}}{\hyperref[\detokenize{probing/strategies:the-zarringhalam-2012-strategy-api}]{\sphinxcrossref{The Zarringhalam 2012 Strategy API}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{probing/strategies:id31}}{\hyperref[\detokenize{probing/strategies:the-eddy-2014-strategy-api}]{\sphinxcrossref{The Eddy 2014 Strategy API}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Generic Probing Data Strategy API}
\label{\detokenize{probing/strategies:generic-probing-data-strategy-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PROBING\_DATA\_WEIGHT\_POSITION\_WISE (C macro)@\spxentry{VRNA\_PROBING\_DATA\_WEIGHT\_POSITION\_WISE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_DATA_WEIGHT_POSITION_WISE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga1c30189aa0d2d126b0bfe2ed3153f396}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_WEIGHT\_POSITION\_WISE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBING\_DATA\_SINGLE\_STRATEGY (C macro)@\spxentry{VRNA\_PROBING\_DATA\_SINGLE\_STRATEGY}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_DATA_SINGLE_STRATEGY}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga14d1aa5b275a4921ea9e7252476235c0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_SINGLE\_STRATEGY}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBING\_DATA\_SINGLE\_WEIGHT (C macro)@\spxentry{VRNA\_PROBING\_DATA\_SINGLE\_WEIGHT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_DATA_SINGLE_WEIGHT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga8743318dd223c60718c65ee78ae809a7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_SINGLE\_WEIGHT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBING\_DATA\_DEFAULT (C macro)@\spxentry{VRNA\_PROBING\_DATA\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_DATA_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1gadef0c177a64906d1e97b3a489d21defa}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_STACK (C macro)@\spxentry{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_STACK}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_DATA_LINEAR_TARGET_STACK}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1gad67059c79c2be75c7c7caa7895a4705f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_STACK}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_UP (C macro)@\spxentry{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_UP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_DATA_LINEAR_TARGET_UP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga7e47303e83f861702faf7a43bd873058}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_UP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_BP (C macro)@\spxentry{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_BP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_DATA_LINEAR_TARGET_BP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga2020def48b2f0a329322b72594e2a765}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_BP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0 (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_MULTI_PARAMS_0}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1gaf5db9deaaa290d8147aaa047fc5116ee}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
probing data conversion flag for comparative structure predictions indicating no parameter to be sequence specific 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gad76a1f9cfbfc795980bbe9c87ec92c5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1 (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_MULTI_PARAMS_1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
probing data conversion flag for comparative structure predictions indicating 1st parameter to be sequence specific 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gaf5db9deaaa290d8147aaa047fc5116ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gad76a1f9cfbfc795980bbe9c87ec92c5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2 (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_MULTI_PARAMS_2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
probing data conversion flag for comparative structure predictions indicating 2nd parameter to be sequence specific 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gaf5db9deaaa290d8147aaa047fc5116ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gad76a1f9cfbfc795980bbe9c87ec92c5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3 (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_MULTI_PARAMS_3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1gad76a1f9cfbfc795980bbe9c87ec92c5c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
probing data conversion flag for comparative structure predictions indicating 3rd parameter to be sequence specific 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gaf5db9deaaa290d8147aaa047fc5116ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_MULTI_PARAMS_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
probing data conversion flag for comparative structure predictions indicating default parameter settings 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Essentially, this setting indicates that all probing data is to be converted using the same parameters. Use any combination of {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gad76a1f9cfbfc795980bbe9c87ec92c5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}}}}}, and so on to indicate that the first, second, third, or other parameter is sequence specific.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_probing\_strategy\_opt\_t (C type)@\spxentry{vrna\_probing\_strategy\_opt\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga26363aad9742807923d4b21fb35419bd}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_f (C type)@\spxentry{vrna\_probing\_strategy\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1gad0b4be2df55efa1ab64c2c896237d005}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{,}\DUrole{w}{ }\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{data\_size}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{target}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prototype of a strategy to derive pseudo energies from linear structure probing data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound the probing data will be applied to 

\sphinxlineitem{Param data}
\sphinxAtStartPar
The structure probing data (1\sphinxhyphen{}based array of reactivity values) 

\sphinxlineitem{Param data\_size}
\sphinxAtStartPar
The size of \sphinxcode{\sphinxupquote{data}}, i.e. the total number of reactivity values 

\sphinxlineitem{Param target}
\sphinxAtStartPar
The structural context for which pseudo energies are requested from the strategy 

\sphinxlineitem{Param options}
\sphinxAtStartPar
An arbitrary data structure the strategy requires for working on the data 

\sphinxlineitem{Return}
\sphinxAtStartPar
A pointer to an array of pseudo energies ready to be included as soft constraints 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_probing\_strategy\_chain (C function)@\spxentry{vrna\_probing\_strategy\_chain}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_chain}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga7d49abb885ddb530cefa82f680848d14}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_chain}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{data\_size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{target}\sphinxparamcomma {\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_chain\_data (C function)@\spxentry{vrna\_probing\_strategy\_chain\_data}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_chain_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga019245581e3e16c92238f7fbc396584a}}{\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_chain\_data}}}}
{{\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_f}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb}\sphinxparamcomma {\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb\_options}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_chain\_data\_append (C function)@\spxentry{vrna\_probing\_strategy\_chain\_data\_append}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_chain_data_append}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1gae8ea31b9c46ab29dbc692ca0afb6329f}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_chain\_data\_append}}}}
{{\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{chain}\sphinxparamcomma {\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_f}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb}\sphinxparamcomma {\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb\_options}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_chain\_data\_size (C function)@\spxentry{vrna\_probing\_strategy\_chain\_data\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_chain_data_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga5ef8a368561ff5213d5b996d3f457004}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_chain\_data\_size}}}}
{{\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{chain}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_chain\_data\_at (C function)@\spxentry{vrna\_probing\_strategy\_chain\_data\_at}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_chain_data_at}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1ga15fe3fd926471f1a2ef7a9d6c72f9648}}{\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_chain\_data\_at}}}}
{{\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{chain}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{pos}\sphinxparamcomma {\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{strategy\_cb\_options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_chain\_data\_free (C function)@\spxentry{vrna\_probing\_strategy\_chain\_data\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_chain_data_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy_1gaee24bcf881cf9e62c78c475f30aba004}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_chain\_data\_free}}}}
{{\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{The Deigan 2009 Strategy API}
\label{\detokenize{probing/strategies:the-deigan-2009-strategy-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_m (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_m}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_DEIGAN2009_DEFAULT_m}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga8b922b6927f28ffd655f76ad8b59bdde}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_m}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default parameter for slope \sphinxcode{\sphinxupquote{m}} as used in method of    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gaa1e9ca9fd6bf9a013909d919e6823297}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_b}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_b (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_b}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_DEIGAN2009_DEFAULT_b}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gaa1e9ca9fd6bf9a013909d919e6823297}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_b}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default parameter for intercept \sphinxcode{\sphinxupquote{b}} as used in method of    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga8b922b6927f28ffd655f76ad8b59bdde}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_DEIGAN2009\_DEFAULT\_m}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_probing\_strategy\_deigan (C function)@\spxentry{vrna\_probing\_strategy\_deigan}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_deigan}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gad4c59d7b8f81c07e624a3b3594db7e8e}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_deigan}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{data\_size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{target}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_deigan\_options (C function)@\spxentry{vrna\_probing\_strategy\_deigan\_options}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_deigan_options}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gafcfbb711076b442308e8277585262fa2}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_deigan\_options}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{max\_value}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_deigan\_options\_free (C function)@\spxentry{vrna\_probing\_strategy\_deigan\_options\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_deigan_options_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gab0701377885f02f85d357602864e14ab}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_deigan\_options\_free}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_deigan (C function)@\spxentry{vrna\_probing\_data\_deigan}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_deigan}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_deigan}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare probing data according to Deigan et al. 2009 method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Prepares a data structure to be used with {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} to directed RNA folding using the simple linear ansatz

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{SHAPE}}(i) = m \ln(\text{SHAPE reactivity}(i)+1)+ b \end{split}
\end{equation*}

\sphinxAtStartPar
to convert probing data, e.g. SHAPE reactivity values, to pseudo energies whenever a nucleotide \( i \) contributes to a stacked pair. A positive slope \( m \) penalizes high reactivities in paired regions, while a negative intercept \( b \) results in a confirmatory \sphinxstyleemphasis{bonus} free energy for correctly predicted base pairs. Since the energy evaluation of a base pair stack involves two pairs, the pseudo energies are added for all four contributing nucleotides. Consequently, the energy term is applied twice for pairs inside a helix and only once for pairs adjacent to other structures. For all other loop types the energy model remains unchanged even when the experimental data highly disagrees with a certain motif.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} 1\sphinxhyphen{}based array of per\sphinxhyphen{}nucleotide probing data, e.g. SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The length of the \sphinxcode{\sphinxupquote{reactivities}} list 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} The slope used for the probing data to soft constraints conversion strategy 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The intercept used for the probing data to soft constraints conversion strategy 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a data structure containing the probing data and any preparations necessary to use it in {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} according to the method of    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]}  or \sphinxstylestrong{NULL} on any error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_deigan\_trans (C function)@\spxentry{vrna\_probing\_data\_deigan\_trans}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_deigan_trans}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacc07b4d140779251dcf3839846d99251}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_deigan\_trans}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_deigan\_comparative (C function)@\spxentry{vrna\_probing\_data\_deigan\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_deigan_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_deigan\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ms}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bs}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare (multiple) probing data according to Deigan et al. 2009 method for comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, this function prepares a data structure to be used with {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} to directed RNA folding using the simple linear ansatz

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{SHAPE}}(i) = m \ln(\text{SHAPE reactivity}(i)+1)+ b \end{split}
\end{equation*}

\sphinxAtStartPar
to convert probing data, e.g. SHAPE reactivity values, to pseudo energies whenever a nucleotide \( i \) contributes to a stacked pair. This functions purpose is to allow for adding multiple probing data as required for comparative structure predictions over multiple sequence alignments (MSA) with \sphinxcode{\sphinxupquote{n\_seq}} sequences. For that purpose, \sphinxcode{\sphinxupquote{reactivities}} can be provided for any of the sequences in the MSA. Individual probing data is always expected to be specified in sequence coordinates, i.e. without considering gaps in the MSA. Therefore, each set of \sphinxcode{\sphinxupquote{reactivities}} may have a different length as specified the parameter \sphinxcode{\sphinxupquote{n}}. In addition, each set of probing data may undergo the conversion using different parameters \( m \) and \( b \). Whether or not multiple sets of conversion parameters are provided must be specified using the \sphinxcode{\sphinxupquote{multi\_params}} flag parameter. Use {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}} to indicate that \sphinxcode{\sphinxupquote{ms}} points to an array of slopes for each sequence. Along with that, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}} indicates that \sphinxcode{\sphinxupquote{bs}} is pointing to an array of intercepts for each sequence. Bitwise\sphinxhyphen{}OR of the two values renders both parameters to be sequence specific.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gaf5db9deaaa290d8147aaa047fc5116ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} 0\sphinxhyphen{}based array of 1\sphinxhyphen{}based arrays of per\sphinxhyphen{}nucleotide probing data, e.g. SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} 0\sphinxhyphen{}based array of lengths of the \sphinxcode{\sphinxupquote{reactivities}} lists 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n\_seq}} \textendash{} The number of sequences in the MSA 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ms}} \textendash{} 0\sphinxhyphen{}based array of the slopes used for the probing data to soft constraints conversion strategy or the address of a single slope value to be applied for all data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bs}} \textendash{} 0\sphinxhyphen{}based array of the intercepts used for the probing data to soft constraints conversion strategy or the address of a single intercept value to be applied for all data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{multi\_params}} \textendash{} A flag indicating what is passed through parameters \sphinxcode{\sphinxupquote{ms}} and \sphinxcode{\sphinxupquote{bs}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a data structure containing the probing data and any preparations necessary to use it in {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} according to the method of    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]}  or \sphinxstylestrong{NULL} on any error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_deigan\_trans\_comparative (C function)@\spxentry{vrna\_probing\_data\_deigan\_trans\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_deigan_trans_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga62934757770e864253f39b2612e27a99}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_deigan\_trans\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ms}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bs}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}deigan.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{The Zarringhalam 2012 Strategy API}
\label{\detokenize{probing/strategies:the-zarringhalam-2012-strategy-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_beta (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_beta}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_ZARRINGHALAM2012_DEFAULT_beta}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga00d6900fbbe3551e9337d1994d7a5437}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_beta}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default parameter \sphinxcode{\sphinxupquote{beta}} as used in method of    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga3b178e5bf91ba23c345c0dad0ebf9f6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_conversion}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga73a94e419762f42dc05007fb6f7fe101}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_probability}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_conversion (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_conversion}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_ZARRINGHALAM2012_DEFAULT_conversion}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga3b178e5bf91ba23c345c0dad0ebf9f6e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_conversion}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default conversion method of probing data into probabilities as used in method of    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga00d6900fbbe3551e9337d1994d7a5437}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_beta}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga73a94e419762f42dc05007fb6f7fe101}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_probability}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_probability (C macro)@\spxentry{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_probability}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_METHOD_ZARRINGHALAM2012_DEFAULT_probability}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga73a94e419762f42dc05007fb6f7fe101}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_probability}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default probability value for missing data in method of    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga00d6900fbbe3551e9337d1994d7a5437}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_beta}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga3b178e5bf91ba23c345c0dad0ebf9f6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_ZARRINGHALAM2012\_DEFAULT\_conversion}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_probing\_strategy\_zarringhalam (C function)@\spxentry{vrna\_probing\_strategy\_zarringhalam}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_zarringhalam}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga04d812410835c14b1544cab81bc6a1da}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_zarringhalam}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{data\_size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{target}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_zarringhalam\_options (C function)@\spxentry{vrna\_probing\_strategy\_zarringhalam\_options}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_zarringhalam_options}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga9b527f6356bcc6ea2796a84791e948ef}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_zarringhalam\_options}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{beta}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{default\_probability}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{max\_value}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_zarringhalam\_options\_free (C function)@\spxentry{vrna\_probing\_strategy\_zarringhalam\_options\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_zarringhalam_options_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga8b36e8f93a0eda149c2f846bd22bc430}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_zarringhalam\_options\_free}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_zarringhalam (C function)@\spxentry{vrna\_probing\_data\_zarringhalam}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_zarringhalam}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_zarringhalam}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{beta}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr\_conversion}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{pr\_default}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare probing data according to Zarringhalam et al. 2012 method. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Prepares a data structure to be used with {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} to directed RNA folding using the method of    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} .

\sphinxAtStartPar
This method first converts the observed probing data of nucleotide \( i \) into a probability \( q_i \) that position \( i \) is unpaired by means of a non\sphinxhyphen{}linear map. Then pseudo\sphinxhyphen{}energies of the form

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{SHAPE}}(x,i) = \beta\ |x_i - q_i| \end{split}
\end{equation*}

\sphinxAtStartPar
are computed, where \( x_i=0 \) if position \( i \) is unpaired and \( x_i=1 \) if \( i \) is paired in a given secondary structure. The parameter \( \beta \) serves as scaling factor. The magnitude of discrepancy between prediction and experimental observation is represented by \( |x_i - q_i| \).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} 
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} 1\sphinxhyphen{}based array of per\sphinxhyphen{}nucleotide probing data, e.g. SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The length of the \sphinxcode{\sphinxupquote{reactivities}} list 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{beta}} \textendash{} The scaling factor \( \beta \) of the conversion function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_conversion}} \textendash{} A flag that specifies how to convert reactivities to probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_default}} \textendash{} The default probability for a nucleotide where reactivity data is missing for 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a data structure containing the probing data and any preparations necessary to use it in {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} according to the method of    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]}  or \sphinxstylestrong{NULL} on any error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_zarringhalam\_trans (C function)@\spxentry{vrna\_probing\_data\_zarringhalam\_trans}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_zarringhalam_trans}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaf74981831610fb85080d0976a3afe729}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_zarringhalam\_trans}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{beta}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{pr\_default}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_zarringhalam\_comparative (C function)@\spxentry{vrna\_probing\_data\_zarringhalam\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_zarringhalam_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_zarringhalam\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{betas}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pr\_conversions}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr\_defaults}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare probing data according to Zarringhalam et al. 2012 method for comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, this function prepares a data structure to be used with {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} to guide RNA folding using the method of    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} .

\sphinxAtStartPar
This functions purpose is to allow for adding multiple probing data as required for comparative structure predictions over multiple sequence alignments (MSA) with \sphinxcode{\sphinxupquote{n\_seq}} sequences. For that purpose, \sphinxcode{\sphinxupquote{reactivities}} can be provided for any of the sequences in the MSA. Individual probing data is always expected to be specified in sequence coordinates, i.e. without considering gaps in the MSA. Therefore, each set of \sphinxcode{\sphinxupquote{reactivities}} may have a different length as specified the parameter \sphinxcode{\sphinxupquote{n}}. In addition, each set of probing data may undergo the conversion using different parameters \( beta \). Additionally, the probing data to probability conversions strategy and default values for missing data can be specified in a sequence\sphinxhyphen{}based manner. Whether or not multiple conversion parameters are provided must be specified using the \sphinxcode{\sphinxupquote{multi\_params}} flag parameter. Use {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}} to indicate that \sphinxcode{\sphinxupquote{betas}} points to an array of \( beta \) values for each sequence. {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}} indicates that \sphinxcode{\sphinxupquote{pr\_conversions}} is pointing to an array of probing data to probability conversion strategies, and {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gad76a1f9cfbfc795980bbe9c87ec92c5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}}}}} indicates multiple default probabilities for missing data. Bitwise\sphinxhyphen{}OR of the three values renders all of them to be sequence specific.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gaf5db9deaaa290d8147aaa047fc5116ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gad76a1f9cfbfc795980bbe9c87ec92c5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_3}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} 
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} 0\sphinxhyphen{}based array of 1\sphinxhyphen{}based arrays of per\sphinxhyphen{}nucleotide probing data, e.g. SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} 0\sphinxhyphen{}based array of lengths of the \sphinxcode{\sphinxupquote{reactivities}} lists 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n\_seq}} \textendash{} The number of sequences in the MSA 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{betas}} \textendash{} 0\sphinxhyphen{}based array with scaling factors \( \beta \) of the conversion function or the address of a scaling factor to be applied for all data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_conversions}} \textendash{} 0\sphinxhyphen{}based array of flags that specifies how to convert reactivities to probabilities or the address of a conversion strategy to be applied for all data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_defaults}} \textendash{} 0\sphinxhyphen{}based array of default probabilities for a nucleotide where reactivity data is missing for or the address of a single default probability to be applied for all data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{multi\_params}} \textendash{} A flag indicating what is passed through parameters \sphinxcode{\sphinxupquote{betas}}, \sphinxcode{\sphinxupquote{pr\_conversions}}, and \sphinxcode{\sphinxupquote{pr\_defaults}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a data structure containing the probing data and any preparations necessary to use it in {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} according to the method of    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]}  or \sphinxstylestrong{NULL} on any error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_zarringhalam\_trans\_comparative (C function)@\spxentry{vrna\_probing\_data\_zarringhalam\_trans\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_zarringhalam_trans_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gafed242cd606d1273f7362840f13fb116}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_zarringhalam\_trans\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{betas}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr\_defaults}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}zarringhalam.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{The Eddy 2014 Strategy API}
\label{\detokenize{probing/strategies:the-eddy-2014-strategy-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PROBING\_STRATEGY\_EDDY\_OPTIONS\_DEFAULT (C macro)@\spxentry{VRNA\_PROBING\_STRATEGY\_EDDY\_OPTIONS\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_STRATEGY_EDDY_OPTIONS_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gadef68d6c0aa61f11b7b1b757b52d9e15}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_STRATEGY\_EDDY\_OPTIONS\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default options for the    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]} : probing data conversion strategy. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_probing\_strategy\_eddy\_options(), {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, vrna\_probing\_data\_eddy\_trans(), {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}, vrna\_probing\_data\_eddy\_trans\_comparative() 


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PROBING\_STRATEGY\_EDDY\_NO\_TEMPERATURE\_RESCALING (C macro)@\spxentry{VRNA\_PROBING\_STRATEGY\_EDDY\_NO\_TEMPERATURE\_RESCALING}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.VRNA_PROBING_STRATEGY_EDDY_NO_TEMPERATURE_RESCALING}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga80aa1a69a2ccaa8135936d4e303eb478}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_STRATEGY\_EDDY\_NO\_TEMPERATURE\_RESCALING}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prevent temperature dependent energy rescaling in    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]}  strategy. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This option flag forces the probing data conversion strategy to always use the same thermodynamic temperature \( T \), no matter what temperature the predictions are made for.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_probing\_strategy\_eddy\_options(), {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, vrna\_probing\_data\_eddy\_trans(), {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}, vrna\_probing\_data\_eddy\_trans\_comparative() 


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_probing\_strategy\_eddy (C function)@\spxentry{vrna\_probing\_strategy\_eddy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_eddy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga152544fec8fec7e774eacd1f3fdb425e}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_eddy}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{data\_size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{target}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_eddy\_options (C function)@\spxentry{vrna\_probing\_strategy\_eddy\_options}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_eddy_options}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab1a9c04454a66ea557124e3f41b4c8cc}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_eddy\_options}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prior\_unpaired}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{prior\_unpaired\_size}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{prior\_paired}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{prior\_paired\_size}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_strategy\_eddy\_options\_free (C function)@\spxentry{vrna\_probing\_strategy\_eddy\_options\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_strategy_eddy_options_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga02da675fe96c8c2243932502aaf2ce88}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_strategy\_eddy\_options\_free}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_eddy (C function)@\spxentry{vrna\_probing\_data\_eddy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_eddy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}}\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_eddy}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{unpaired\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{unpaired\_len}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{paired\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{paired\_len}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add probing data as soft constraints (Eddy/RNAprob\sphinxhyphen{}2 method). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This approach of probing data directed RNA folding uses the probability framework proposed by    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]} :

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{data}}(i) = - RT\ln(\mathbb{P}(\text{data}(i)\mid x_i\pi_i)) \end{split}
\end{equation*}

\sphinxAtStartPar
to convert probing data to pseudo energies for given nucleotide \( x_i \) and class probability \( \pi_i \) at position \( i \). The conditional probability is taken from a prior\sphinxhyphen{}distribution of probing data for the respective classes.

\sphinxAtStartPar
Here, the method distinguishes exactly two different classes of structural context, (i) unpaired and (ii) paired positions, following the lines of the RNAprob\sphinxhyphen{}2 method of    Deng \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id61}{2016}{]} . The reactivity distribution is computed using Gaussian kernel density estimation (KDE) with bandwidth \( h \) computed using Scott factor

\sphinxAtStartPar
\begin{equation*}
\begin{split} h = n^{-\frac{1}{5}} \end{split}
\end{equation*}

\sphinxAtStartPar
where \( n \) is the number of data points of the prior distribution.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga80aa1a69a2ccaa8135936d4e303eb478}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_STRATEGY\_EDDY\_NO\_TEMPERATURE\_RESCALING}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gadef68d6c0aa61f11b7b1b757b52d9e15}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_STRATEGY\_EDDY\_OPTIONS\_DEFAULT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]}  and    Deng \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id61}{2016}{]} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} A 1\sphinxhyphen{}based vector of probing data, e.g. normalized SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} Length of \sphinxcode{\sphinxupquote{reactivities}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{temperature}} \textendash{} The thermodynamic temperature \( T \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options bit flags to change the behavior of the strategy 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{unpaired\_data}} \textendash{} Pointer to an array of probing data for unpaired nucleotides 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{unpaired\_len}} \textendash{} Length of \sphinxcode{\sphinxupquote{unpaired\_data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{paired\_data}} \textendash{} Pointer to an array of probing data for paired nucleotides 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{paired\_len}} \textendash{} Length of \sphinxcode{\sphinxupquote{paired\_data}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a data structure containing the probing data and any preparations necessary to use it in {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} according to the method of    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]}  or \sphinxstylestrong{NULL} on any error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_eddy\_trans (C function)@\spxentry{vrna\_probing\_data\_eddy\_trans}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_eddy_trans}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gaf681d773eea028999caff3fe9676c833}}\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_eddy\_trans}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{unpaired\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{unpaired\_len}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{paired\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{paired\_len}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_eddy\_comparative (C function)@\spxentry{vrna\_probing\_data\_eddy\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_eddy_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}}\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_eddy\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{unpaired\_datas}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{unpaired\_lens}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{paired\_datas}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{paired\_lens}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add probing data as soft constraints (Eddy/RNAprob\sphinxhyphen{}2 method) for comparative structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, this function prepares a data structure for probing data directed RNA folding. It uses the probability framework proposed by    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]} :

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{data}}(i) = - RT\ln(\mathbb{P}(\text{data}(i)\mid x_i\pi_i)) \end{split}
\end{equation*}

\sphinxAtStartPar
to convert probing data to pseudo energies for given nucleotide \( x_i \) and class probability \( \pi_i \) at position \( i \). The conditional probability is taken from a prior\sphinxhyphen{}distribution of probing data for the respective classes.

\sphinxAtStartPar
This functions purpose is to allow for adding multiple probing data as required for comparative structure predictions over multiple sequence alignments (MSA) with \sphinxcode{\sphinxupquote{n\_seq}} sequences. For that purpose, \sphinxcode{\sphinxupquote{reactivities}} can be provided for any of the sequences in the MSA. Individual probing data is always expected to be specified in sequence coordinates, i.e. without considering gaps in the MSA. Therefore, each set of \sphinxcode{\sphinxupquote{reactivities}} may have a different length as specified the parameter \sphinxcode{\sphinxupquote{n}}. In addition, each set of probing data may undergo the conversion using different prior distributions for unpaired and paired nucleotides. Whether or not multiple sets of conversion priors are provided must be specified using the \sphinxcode{\sphinxupquote{multi\_params}} flag parameter. Use {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}} to indicate that \sphinxcode{\sphinxupquote{unpaired\_datas}} points to an array of unpaired probing data for each sequence. Similarly, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}} indicates that \sphinxcode{\sphinxupquote{paired\_datas}} is pointing to an array paired probing data for each sequence. Bitwise\sphinxhyphen{}OR of the two values renders both parameters to be sequence specific.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1gaf5db9deaaa290d8147aaa047fc5116ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_0}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga06223ef2a11bb23461916bd269081949}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_1}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga3f95e63f8c11768a4c146b8471296a27}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_2}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy_1ga79617a4098fe287edcee01ca0992e3f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PROBING\_METHOD\_MULTI\_PARAMS\_DEFAULT}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]}  and    Deng \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id61}{2016}{]} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} 0\sphinxhyphen{}based array of 1\sphinxhyphen{}based arrays of per\sphinxhyphen{}nucleotide probing data, e.g. SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} 0\sphinxhyphen{}based array of lengths of the \sphinxcode{\sphinxupquote{reactivities}} lists 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n\_seq}} \textendash{} The number of sequences in the MSA 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{temperature}} \textendash{} The thermodynamic temperature \( T \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options bit flags to change the behavior of the strategy 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{unpaired\_datas}} \textendash{} 0\sphinxhyphen{}based array of 0\sphinxhyphen{}based arrays with probing data for unpaired nucleotides or address of a single array of such data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{unpaired\_lens}} \textendash{} 0\sphinxhyphen{}based array of lengths for each probing data array in \sphinxcode{\sphinxupquote{unpaired\_datas}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{paired\_datas}} \textendash{} 0\sphinxhyphen{}based array of 0\sphinxhyphen{}based arrays with probing data for paired nucleotides or address of a single array of such data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{paired\_lens}} \textendash{} 0\sphinxhyphen{}based array of lengths for each probing data array in \sphinxcode{\sphinxupquote{paired\_data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{multi\_params}} \textendash{} A flag indicating what is passed through parameters \sphinxcode{\sphinxupquote{unpaired\_datas}} and \sphinxcode{\sphinxupquote{paired\_datas}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a data structure containing the probing data and any preparations necessary to use it in {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}} according to the method of    Eddy {[}\hyperlink{cite.bibliography:id60}{2014}{]}  or \sphinxstylestrong{NULL} on any error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_eddy\_trans\_comparative (C function)@\spxentry{vrna\_probing\_data\_eddy\_trans\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/strategies:c.vrna_probing_data_eddy_trans_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga42c41ca0cdf4fe17d6cfe063f03bda19}}\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_eddy\_trans\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temperature}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{unpaired\_datas}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{unpaired\_lens}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{paired\_datas}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{paired\_lens}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cb\_preprocess\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/strategy\PYGZus{}eddy.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{SHAPE Reactivity Data}
\label{\detokenize{probing/SHAPE:shape-reactivity-data}}\label{\detokenize{probing/SHAPE::doc}}
\sphinxAtStartPar
Incorporate SHAPE reactivity structure probing data into the folding
recursions by means of soft constraints.

\sphinxAtStartPar
Details for our implementation to incorporate SHAPE reactivity data to guide
secondary structure prediction can be found in Lorenz \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id35}{2016}{]}.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PROBING\_DATA\_CHECK\_SEQUENCE (C macro)@\spxentry{VRNA\_PROBING\_DATA\_CHECK\_SEQUENCE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.VRNA_PROBING_DATA_CHECK_SEQUENCE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga10cd3f02aec34b7e763cae23a56dfa75}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PROBING\_DATA\_CHECK\_SEQUENCE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_SHAPE\_to\_pr (C function)@\spxentry{vrna\_sc\_SHAPE\_to\_pr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_sc_SHAPE_to_pr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga67675b3ed48744489a3bcfa4174197cb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_SHAPE\_to\_pr}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_conversion}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{values}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{default\_value}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert SHAPE reactivity values to probabilities for being unpaired. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function parses the informations from a given file and stores the result in the pre\sphinxhyphen{}allocated string sequence and the {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} array values.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga646ebf45450a69a7f2533f9ecd283a32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_SHAPE\_read()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{shape\_conversion}} \textendash{} String defining the method used for the conversion process 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{values}} \textendash{} Pointer to an array of SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} Length of the array of SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{default\_value}} \textendash{} Result used for position with invalid/missing reactivity values 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_SHAPE\_deigan (C function)@\spxentry{vrna\_sc\_add\_SHAPE\_deigan}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_sc_add_SHAPE_deigan}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1gad609895467d59ea53faac4f98b71c099}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_SHAPE\_deigan}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add SHAPE reactivity data as soft constraints (Deigan et al. method). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This approach of SHAPE directed RNA folding uses the simple linear ansatz

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{SHAPE}}(i) = m \ln(\text{SHAPE reactivity}(i)+1)+ b \end{split}
\end{equation*}

\sphinxAtStartPar
to convert SHAPE reactivity values to pseudo energies whenever a nucleotide \( i \) contributes to a stacked pair. A positive slope \( m \) penalizes high reactivities in paired regions, while a negative intercept \( b \) results in a confirmatory \sphinxstyleemphasis{bonus} free energy for correctly predicted base pairs. Since the energy evaluation of a base pair stack involves two pairs, the pseudo energies are added for all four contributing nucleotides. Consequently, the energy term is applied twice for pairs inside a helix and only once for pairs adjacent to other structures. For all other loop types the energy model remains unchanged even when the experimental data highly disagrees with a certain motif.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000168}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_SHAPE\_deigan()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1gac81478a33880029ca9975bd89cc26fa9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_remove()}}}}}, {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga5a673837ebe42d790bdf3ccf8982d3dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/perturbation:group__perturbation_1ga64d7137ab57964928e7cd1be96d2e1ea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_minimize\_pertubation()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} A vector of normalized SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} The slope of the conversion function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The intercept of the conversion function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_SHAPE\_deigan\_ali (C function)@\spxentry{vrna\_sc\_add\_SHAPE\_deigan\_ali}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_sc_add_SHAPE_deigan_ali}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga2a3fbf037d5e2844792997a92ef36285}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_SHAPE\_deigan\_ali}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{shape\_files}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_file\_association}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add SHAPE reactivity data from files as soft constraints for consensus structure prediction (Deigan et al. method). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000169}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_SHAPE\_deigan\_ali()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan_ali}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan\_ali()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{shape\_files}} \textendash{} A set of filenames that contain normalized SHAPE reactivity data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{shape\_file\_association}} \textendash{} An array of integers that associate the files with sequences in the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} \textendash{} The slope of the conversion function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The intercept of the conversion function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_SHAPE\_zarringhalam (C function)@\spxentry{vrna\_sc\_add\_SHAPE\_zarringhalam}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_sc_add_SHAPE_zarringhalam}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga5a673837ebe42d790bdf3ccf8982d3dc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_SHAPE\_zarringhalam}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{default\_value}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_conversion}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add SHAPE reactivity data as soft constraints (Zarringhalam et al. method). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This method first converts the observed SHAPE reactivity of nucleotide \( i \) into a probability \( q_i \) that position \( i \) is unpaired by means of a non\sphinxhyphen{}linear map. Then pseudo\sphinxhyphen{}energies of the form

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{SHAPE}}(x,i) = \beta\ |x_i - q_i| \end{split}
\end{equation*}

\sphinxAtStartPar
are computed, where \( x_i=0 \) if position \( i \) is unpaired and \( x_i=1 \) if \( i \) is paired in a given secondary structure. The parameter \( \beta \) serves as scaling factor. The magnitude of discrepancy between prediction and experimental observation is represented by \( |x_i - q_i| \).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000170}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_SHAPE\_zarringhalam()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_zarringhalam()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1gac81478a33880029ca9975bd89cc26fa9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_remove()}}}}}, {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1gad609895467d59ea53faac4f98b71c099}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_deigan()}}}}}, {\hyperref[\detokenize{probing/perturbation:group__perturbation_1ga64d7137ab57964928e7cd1be96d2e1ea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_minimize\_pertubation()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]} 
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} A vector of normalized SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The scaling factor \( \beta \) of the conversion function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{default\_value}} \textendash{} The default value for a nucleotide where reactivity data is missing for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{shape\_conversion}} \textendash{} A flag that specifies how to convert reactivities to probabilities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options flag indicating how/where to store the soft constraints 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_add\_SHAPE\_eddy\_2 (C function)@\spxentry{vrna\_sc\_add\_SHAPE\_eddy\_2}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_sc_add_SHAPE_eddy_2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga41b1e8f2f4c82d7bd515ec452b4024cb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_SHAPE\_eddy\_2}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{unpaired\_nb}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{unpaired\_data}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{paired\_nb}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{paired\_data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add SHAPE reactivity data as soft constraints (Eddy/RNAprob\sphinxhyphen{}2 method). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This approach of SHAPE directed RNA folding uses the probability framework proposed by Eddy

\sphinxAtStartPar
\begin{equation*}
\begin{split} \Delta G_{\text{SHAPE}}(i) = - RT\ln(\mathbb{P}(\text{SHAPE reactivity}(i)\mid x_i\pi_i))+ \end{split}
\end{equation*}

\sphinxAtStartPar
to convert SHAPE reactivity values to pseudo energies for given nucleotide \( x_i \) and pairedness \( \pi_i \) at position \( i \). The reactivity distribution is computed using Gaussian kernel density estimation (KDE) with bandwidth \( h \) computed using Scott factor

\sphinxAtStartPar
\begin{equation*}
\begin{split} h = n^{-\frac{1}{5}} \end{split}
\end{equation*}

\sphinxAtStartPar
where \( n \) is the number of data points.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the soft constraints are associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} \textendash{} A vector of normalized SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{unpaired\_nb}} \textendash{} Length of the array of unpaired SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{unpaired\_data}} \textendash{} Pointer to an array of unpaired SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{paired\_nb}} \textendash{} Length of the array of paired SHAPE reactivities 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{paired\_data}} \textendash{} Pointer to an array of paired SHAPE reactivities 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_SHAPE\_parse\_method (C function)@\spxentry{vrna\_sc\_SHAPE\_parse\_method}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_sc_SHAPE_parse_method}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga71b84eb0dd69e5c256f4ecf8f78cf314}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_SHAPE\_parse\_method}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{method\_string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{method}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{param\_1}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{param\_2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Parse a character string and extract the encoded SHAPE reactivity conversion method and possibly the parameters for conversion into pseudo free energies. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{method\_string}} \textendash{} The string that contains the encoded SHAPE reactivity conversion method 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{method}} \textendash{} A pointer to the memory location where the method character will be stored 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{param\_1}} \textendash{} A pointer to the memory location where the first parameter of the corresponding method will be stored 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{param\_2}} \textendash{} A pointer to the memory location where the second parameter of the corresponding method will be stored 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_constraints\_add\_SHAPE\_ali (C function)@\spxentry{vrna\_constraints\_add\_SHAPE\_ali}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_constraints_add_SHAPE_ali}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga1b402c8ff2d77abc957faca66da9378d}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_constraints\_add\_SHAPE\_ali}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_method}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{shape\_files}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_file\_association}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbose}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{constraint\_type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_constraints\_add\_SHAPE (C function)@\spxentry{vrna\_constraints\_add\_SHAPE}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/SHAPE:c.vrna_constraints_add_SHAPE}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga2fc1bede8b6ccf153c2a2bbbb0c08646}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_constraints\_add\_SHAPE}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_file}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_method}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{shape\_conversion}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{verbose}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{constraint\_type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/SHAPE.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Generate Soft Constraints from Data}
\label{\detokenize{probing/perturbation:generate-soft-constraints-from-data}}\label{\detokenize{probing/perturbation::doc}}
\sphinxAtStartPar
Find a vector of perturbation energies that minimizes the discripancies between
predicted and observed pairing probabilities and the amount of neccessary adjustments.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_OBJECTIVE\_FUNCTION\_QUADRATIC (C macro)@\spxentry{VRNA\_OBJECTIVE\_FUNCTION\_QUADRATIC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_OBJECTIVE_FUNCTION_QUADRATIC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1ga81e10993d1ae728e4e02022b33155a12}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OBJECTIVE\_FUNCTION\_QUADRATIC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use the sum of squared aberrations as objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\( F(\vec\epsilon) = \sum_{i = 1}^n{ \frac{\epsilon_i^2}{\tau^2} } + \sum_{i = 1}^n{ \frac{(p_i(\vec\epsilon) - q_i)^2}{\sigma^2} } \to min \)

\end{fulllineitems}

\index{VRNA\_OBJECTIVE\_FUNCTION\_ABSOLUTE (C macro)@\spxentry{VRNA\_OBJECTIVE\_FUNCTION\_ABSOLUTE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_OBJECTIVE_FUNCTION_ABSOLUTE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1gac070dfb9cafaeb14d5652bd9adf0f6b1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OBJECTIVE\_FUNCTION\_ABSOLUTE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use the sum of absolute aberrations as objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\( F(\vec\epsilon) = \sum_{i = 1}^n{ \frac{|\epsilon_i|}{\tau^2} } + \sum_{i = 1}^n{ \frac{|p_i(\vec\epsilon) - q_i|}{\sigma^2} } \to min \)

\end{fulllineitems}

\index{VRNA\_MINIMIZER\_DEFAULT (C macro)@\spxentry{VRNA\_MINIMIZER\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_MINIMIZER_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1gae5126200d80dbb282f46083fffc606bf}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MINIMIZER\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use a custom implementation of the gradient descent algorithm to minimize the objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MINIMIZER\_CONJUGATE\_FR (C macro)@\spxentry{VRNA\_MINIMIZER\_CONJUGATE\_FR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_MINIMIZER_CONJUGATE_FR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1gab1d89db58e8c497795a5005f5dbc8c4a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MINIMIZER\_CONJUGATE\_FR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use the GNU Scientific Library implementation of the Fletcher\sphinxhyphen{}Reeves conjugate gradient algorithm to minimize the objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Please note that this algorithm can only be used when the GNU Scientific Library is available on your system 

\end{fulllineitems}

\index{VRNA\_MINIMIZER\_CONJUGATE\_PR (C macro)@\spxentry{VRNA\_MINIMIZER\_CONJUGATE\_PR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_MINIMIZER_CONJUGATE_PR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1ga5aaeafe1b0aa77a5cda18943ff94b02f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MINIMIZER\_CONJUGATE\_PR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use the GNU Scientific Library implementation of the Polak\sphinxhyphen{}Ribiere conjugate gradient algorithm to minimize the objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Please note that this algorithm can only be used when the GNU Scientific Library is available on your system 

\end{fulllineitems}

\index{VRNA\_MINIMIZER\_VECTOR\_BFGS (C macro)@\spxentry{VRNA\_MINIMIZER\_VECTOR\_BFGS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_MINIMIZER_VECTOR_BFGS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1ga9be8a702cddf58235571ace11cc41b22}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MINIMIZER\_VECTOR\_BFGS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use the GNU Scientific Library implementation of the vector Broyden\sphinxhyphen{}Fletcher\sphinxhyphen{}Goldfarb\sphinxhyphen{}Shanno algorithm to minimize the objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Please note that this algorithm can only be used when the GNU Scientific Library is available on your system 

\end{fulllineitems}

\index{VRNA\_MINIMIZER\_VECTOR\_BFGS2 (C macro)@\spxentry{VRNA\_MINIMIZER\_VECTOR\_BFGS2}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_MINIMIZER_VECTOR_BFGS2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1ga7b0a65c6c92fa1d8012383ba9d3dcb4f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MINIMIZER\_VECTOR\_BFGS2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use the GNU Scientific Library implementation of the vector Broyden\sphinxhyphen{}Fletcher\sphinxhyphen{}Goldfarb\sphinxhyphen{}Shanno algorithm to minimize the objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Please note that this algorithm can only be used when the GNU Scientific Library is available on your system 

\end{fulllineitems}

\index{VRNA\_MINIMIZER\_STEEPEST\_DESCENT (C macro)@\spxentry{VRNA\_MINIMIZER\_STEEPEST\_DESCENT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.VRNA_MINIMIZER_STEEPEST_DESCENT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1ga9ecd2144c2ebed7533233da3986521b0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MINIMIZER\_STEEPEST\_DESCENT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use the GNU Scientific Library implementation of the steepest descent algorithm to minimize the objective function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Please note that this algorithm can only be used when the GNU Scientific Library is available on your system 

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{progress\_callback (C type)@\spxentry{progress\_callback}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.progress_callback}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1gaa715397c7afd2d2955c315512a3d571a}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{progress\_callback}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{iteration}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{score}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{epsilon}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback for following the progress of the minimization process. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Param iteration}
\sphinxAtStartPar
The number of the current iteration 

\sphinxlineitem{Param score}
\sphinxAtStartPar
The score of the objective function 

\sphinxlineitem{Param epsilon}
\sphinxAtStartPar
The perturbation vector yielding the reported score 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_minimize\_pertubation (C function)@\spxentry{vrna\_sc\_minimize\_pertubation}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing/perturbation:c.vrna_sc_minimize_pertubation}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing/perturbation:group__perturbation_1ga64d7137ab57964928e7cd1be96d2e1ea}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_minimize\_pertubation}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{q\_prob\_unpaired}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{objective\_function}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{sigma\_squared}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{tau\_squared}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{algorithm}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{sample\_size}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{epsilon}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{initialStepSize}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{minStepSize}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{minImprovement}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{minimizerTolerance}\sphinxparamcomma {\hyperref[\detokenize{probing/perturbation:c.progress_callback}]{\sphinxcrossref{\DUrole{n}{progress\_callback}}}}\DUrole{w}{ }\DUrole{n}{callback}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find a vector of perturbation energies that minimizes the discripancies between predicted and observed pairing probabilities and the amount of neccessary adjustments. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/perturbation\PYGZus{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use an iterative minimization algorithm to find a vector of perturbation energies whose incorporation as soft constraints shifts the predicted pairing probabilities closer to the experimentally observed probabilities. The algorithm aims to minimize an objective function that penalizes discripancies between predicted and observed pairing probabilities and energy model adjustments, i.e. an appropriate vector of perturbation energies satisfies

\sphinxAtStartPar
\begin{equation*}
\begin{split}F(\vec\epsilon) = \sum_{\mu}{ \frac{\epsilon_{\mu}^2}{\tau^2} } + \sum_{i =
1}^n{ \frac{(p_i(\vec\epsilon) - q_i)^2}{\sigma^2} } \to \min.
\end{split}
\end{equation*}

\sphinxAtStartPar
An initialized fold compound and an array containing the observed probability for each nucleotide to be unbound are required as input data. The parameters objective\_function, sigma\_squared and tau\_squared are responsible for adjusting the aim of the objective function. Dependend on which type of objective function is selected, either squared or absolute aberrations are contributing to the objective function. The ratio of the parameters sigma\_squared and tau\_squared can be used to adjust the algorithm to find a solution either close to the thermodynamic prediction (sigma\_squared \textgreater{}\textgreater{} tau\_squared) or close to the experimental data (tau\_squared \textgreater{}\textgreater{} sigma\_squared). The minimization can be performed by makeing use of a custom gradient descent implementation or using one of the minimizing algorithms provided by the GNU Scientific Library. All algorithms require the evaluation of the gradient of the objective function, which includes the evaluation of conditional pairing probabilites. Since an exact evaluation is expensive, the probabilities can also be estimated from sampling by setting an appropriate sample size. The found vector of perturbation energies will be stored in the array epsilon. The progress of the minimization process can be tracked by implementing and passing a callback function.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
For further details we refer to    Washietl \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id7}{2012}{]} .


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} Pointer to a fold compound 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{q\_prob\_unpaired}} \textendash{} Pointer to an array containing the probability to be unpaired for each nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{objective\_function}} \textendash{} The type of objective function to be used (VRNA\_OBJECTIVE\_FUNCTION\_QUADRATIC / VRNA\_OBJECTIVE\_FUNCTION\_LINEAR) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sigma\_squared}} \textendash{} A factor used for weighting the objective function. More weight on this factor will lead to a solution close to the null vector. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{tau\_squared}} \textendash{} A factor used for weighting the objective function. More weight on this factor will lead to a solution close to the data provided in q\_prob\_unpaired. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{algorithm}} \textendash{} The minimization algorithm (VRNA\_MINIMIZER\_*) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sample\_size}} \textendash{} The number of sampled sequences used for estimating the pairing probabilities. A value \textless{}= 0 will lead to an exact evaluation. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{epsilon}} \textendash{} A pointer to an array used for storing the calculated vector of perturbation energies 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{callback}} \textendash{} A pointer to a callback function used for reporting the current minimization progress 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsection{Structure Probing Data Workflow}
\label{\detokenize{probing_data:structure-probing-data-workflow}}
\sphinxAtStartPar
Our implementations follow a particular workflow that basically divides the application
of the structure probing data into three steps:
\begin{itemize}
\item {} 
\sphinxAtStartPar
Pre\sphinxhyphen{}processing of the probing data

\item {} 
\sphinxAtStartPar
Conversion of the pre\sphinxhyphen{}processed data into pseudo energy contributions

\item {} 
\sphinxAtStartPar
Passing the pseudo energies to the soft\sphinxhyphen{}constraints interface

\end{itemize}

\sphinxAtStartPar
The first two steps are handled by a dedicated \sphinxstylestrong{strategy}, that basically is a
single callback function ({\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_probing\_strategy\_f}}}}}). Then, the probing data and
the strategy need to be bundled, e.g. by {\hyperref[\detokenize{probing_data:c.vrna_probing_data_linear}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_probing\_data\_linear()}}}}}, to obtain
a data structure of type {\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_probing\_data\_t}}}}}. This data structure is then passed
to the {\hyperref[\detokenize{probing_data:c.vrna_sc_probing}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_sc\_probing()}}}}} function that performs the last of the three steps by
calling the strategy to process the data and adding the derived pseudo energy
contributions as soft constraints.

\sphinxAtStartPar
We already implemented a few different strategies that can be used out\sphinxhyphen{}of\sphinxhyphen{}the\sphinxhyphen{}box, i.e.
we provide wrappers that generate the bundled data structure for a particular strategy.
The available API symbols can be found in {\hyperref[\detokenize{probing/strategies::doc}]{\sphinxcrossref{\DUrole{doc}{Strategies for Linear Data}}}}.

\sphinxAtStartPar
However, the generic interface allows for any user\sphinxhyphen{}defined strategy, thus new
strategies can be easily implemented by the user and then passed to our API.

\sphinxAtStartPar
After all the above three steps are done, any prediction (MFE, partition function, etc.)
will acknowledge the probing data and therefore guide the prediction based on it.

\sphinxAtStartPar
In the following, you’ll find the respective API symbols that allow for the integration
of experimental probing data.


\subsection{Generic Probing Data API}
\label{\detokenize{probing_data:generic-probing-data-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{probing_data:group__probing__data}}}
\pysigstopsignatures
\sphinxAtStartPar
Include Experimental Structure Probing Data to Guide Structure Predictions. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_REACTIVITY\_MISSING (C macro)@\spxentry{VRNA\_REACTIVITY\_MISSING}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.VRNA_REACTIVITY_MISSING}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga43bcfc61b4c0f74c3953514030026359}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_REACTIVITY\_MISSING}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_probing\_data\_t (C type)@\spxentry{vrna\_probing\_data\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A data structure that contains RNA structure probing data and specifies how this data is to be integrated into structure predictions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_probing (C function)@\spxentry{vrna\_sc\_probing}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_sc_probing}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_probing}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply probing data (e.g. SHAPE) to guide the structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{sc\_probing()} to objects of type \sphinxstylestrong{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_probing}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_probing()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_free()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the probing data should be applied to in subsequent computations 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The prepared probing data and probing data integration strategy 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of probing data sets applied, 0 upon any error

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_linear (C function)@\spxentry{vrna\_probing\_data\_linear}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_linear}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga3fbf33f3186349abbdb3fc903517a6e5}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_linear}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{data\_length}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data\_weights}\sphinxparamcomma {\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_f}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{strategy\_cb\_options}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{strategy\_cb\_options\_free}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_linear\_multi (C function)@\spxentry{vrna\_probing\_data\_linear\_multi}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_linear_multi}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga457cb9571afa26fabf5869e911d3066e}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_linear\_multi}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{data\_size}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data\_lengths}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{data\_weights}\sphinxparamcomma {\hyperref[\detokenize{probing/strategies:c.vrna_probing_strategy_f}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_strategy\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{strategy\_cbs}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{strategy\_cbs\_options}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{strategy\_cbs\_options\_free}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_free (C function)@\spxentry{vrna\_probing\_data\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga8c8e987c91b357fd09913f356f5d25da}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_free}}}}
{{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\DUrole{n}{d}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by the (prepared) probing data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1gacf014a1ab73e49cde659fc441d59e38b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__deigan_1ga83a8ff8d6404614f9d17d37e6244349c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_deigan\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1gaa68eaff93fd3c628ed25ca5fdfc5264b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__zarringhalam_1ga166a5a5d9f6effde96fc1b79a17a003a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_zarringhalam\_comparative()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1ga6238432ed277208b3034b917886e200b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy()}}}}}, {\hyperref[\detokenize{probing/strategies:group__probing__data__strategy__eddy_1gab4db5191cddaa5d34861affcab95353d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_eddy\_comparative()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_probing\_data\_linear\_num (C function)@\spxentry{vrna\_probing\_data\_linear\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_linear_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1gacd283b537e295bb5bb062baa87478b7d}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_linear\_num}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the number of structure probing data sets. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_probing\_data\_linear(), vrna\_probing\_data\_linear\_multi()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data structure storing the probing data 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of probing data sets stored in \sphinxcode{\sphinxupquote{data}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_linear\_raw (C function)@\spxentry{vrna\_probing\_data\_linear\_raw}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_linear_raw}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga9212fc3506c577ffb05d508e338765da}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_linear\_raw}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pos}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the raw probing data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function retrieves a copy of the structure probing data set number \sphinxcode{\sphinxupquote{pos}} as stored in \sphinxcode{\sphinxupquote{data}}. The number of values returned by this function is stored in \sphinxcode{\sphinxupquote{data\_size}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_probing\_data\_linear(), vrna\_probing\_data\_linear\_multi(), {\hyperref[\detokenize{probing_data:group__probing__data_1gacd283b537e295bb5bb062baa87478b7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_num()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaf5179144fdf760cac504194ea4dd11e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_weight()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaf80921b720127a164a8f8b6237bf5103}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_energies()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data structure storing the probing data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pos}} \textendash{} The position of the data set 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_size}} \textendash{} A pointer to a variable to store the number of returned values to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the \sphinxcode{\sphinxupquote{pos}} \sphinxhyphen{}th probing data set stored in \sphinxcode{\sphinxupquote{data}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_linear\_weight (C function)@\spxentry{vrna\_probing\_data\_linear\_weight}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_linear_weight}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1gaf5179144fdf760cac504194ea4dd11e1}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_linear\_weight}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pos}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the weights for a probing data set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_probing\_data\_linear(), vrna\_probing\_data\_linear\_multi(), {\hyperref[\detokenize{probing_data:group__probing__data_1gacd283b537e295bb5bb062baa87478b7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_num()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga9212fc3506c577ffb05d508e338765da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_raw()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaf80921b720127a164a8f8b6237bf5103}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_energies()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data structure storing the probing data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pos}} \textendash{} The position of the weights vector 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_size}} \textendash{} A pointer to a variable to store the number of returned values to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the \sphinxcode{\sphinxupquote{pos}} \sphinxhyphen{}th weighting vector stored in \sphinxcode{\sphinxupquote{data}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_linear\_energies (C function)@\spxentry{vrna\_probing\_data\_linear\_energies}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_linear_energies}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1gaf80921b720127a164a8f8b6237bf5103}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_linear\_energies}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_probing\_data\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pos}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{target}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get pseudo energy contributions from a structure probing data set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function retrieves a vector of pseudo energies derived from a set of structure probing data stored in \sphinxcode{\sphinxupquote{data}}. For that, the function calls the probing data strategy that is associated with \sphinxcode{\sphinxupquote{data}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_probing\_data\_linear(), vrna\_probing\_data\_linear\_multi(), {\hyperref[\detokenize{probing_data:group__probing__data_1gacd283b537e295bb5bb062baa87478b7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_num()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1ga9212fc3506c577ffb05d508e338765da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_raw()}}}}}, {\hyperref[\detokenize{probing_data:group__probing__data_1gaf5179144fdf760cac504194ea4dd11e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_linear\_weight()}}}}}, \#VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_STACK, \#VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_UP, \#VRNA\_PROBING\_DATA\_LINEAR\_TARGET\_BP


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data structure storing the probing data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pos}} \textendash{} The position of the weights vector 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound that will be passed through to the conversion strategy 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{target}} \textendash{} The target, i.e. the structure context the pseudo energies should be applied to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_size}} \textendash{} A pointer to a variable to store the number of returned values to 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An array of pseudo energies (1\sphinxhyphen{}based) or \sphinxstylestrong{NULL}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_probing\_data\_load\_n\_distribute (C function)@\spxentry{vrna\_probing\_data\_load\_n\_distribute}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_load_n_distribute}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga988b71c2c52fd79547f2ee08761bbc00}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_load\_n\_distribute}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ns}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{file\_names}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file\_name\_association}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_Deigan2009 (C function)@\spxentry{vrna\_probing\_data\_Deigan2009}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_Deigan2009}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga61d0ed331813bfe657777f27e4b0fbf9}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_Deigan2009}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{m}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000167}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function exists in two forms, (i) as overloaded function \sphinxstylestrong{probing\_data\_Deigan2009()} and (ii) as constructor of the \sphinxstylestrong{probing\_data} object. For the former the second argument \sphinxcode{\sphinxupquote{n}} can be omitted since the length of the \sphinxcode{\sphinxupquote{reactivities}} list is determined from the list itself. When the \#vrna\_probing\_data\_s constructor is called with the three parameters \sphinxcode{\sphinxupquote{reactivities}}, \sphinxcode{\sphinxupquote{m}} and \sphinxcode{\sphinxupquote{b}}, it will automatically create a prepared data structure for the Deigan et al. 2009 method. See, e.g.    \sphinxcode{\sphinxupquote{RNA.probing\_data\_Deigan2009()}} and {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_probing\_data\_Deigan2009\_comparative (C function)@\spxentry{vrna\_probing\_data\_Deigan2009\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_Deigan2009_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga25652778747587fceb6b709689427696}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_Deigan2009\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ms}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bs}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_Zarringhalam2012 (C function)@\spxentry{vrna\_probing\_data\_Zarringhalam2012}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_Zarringhalam2012}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga69edb23a6f761ae2d581acf4d445761d}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_Zarringhalam2012}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{beta}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr\_conversion}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{pr\_default}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_Zarringhalam2012\_comparative (C function)@\spxentry{vrna\_probing\_data\_Zarringhalam2012\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_Zarringhalam2012_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1gacefd5018911a740a3152d907ed0474b9}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_Zarringhalam2012\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{betas}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{pr\_conversions}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr\_defaults}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_Eddy2014\_2 (C function)@\spxentry{vrna\_probing\_data\_Eddy2014\_2}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_Eddy2014_2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1ga0658e4900d62cf170a5a9326fcb509ea}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_Eddy2014\_2}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{unpaired\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{unpaired\_len}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{paired\_data}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{paired\_len}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_probing\_data\_Eddy2014\_2\_comparative (C function)@\spxentry{vrna\_probing\_data\_Eddy2014\_2\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{probing_data:c.vrna_probing_data_Eddy2014_2_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{probing_data:group__probing__data_1gaafbab72832aa117e8634130578bf16a5}}{\hyperref[\detokenize{probing_data:c.vrna_probing_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_probing\_data\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_probing\_data\_Eddy2014\_2\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{reactivities}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{unpaired\_datas}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{unpaired\_lens}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{paired\_datas}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{paired\_lens}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{multi\_params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/probing/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\section{Ligands Binding to RNA Structures}
\label{\detokenize{ligand_binding:ligands-binding-to-rna-structures}}\label{\detokenize{ligand_binding::doc}}
\sphinxAtStartPar
In our library, we provide two different ways to incorporate binding of small molecules
and proteins to specific RNA structures:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{ligands/unstructured_domains::doc}]{\sphinxcrossref{\DUrole{doc}{Ligands Binding to Unstructured Domains}}}}, and

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{ligands/constraints::doc}]{\sphinxcrossref{\DUrole{doc}{Incorporating Ligands Binding to Specific Sequence/Structure Motifs}}}}

\end{itemize}

\sphinxAtStartPar
The first approach is implemented as an actual extension of the folding grammar. It adds
auxiliary derivation rules for each case when consecutive unpaired nucleotides are evaluated.
Therefore, this model is applicable to ligand binding to any loop context.

\sphinxAtStartPar
The second approach, on the other hand, uses the soft\sphinxhyphen{}constraints feature to change the energy
evaluation of hairpin\sphinxhyphen{} or internal\sphinxhyphen{}loops. Hence, it can only be appleid when a ligand binds to
a hairpin\sphinxhyphen{}like, or internal\sphinxhyphen{}loop like motif.

\sphinxstepscope


\subsection{Ligands Binding to Unstructured Domains}
\label{\detokenize{ligands/unstructured_domains:ligands-binding-to-unstructured-domains}}\label{\detokenize{ligands/unstructured_domains::doc}}
\sphinxAtStartPar
Add ligand binding to loop regions using the {\hyperref[\detokenize{grammar/domains_up::doc}]{\sphinxcrossref{\DUrole{doc}{Unstructured Domains}}}} feature.

\sphinxAtStartPar
Sometime, certain ligands, like single strand binding (SSB) proteins, compete with intramolecular
base pairing of the RNA. In situations, where the dissociation constant of the ligand is known and
the ligand binds to a consecutive stretch of single\sphinxhyphen{}stranded nucleotides we can use the {\hyperref[\detokenize{grammar/domains_up::doc}]{\sphinxcrossref{\DUrole{doc}{Unstructured Domains}}}}
functionality to extend the RNA folding grammar. This module provides a convenience default implementation
that covers most of the application scenarios.

\sphinxAtStartPar
The function {\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_add_motif}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_ud\_add\_motif()}}}}} attaches a ligands sequence motif and corresponding
binding free energy to the list of known ligand motifs within the \sphinxcode{\sphinxupquote{domains\_up}} attribute of
{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}}. The first call to this function initializes the {\hyperref[\detokenize{grammar/domains_up::doc}]{\sphinxcrossref{\DUrole{doc}{Unstructured Domains}}}}
feature with our default implementation. Subsequent calls of secondary structure prediction
algorithms with the modified {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}} then directly include the competition
of the ligand with regules base pairing. Since we utilize the unstructured domain extension,
The ligand binding model can be removed again using the {\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_ud\_remove()}}}}} function.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{ligands/unstructured_domains:group__ligands__up}}}
\pysigstopsignatures
\end{fulllineitems}


\sphinxstepscope


\subsection{Incorporating Ligands Binding to Specific Sequence/Structure Motifs}
\label{\detokenize{ligands/constraints:incorporating-ligands-binding-to-specific-sequence-structure-motifs}}\label{\detokenize{ligands/constraints::doc}}
\sphinxAtStartPar
Ligand binding to specific hairpin/internal loop like motifs using
the {\hyperref[\detokenize{grammar/constraints/soft::doc}]{\sphinxcrossref{\DUrole{doc}{Soft Constraints}}}} feature.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:group__constraints__ligand}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_sc\_motif\_t (C type)@\spxentry{vrna\_sc\_motif\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_motif_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:group__constraints__ligand_1ga56615bc45d2aa4d6d3326fb74183c9ac}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{ligands/constraints:c.vrna_sc_motif_s}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_motif\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_motif\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Type definition for soft constraint motif. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_add\_hi\_motif (C function)@\spxentry{vrna\_sc\_add\_hi\_motif}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_add_hi_motif}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{ligands/constraints:group__constraints__ligand_1ga2bd49930c9695b2f4b85989d1daa62d3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_add\_hi\_motif}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for hairpin or internal loop binding motif. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Here is an example that adds a theophylline binding motif. Free energy contribution is derived from \(k_d = 0.1 \mu M\), taken from Jenison et al. 1994. At \(1M\) concentration the corresponding binding free energy amounts to \(-9.93~kcal/mol\).

\sphinxAtStartPar
\sphinxincludegraphics{{theo_aptamer1}.png}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}sc\PYGZus{}add\PYGZus{}hi\PYGZus{}motif}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}
\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{GAUACCAG\PYGZam{}CCCUUGGCAGC}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{(...((((\PYGZam{})...)))...)}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
\PYG{+w}{                     }\PYG{l+m+mf}{\PYGZhy{}9.93}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000043}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_hi\_motif()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The last parameter is optional an defaults to \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_hi_motif}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_hi\_motif()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the motif is applied to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The sequence motif (may be interspaced by ‘\&’ character 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The structure motif (may be interspaced by ‘\&’ character 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The free energy of the motif (e.g. binding free energy) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
non\sphinxhyphen{}zero value if application of the motif using soft constraints was successful

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_ligand\_detect\_motifs (C function)@\spxentry{vrna\_sc\_ligand\_detect\_motifs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_ligand_detect_motifs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{ligands/constraints:group__constraints__ligand_1ga07bd6a7f23a2d559bcec021e03805daa}}{\hyperref[\detokenize{ligands/constraints:c.vrna_sc_motif_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_motif\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_ligand\_detect\_motifs}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_ligand\_get\_all\_motifs (C function)@\spxentry{vrna\_sc\_ligand\_get\_all\_motifs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_ligand_get_all_motifs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{ligands/constraints:group__constraints__ligand_1ga20c8604a3074bfaec21979c5ce545460}}{\hyperref[\detokenize{ligands/constraints:c.vrna_sc_motif_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_motif\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_ligand\_get\_all\_motifs}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_sc\_motif\_s (C struct)@\spxentry{vrna\_sc\_motif\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_motif_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:structvrna__sc__motif__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_motif\_s}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_sc\_motif\_s.i (C var)@\spxentry{vrna\_sc\_motif\_s.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_motif_s.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:structvrna__sc__motif__s_1abd830969e3c6339bb6a803a37e40f948}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_motif\_s.j (C var)@\spxentry{vrna\_sc\_motif\_s.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_motif_s.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:structvrna__sc__motif__s_1a74979b222e2894636f21d95784ce834d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_motif\_s.k (C var)@\spxentry{vrna\_sc\_motif\_s.k}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_motif_s.k}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:structvrna__sc__motif__s_1a9af97e01f420a4d58f6417665319bba8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_motif\_s.l (C var)@\spxentry{vrna\_sc\_motif\_s.l}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_motif_s.l}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:structvrna__sc__motif__s_1a398f193e77654a7b0f95e419b0609e46}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{l}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sc\_motif\_s.number (C var)@\spxentry{vrna\_sc\_motif\_s.number}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{ligands/constraints:c.vrna_sc_motif_s.number}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{ligands/constraints:structvrna__sc__motif__s_1aa0e0d0d6f318220f557b6cd75db7f386}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{number}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/ligand.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{ligand_binding:group__ligand__binding}}\sphinxstyleemphasis{group} \sphinxbfcode{\sphinxupquote{Ligands~Binding~to~RNA~Structures}}}
\pysigstopsignatures
\sphinxAtStartPar
Simple Extensions to Model Ligand Binding to RNA Structures. 

\end{fulllineitems}


\sphinxstepscope


\section{Structure Modules and Pseudoknots}
\label{\detokenize{paired_modules:structure-modules-and-pseudoknots}}\label{\detokenize{paired_modules::doc}}
\sphinxstepscope


\subsection{Pseudoknots}
\label{\detokenize{modules/pseudoknots:pseudoknots}}\label{\detokenize{modules/pseudoknots::doc}}
\sphinxAtStartPar
Implementations to predict pseudoknotted structures.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_pk\_plex\_score\_f (C type)@\spxentry{vrna\_pk\_plex\_score\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_score_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1gaa3c616a490113feba261bed7a92981eb}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_score\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start\_5}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end\_5}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start\_3}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end\_3}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pseudoknot loop scoring function prototype. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is used to evaluate a formed pseudoknot (PK) interaction in {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}. It is supposed to take a PK\sphinxhyphen{}free secondary structure as input and coordinates of an additional interaction site. From this data, the energy (penalty) to score the PK loop is derived and returned in decakal/mol. Upon passing zero in any of the interaction site coordinates (\sphinxcode{\sphinxupquote{start\_5}}, \sphinxcode{\sphinxupquote{end\_5}}, \sphinxcode{\sphinxupquote{start\_3}}, \sphinxcode{\sphinxupquote{end\_3}}) or a \sphinxstyleemphasis{NULL} pointer in \sphinxcode{\sphinxupquote{pt}}, the function must return a PK loop score. This minimum PK loop score is used in the first phase of the heuristic implemented in {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}} to assess whether a particular interaction is further taken into account in a later, more thorough evaluation step.

\sphinxAtStartPar
The simplest scoring function would simply return a constant score for any PK loop, no matter what type of loop is formed and how large the loop is. This is the default if {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gaa6a5f5e20804ba729134eb8ad0c8da54}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_defaults()}}}}} or {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga8f224a6aa666fd7444b225f676471992}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt()}}}}} is used to generate options for {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga7209e5212f611aa1c06b1609da696d35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_fun()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param pt}
\sphinxAtStartPar
The secondary structure (without pseudoknot) in pair table notation 

\sphinxlineitem{Param start\_5}
\sphinxAtStartPar
The start coordinate of the 5’ site of the pseudoknot interaction 

\sphinxlineitem{Param end\_5}
\sphinxAtStartPar
The end coordinate of the 5’ site of the pseudoknot interaction 

\sphinxlineitem{Param start\_3}
\sphinxAtStartPar
The start coordinate of the 3’ site of the pseudoknot interaction 

\sphinxlineitem{Param end\_3}
\sphinxAtStartPar
The end coordinate of the 3’ site of the pseudoknot interaction 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary data structure passed from the calling function 

\sphinxlineitem{Return}
\sphinxAtStartPar
The energy (penalty) of the resulting pseudoknot 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_pk\_plex\_score (C type)@\spxentry{vrna\_callback\_pk\_plex\_score}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_callback_pk_plex_score}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1ga28c559c321ff78d351481fc0aa0a09b8}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_pk\_plex\_score}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start\_5}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end\_5}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start\_3}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end\_3}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_opt\_t (C type)@\spxentry{vrna\_pk\_plex\_opt\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1gab5afc6c459727dbdc37257711f062090}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_pk\_plex\_option\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_opt\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
RNA PKplex options object. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gaa6a5f5e20804ba729134eb8ad0c8da54}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_defaults()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga8f224a6aa666fd7444b225f676471992}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga7209e5212f611aa1c06b1609da696d35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_fun()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gaa3c616a490113feba261bed7a92981eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_score\_f}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_pk\_plex\_t (C type)@\spxentry{vrna\_pk\_plex\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1ga4b505034ccee4de966519afe8b3c120f}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s}]{\sphinxcrossref{\DUrole{n}{vrna\_pk\_plex\_result\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convenience typedef for results of the RNA PKplex prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\#vrna\_pk\_plex\_results\_s, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_pk\_plex (C function)@\spxentry{vrna\_pk\_plex}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}}{\hyperref[\detokenize{modules/pseudoknots:c.vrna_pk_plex_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pk\_plex\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{accessibility}\sphinxparamcomma {\hyperref[\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pk\_plex\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Predict Pseudoknot interactions in terms of a two\sphinxhyphen{}step folding process. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Computes simple pseudoknot interactions according to the PKplex algorithm. This simple heuristic first compiles a list of potential interaction sites that may form a pseudoknot. The resulting candidate interactions are then fixed and an PK\sphinxhyphen{}free MFE structure for the remainder of the sequence is computed.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{accessibility}} argument is a list of opening energies for potential interaction sites. It is used in the first step of the algorithm to identify potential interactions. Upon passing \sphinxstyleemphasis{NULL}, the opening energies are determined automatically based on the current model settings.

\sphinxAtStartPar
Depending on the \sphinxcode{\sphinxupquote{options}}, the function can return the MFE (incl. PK loops) or suboptimal structures within an energy band around the MFE. The PK loop is internally scored by a scoring function that in the simplest cases assigns a constant value for each PK loop. More complicated scoring functions can be passed as well, see {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gaa3c616a490113feba261bed7a92981eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_score\_f}}}}} and {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga7209e5212f611aa1c06b1609da696d35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_fun()}}}}}.

\sphinxAtStartPar
The function returns \sphinxstyleemphasis{NULL} on any error. Otherwise, a list of structures and interaction coordinates with corresponding energy contributions is returned. If no PK\sphinxhyphen{}interaction that satisfies the options is found, the list only consists of the PK\sphinxhyphen{}free MFE structure.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} fold compound with the input sequence and model settings 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{accessibility}} \textendash{} An array of opening energies for the implemented heuristic (maybe \sphinxstyleemphasis{NULL}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} An {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gab5afc6c459727dbdc37257711f062090}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_t}}}}} options data structure that determines the algorithm parameters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of potentially pseudoknotted structures (Last element in the list indicated by \sphinxstyleemphasis{NULL} value in {\hyperref[\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1a31fe3dea3cb3799621cd111ab3e31629}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_result\_s.structure}}}}}) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pk\_plex\_accessibility (C function)@\spxentry{vrna\_pk\_plex\_accessibility}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_accessibility}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1gad3250f0443f875bba3c87c432356bc74}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_accessibility}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{unpaired}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{cutoff}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a list of opening energies suitable for PKplex computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} fold compound with the input sequence and model settings for accessibility computations 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{unpaired}} \textendash{} The maximum number of unpaired nucleotides, i.e. length of interaction 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cutoff}} \textendash{} A cutoff value for unpaired probabilities 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Opening energies as required for {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pk\_plex\_opt\_defaults (C function)@\spxentry{vrna\_pk\_plex\_opt\_defaults}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt_defaults}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1gaa6a5f5e20804ba729134eb8ad0c8da54}}{\hyperref[\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pk\_plex\_opt\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_opt\_defaults}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default options for PKplex algorithm. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga8f224a6aa666fd7444b225f676471992}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga7209e5212f611aa1c06b1609da696d35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_fun()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
An options data structure suitabe for PKplex computations 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pk\_plex\_opt (C function)@\spxentry{vrna\_pk\_plex\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1ga8f224a6aa666fd7444b225f676471992}}{\hyperref[\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pk\_plex\_opt\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_opt}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{delta}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_interaction\_length}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pk\_penalty}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Simple options for PKplex algorithm. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gaa6a5f5e20804ba729134eb8ad0c8da54}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_defaults()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga7209e5212f611aa1c06b1609da696d35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_fun()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}} \textendash{} Size of energy band around MFE for suboptimal results in dekacal/mol 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_interaction\_length}} \textendash{} Maximum length of interaction 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pk\_penalty}} \textendash{} Energy constant to score the PK forming loop 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An options data structure suitabe for PKplex computations 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pk\_plex\_opt\_fun (C function)@\spxentry{vrna\_pk\_plex\_opt\_fun}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt_fun}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/pseudoknots:group__pseudoknots_1ga7209e5212f611aa1c06b1609da696d35}}{\hyperref[\detokenize{modules/pseudoknots:c.vrna_pk_plex_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pk\_plex\_opt\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_opt\_fun}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{delta}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{max\_interaction\_length}\sphinxparamcomma {\hyperref[\detokenize{modules/pseudoknots:c.vrna_pk_plex_score_f}]{\sphinxcrossref{\DUrole{n}{vrna\_pk\_plex\_score\_f}}}}\DUrole{w}{ }\DUrole{n}{scoring\_function}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{scoring\_data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Simple options for PKplex algorithm. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga1d12c3e1affefec6339a15348b1bbdca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gaa6a5f5e20804ba729134eb8ad0c8da54}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt\_defaults()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga8f224a6aa666fd7444b225f676471992}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_opt()}}}}}, {\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1gaa3c616a490113feba261bed7a92981eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_score\_f}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}} \textendash{} Size of energy band around MFE for suboptimal results in dekacal/mol 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_interaction\_length}} \textendash{} Maximum length of interaction 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{scoring\_function}} \textendash{} Energy evaluating function to score the PK forming loop 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{scoring\_data}} \textendash{} An arbitrary data structure passed to the scoring function (maybe \sphinxstyleemphasis{NUL}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An options data structure suitabe for PKplex computations 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_pk\_plex\_result\_s (C struct)@\spxentry{vrna\_pk\_plex\_result\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pk\_plex\_result\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/pk\_plex.h\textgreater{}}
\sphinxAtStartPar
A result of the RNA PKplex interaction prediction. 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modules/pseudoknots:group__pseudoknots_1ga4b505034ccee4de966519afe8b3c120f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pk\_plex\_t}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_pk\_plex\_result\_s.structure (C var)@\spxentry{vrna\_pk\_plex\_result\_s.structure}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1a31fe3dea3cb3799621cd111ab3e31629}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{structure}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Secondary Structure in dot\sphinxhyphen{}bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.energy (C var)@\spxentry{vrna\_pk\_plex\_result\_s.energy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1a1a28780d20573e1e8e74137f74ebaa8b}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Net free energy in kcal/mol. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.dGpk (C var)@\spxentry{vrna\_pk\_plex\_result\_s.dGpk}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.dGpk}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1ad229d6898ffdb195b6442defdec35171}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dGpk}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free energy of PK loop in kcal/mol. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.dGint (C var)@\spxentry{vrna\_pk\_plex\_result\_s.dGint}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.dGint}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1abb999a7a5a80f71d57a801d83901a596}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dGint}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free energy of PK forming duplex interaction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.dG1 (C var)@\spxentry{vrna\_pk\_plex\_result\_s.dG1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.dG1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1ad5c142b580ce0db3e2bb4ec7faa9cbdd}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dG1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Opening energy for the 5’ interaction site used in the heuristic. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.dG2 (C var)@\spxentry{vrna\_pk\_plex\_result\_s.dG2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.dG2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1a3aaccf208713fe56d9a27d65062989cb}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dG2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Opening energy for the 3’ interaction site used in the heuristic. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.start\_5 (C var)@\spxentry{vrna\_pk\_plex\_result\_s.start\_5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.start_5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1aeebb3e74fb4390b23aefaa50b98e4672}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{start\_5}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Start coordinate of the 5’ interaction site. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.end\_5 (C var)@\spxentry{vrna\_pk\_plex\_result\_s.end\_5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.end_5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1ae2a8ca7f4769a6595617649adbf6284f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{end\_5}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
End coordinate of the 5’ interaction site. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.start\_3 (C var)@\spxentry{vrna\_pk\_plex\_result\_s.start\_3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.start_3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1a364296aea56d85179a1576d83e5a4826}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{start\_3}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Start coordinate of the 3’ interaction site. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pk\_plex\_result\_s.end\_3 (C var)@\spxentry{vrna\_pk\_plex\_result\_s.end\_3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/pseudoknots:c.vrna_pk_plex_result_s.end_3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/pseudoknots:structvrna__pk__plex__result__s_1a69f49f082cb148f0fbd5dd4fe84ab9bb}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{end\_3}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
End coordinate of the 3’ interaction site. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/pk\PYGZus{}plex.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{G\sphinxhyphen{}Quadruplexes}
\label{\detokenize{modules/gquads:g-quadruplexes}}\label{\detokenize{modules/gquads::doc}}
\begin{sphinxcontents}
\sphinxstylecontentstitle{Table of Contents}
\begin{itemize}
\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{modules/gquads:id1}}{\hyperref[\detokenize{modules/gquads:introduction}]{\sphinxcrossref{Introduction}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{modules/gquads:id2}}{\hyperref[\detokenize{modules/gquads:energy-evaluation}]{\sphinxcrossref{Energy Evaluation}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{modules/gquads:id3}}{\hyperref[\detokenize{modules/gquads:dynamic-programming-matrices}]{\sphinxcrossref{Dynamic Programming Matrices}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{modules/gquads:id4}}{\hyperref[\detokenize{modules/gquads:backtracking}]{\sphinxcrossref{Backtracking}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{modules/gquads:id5}}{\hyperref[\detokenize{modules/gquads:parsing}]{\sphinxcrossref{Parsing}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{modules/gquads:id6}}{\hyperref[\detokenize{modules/gquads:other}]{\sphinxcrossref{Other}}}

\item {} 
\sphinxAtStartPar
\phantomsection\label{\detokenize{modules/gquads:id7}}{\hyperref[\detokenize{modules/gquads:deprecated}]{\sphinxcrossref{Deprecated}}}

\end{itemize}
\end{sphinxcontents}


\subsubsection{Introduction}
\label{\detokenize{modules/gquads:introduction}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquads}}}
\pysigstopsignatures
\end{fulllineitems}



\subsubsection{Energy Evaluation}
\label{\detokenize{modules/gquads:energy-evaluation}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_E\_gquad (C function)@\spxentry{vrna\_E\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_E_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga6099c24a2d443663900a0d760d316adb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_gquad}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_gquad (C function)@\spxentry{vrna\_exp\_E\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_exp_E_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga1daa2f705ee53a594bfb152f1b1a3fb9}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_gquad}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_E\_consensus\_gquad (C function)@\spxentry{vrna\_E\_consensus\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_E_consensus_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1gacb841661b5b9c317075867257d3d1930}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_E\_consensus\_gquad}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{position}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{en}\DUrole{p}{{[}}\DUrole{m}{2}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_exp\_E\_consensus\_gquad (C function)@\spxentry{vrna\_exp\_E\_consensus\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_exp_E_consensus_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga6ed678416327818e0a138c1345064f57}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_exp\_E\_consensus\_gquad}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pf}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{position}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mfe\_gquad\_internal\_loop (C function)@\spxentry{vrna\_mfe\_gquad\_internal\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_mfe_gquad_internal_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga0e8f6ff0e41e3357793aa708ac333548}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_gquad\_internal\_loop}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_gq\_int\_loop\_pf (C function)@\spxentry{vrna\_gq\_int\_loop\_pf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_gq_int_loop_pf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1gaa7160e13dd918148218eb6fe9e12d7f1}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gq\_int\_loop\_pf}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga4f36fa702f3093b40608739b301aea4b}}\sphinxbfcode{\sphinxupquote{vrna\_array~(int)~vrna\_gq\_int\_loop\_subopt(vrna\_fold\_compound\_t~*fc}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga130361cb32eef69a9328d3905204e7ee}}\sphinxbfcode{\sphinxupquote{unsigned~int~unsigned~int~vrna\_array~(unsigned~int)~*p\_p}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_gquad\_pattern\_exhaustive (C function)@\spxentry{get\_gquad\_pattern\_exhaustive}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.get_gquad_pattern_exhaustive}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga923f5fdb6c20d10173de569ff12e0cb8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_gquad\_pattern\_exhaustive}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{l}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{threshold}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_gquad\_count (C function)@\spxentry{get\_gquad\_count}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.get_gquad_count}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1gadb40cbddf9b804f2d66dcdf1e949e218}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_gquad\_count}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{i (C var)@\spxentry{i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1gac8936188af0c1d2f8b9d0cd25fde43b2}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{j (C var)@\spxentry{j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga91987e5c353e383e19752470ba07fd02}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{threshold (C var)@\spxentry{threshold}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.threshold}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__eval_1ga087bd9245b41288266b8401c8b4b45eb}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{threshold}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/subopt/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Dynamic Programming Matrices}
\label{\detokenize{modules/gquads:dynamic-programming-matrices}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__dp}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_mfe\_gquad\_mx (C function)@\spxentry{vrna\_mfe\_gquad\_mx}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_mfe_gquad_mx}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__dp_1ga3b628f079d9ed1630365b9939ef609d2}}\DUrole{n}{vrna\_smx\_csr\_int\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mfe\_gquad\_mx}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get G\sphinxhyphen{}Quadruplexes (MFE). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields a sparse, two\sphinxhyphen{}dimensional matrix \( G \) that at position \( G(i,j) \) stores the minimum free energy of a G\sphinxhyphen{}Quadruplex that starts at \( i \) and ends at \( j \).
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sparse matrix with all MFE G\sphinxhyphen{}Quadruplexes 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_gquad\_L\_matrix (C function)@\spxentry{get\_gquad\_L\_matrix}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.get_gquad_L_matrix}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__dp_1gaeddca099141903fc4359f740dc3a9a96}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_gquad\_L\_matrix}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{g}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_gquad\_mx\_local\_update (C function)@\spxentry{vrna\_gquad\_mx\_local\_update}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_gquad_mx_local_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__dp_1ga25d7499c49963599c078dc2c93321b8e}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gquad\_mx\_local\_update}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_gq\_pos\_pf (C function)@\spxentry{vrna\_gq\_pos\_pf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_gq_pos_pf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__dp_1gaf4400fdc6c626db0110a950e5ed80eb4}}\DUrole{n}{vrna\_smx\_csr\_FLT\_OR\_DBL\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gq\_pos\_pf}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Backtracking}
\label{\detokenize{modules/gquads:backtracking}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__backtrack}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_bt\_gquad (C function)@\spxentry{vrna\_bt\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_bt_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__backtrack_1ga9699cac31927e3d271e9ff24a77ce291}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_gquad}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_gquad\_mfe (C function)@\spxentry{vrna\_bt\_gquad\_mfe}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_bt_gquad_mfe}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__backtrack_1gac542f3f770bd31d08209bb36ee3e0d1a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_gquad\_mfe}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bt\_gquad\_internal (C function)@\spxentry{vrna\_bt\_gquad\_internal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_bt_gquad_internal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__backtrack_1ga45599114af03f0149d2a35b544a2b8cc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bt\_gquad\_internal}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{en}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bt\_stack}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Parsing}
\label{\detokenize{modules/gquads:parsing}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__parse}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{get\_gquad\_pattern\_pf (C function)@\spxentry{get\_gquad\_pattern\_pf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.get_gquad_pattern_pf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__parse_1gaafaf18c4a262d12f6698df72c071f641}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_gquad\_pattern\_pf}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_get\_gquad\_pattern\_pf (C function)@\spxentry{vrna\_get\_gquad\_pattern\_pf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_get_gquad_pattern_pf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__parse_1ga35b2caacf5a95f0a69351680524a8a1c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_get\_gquad\_pattern\_pf}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_gq\_parse (C function)@\spxentry{vrna\_gq\_parse}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_gq_parse}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__parse_1gaef509be75de5e229c3e710cd819dc4ca}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_gq\_parse}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{db\_string}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Parse a G\sphinxhyphen{}Quadruplex from a dot\sphinxhyphen{}bracket structure string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a dot\sphinxhyphen{}bracket structure (possibly) containing gquads encoded by ‘+’ signs (and an optional ‘\textasciitilde{}’ end sign, find first gquad, return end position (1\sphinxhyphen{}based) or 0 if none found. Upon return L and l{[}{]} contain the number of stacked layers, as well as the lengths of the linker regions.

\sphinxAtStartPar

To parse a string with many gquads, call {\hyperref[\detokenize{modules/gquads:group__gquad__parse_1gaef509be75de5e229c3e710cd819dc4ca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gq\_parse()}}}}} repeatedly e.g.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{end1} \PYG{o}{=} \PYG{n}{vrna\PYGZus{}gq\PYGZus{}parse}\PYG{p}{(}\PYG{n}{struc}\PYG{p}{,} \PYG{o}{\PYGZam{}}\PYG{n}{L}\PYG{p}{,} \PYG{n}{l}\PYG{p}{)}\PYG{p}{;} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{;}
\PYG{n}{end2} \PYG{o}{=} \PYG{n}{vrna\PYGZus{}gq\PYGZus{}parse}\PYG{p}{(}\PYG{n}{struc}\PYG{o}{+}\PYG{n}{end1}\PYG{p}{,} \PYG{o}{\PYGZam{}}\PYG{n}{L}\PYG{p}{,} \PYG{n}{l}\PYG{p}{)}\PYG{p}{;} \PYG{n}{end2}\PYG{o}{+}\PYG{o}{=}\PYG{n}{end1}\PYG{p}{;} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{;}
\PYG{n}{end3} \PYG{o}{=} \PYG{n}{vrna\PYGZus{}gq\PYGZus{}parse}\PYG{p}{(}\PYG{n}{struc}\PYG{o}{+}\PYG{n}{end2}\PYG{p}{,} \PYG{o}{\PYGZam{}}\PYG{n}{L}\PYG{p}{,} \PYG{n}{l}\PYG{p}{)}\PYG{p}{;} \PYG{n}{end3}\PYG{o}{+}\PYG{o}{=}\PYG{n}{end2}\PYG{p}{;} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.} \PYG{p}{;}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For circular RNAs and G\sphinxhyphen{}Quadruplexes spanning the n,1\sphinxhyphen{}junction the sum of linkers and g\sphinxhyphen{}runs is lower than the end position. This condition can be used to check whether or not to accept a G\sphinxhyphen{}Quadruplex parsed from the dot\sphinxhyphen{}bracket string. Also note, that such n,1\sphinxhyphen{}junction spanning G\sphinxhyphen{}Quadruplexes must end with a \sphinxcode{\sphinxupquote{\textasciitilde{}}} sign, to be unambigous.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{db\_string}} \textendash{} The input structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{L}} \textendash{} A pointer to an unsigned integer to store the layer (stack) size 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{l}} \textendash{} An array of three values to store the respective linker lenghts 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The end position of the G\sphinxhyphen{}Quadruplex (1\sphinxhyphen{}based) or 0 if not found 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_insert\_gq (C function)@\spxentry{vrna\_db\_insert\_gq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_db_insert_gq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__parse_1ga6f638cdadc96a4f3b9f7cce77ad44bfc}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_insert\_gq}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{db}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_plist\_gquad\_from\_db (C function)@\spxentry{get\_plist\_gquad\_from\_db}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.get_plist_gquad_from_db}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__parse_1ga402d9d287ceec5161c5be65b721eec8a}}{\hyperref[\detokenize{utils/data_structures:c.plist}]{\sphinxcrossref{\DUrole{n}{plist}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_plist\_gquad\_from\_db}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{pr}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Other}
\label{\detokenize{modules/gquads:other}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__other}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__other_1gad01f5003335cfcd6416777a322600a3b}}\sphinxbfcode{\sphinxupquote{plist~*~get\_plist\_gquad\_from\_pr~(short~*S,~int~gi,~int~gj,~vrna\_smx\_csr(FLT\_OR\_DBL)~*q\_gq,~FLT\_OR\_DBL~*probs,~FLT\_OR\_DBL~*scale,~vrna\_exp\_param\_t~*pf)}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plist\_gquad\_from\_pr (C function)@\spxentry{vrna\_plist\_gquad\_from\_pr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_plist_gquad_from_pr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__other_1ga3051b222f25a1b657b477b1f312a910b}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plist\_gquad\_from\_pr}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{gi}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{gj}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__other_1gae07258394eadce6c706dad5574978757}}\sphinxbfcode{\sphinxupquote{plist~*~get\_plist\_gquad\_from\_pr\_max~(short~*S,~int~gi,~int~gj,~vrna\_smx\_csr(FLT\_OR\_DBL)~*q\_gq,~FLT\_OR\_DBL~*probs,~FLT\_OR\_DBL~*scale,~int~*L,~int~l{[}3{]},~vrna\_exp\_param\_t~*pf)}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plist\_gquad\_from\_pr\_max (C function)@\spxentry{vrna\_plist\_gquad\_from\_pr\_max}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_plist_gquad_from_pr_max}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__other_1gad4770d540c1fbd44edf58d30b1889eb6}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plist\_gquad\_from\_pr\_max}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{gi}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{gj}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{Lmax}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{lmax}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Deprecated}
\label{\detokenize{modules/gquads:deprecated}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_BT\_gquad\_mfe (C function)@\spxentry{vrna\_BT\_gquad\_mfe}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_BT_gquad_mfe}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gaf7ef6d7e7cee7f16c12da54b40421286}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_BT\_gquad\_mfe}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bp\_stack}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{stack\_count}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_BT\_gquad\_int (C function)@\spxentry{vrna\_BT\_gquad\_int}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.vrna_BT_gquad_int}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1ga4feaa3ff6fdebda24a79a68b19f9f9b4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_BT\_gquad\_int}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{en}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bp\_stack}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{stack\_count}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{backtrack\_GQuad\_IntLoop\_L (C function)@\spxentry{backtrack\_GQuad\_IntLoop\_L}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.backtrack_GQuad_IntLoop_L}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gac9a3d9ff012dd997ff4723fbf9cf5c82}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backtrack\_GQuad\_IntLoop\_L}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{c}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ggg}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{q}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
backtrack an internal loop like enclosed g\sphinxhyphen{}quadruplex with closing pair (i,j) with underlying Lfold matrix
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{c}} \textendash{} The total contribution the loop should resemble 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} position i of enclosing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} position j of enclosing pair 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} base pair type of enclosing pair (must be reverse type) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S}} \textendash{} integer encoded sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ggg}} \textendash{} triangular matrix containing g\sphinxhyphen{}quadruplex contributions 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{p}} \textendash{} here the 5’ position of the gquad is stored 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{q}} \textendash{} here the 3’ position of the gquad is stored 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} the datastructure containing the precalculated contibutions

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 if no gquad found 

\end{description}\end{quote}

\end{fulllineitems}

\index{backtrack\_GQuad\_IntLoop\_L\_comparative (C function)@\spxentry{backtrack\_GQuad\_IntLoop\_L\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.backtrack_GQuad_IntLoop_L_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gad3fe318c9c3c3b427ded108c9640679d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backtrack\_GQuad\_IntLoop\_L\_comparative}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{c}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S\_cons}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S5}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S3}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ggg}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{q}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/backtrack/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{E\_gquad (C function)@\spxentry{E\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.E_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gaa6c187f30e29d3aa29c5b537d0f7293f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_gquad}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{exp\_E\_gquad (C function)@\spxentry{exp\_E\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.exp_E_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1ga4dbda5faf903ca987b296a7629764221}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_E\_gquad}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{E\_gquad\_ali\_en (C function)@\spxentry{E\_gquad\_ali\_en}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.E_gquad_ali_en}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gaedc9ac79fe7fbf9661ac4d6e023c292b}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_gquad\_ali\_en}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{en}\DUrole{p}{{[}}\DUrole{m}{2}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{exp\_E\_gquad\_ali (C function)@\spxentry{exp\_E\_gquad\_ali}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.exp_E_gquad_ali}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1ga28c87a8ad36380f7fa3dfb0cf1e366ed}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_E\_gquad\_ali}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/eval/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_gquad\_matrix (C function)@\spxentry{get\_gquad\_matrix}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.get_gquad_matrix}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1ga2480171f753eed5bf337e283dee16129}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_gquad\_matrix}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a triangular matrix prefilled with minimum free energy contributions of G\sphinxhyphen{}quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
At each position ij in the matrix, the minimum free energy of any G\sphinxhyphen{}quadruplex delimited by i and j is stored. If no G\sphinxhyphen{}quadruplex formation is possible, the matrix element is set to INF. Access the elements in the matrix via matrix{[}indx{[}j{]}+i{]}. To get the integer array indx see get\_jindx().

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
get\_jindx(), encode\_sequence()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S}} \textendash{} The encoded sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} \textendash{} A pointer to the data structure containing the precomputed energy contributions 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the G\sphinxhyphen{}quadruplex contribution matrix 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_gquad\_ali\_matrix (C function)@\spxentry{get\_gquad\_ali\_matrix}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.get_gquad_ali_matrix}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1ga492483d75defad242d59f2fd45fd7b8f}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_gquad\_ali\_matrix}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S\_cons}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{E\_GQuad\_IntLoop\_L\_comparative (C function)@\spxentry{E\_GQuad\_IntLoop\_L\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.E_GQuad_IntLoop_L_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gac83ee00ef57784c7efc4572a6cdb90c0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_GQuad\_IntLoop\_L\_comparative}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{tt}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S\_cons}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S5}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S3}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ggg}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{E\_GQuad\_IntLoop\_L (C function)@\spxentry{E\_GQuad\_IntLoop\_L}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.E_GQuad_IntLoop_L}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gaf2e4be0af1c21ef668307984922f5e09}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_GQuad\_IntLoop\_L}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ggg}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}\sphinxparamcomma {\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{P}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1ga6b712f9a75251d87fc0a1720289aa61e}}\sphinxbfcode{\sphinxupquote{DEPRECATED~(FLT\_OR\_DBL~*get\_gquad\_pf\_matrix(short~*S,~FLT\_OR\_DBL~*scale,~vrna\_exp\_param\_t~*pf),~"Use~vrna\_gq\_pos\_pf()~instead")}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1ga56221834e3f702984961958f584db1d2}}\sphinxbfcode{\sphinxupquote{DEPRECATED~(FLT\_OR\_DBL~*get\_gquad\_pf\_matrix\_comparative(unsigned~int~n,~short~*S\_cons,~short~**S,~unsigned~int~**a2s,~FLT\_OR\_DBL~*scale,~unsigned~int~n\_seq,~vrna\_exp\_param\_t~*pf),~"Use~vrna\_gq\_pos\_pf()~instead")}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/partfunc/gquad.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{parse\_gquad (C function)@\spxentry{parse\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modules/gquads:c.parse_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modules/gquads:group__gquad__deprecated_1gae41763215b9c64d2a7b67f0df8a28078}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{parse\_gquad}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{struc}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Parse a G\sphinxhyphen{}Quadruplex from a dot\sphinxhyphen{}bracket structure string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a dot\sphinxhyphen{}bracket structure (possibly) containing gquads encoded by ‘+’ signs, find first gquad, return end position or 0 if none found Upon return L and l{[}{]} contain the number of stacked layers, as well as the lengths of the linker regions. To parse a string with many gquads, call parse\_gquad repeatedly e.g. end1 = parse\_gquad(struc, \&L, l); … ; end2 = parse\_gquad(struc+end1, \&L, l); end2+=end1; … ; end3 = parse\_gquad(struc+end2, \&L, l); end3+=end2; … ; 

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{paired_modules:group__paired__modules}}}
\pysigstopsignatures
\end{fulllineitems}


\sphinxstepscope


\section{Post\sphinxhyphen{}transcriptional Base Modifications}
\label{\detokenize{modified_bases:post-transcriptional-base-modifications}}\label{\detokenize{modified_bases::doc}}
\sphinxAtStartPar
Energy parameter corrections for modified bases.

\sphinxAtStartPar
Many RNAs are known to be (heavily) modified post\sphinxhyphen{}trasnciptionaly. The best
known examples are tRNAs and rRNAs. To\sphinxhyphen{}date, more than 150 different modifications
are listed in the MODOMICS database (\sphinxurl{http://genesilico.pl/modomics/}) {[}\hyperlink{cite.bibliography:id50}{Boccaletto \sphinxstyleemphasis{et al.}, 2022}{]}.

\sphinxAtStartPar
Many of the modified bases change the pairing behavior compared to their
unmodified version, affecting not only the pairing partner preference, but
also the resulting stability of the loops the base pairs may form.

\sphinxAtStartPar
Here, we provide a simple soft constraints callback implementation to
correct for some well known modified bases where energy parameters are
available for. This mechanism also supports arbitrary new modified base
energy parameters supplied in JSON format
(see {\hyperref[\detokenize{io/parameters:modified-bases}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Modified Bases}}}}} for details).


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases}}}
\pysigstopsignatures
\sphinxAtStartPar
Support of modified bases in secondary structure prediction. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_SC\_MOD\_CHECK\_FALLBACK (C macro)@\spxentry{VRNA\_SC\_MOD\_CHECK\_FALLBACK}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.VRNA_SC_MOD_CHECK_FALLBACK}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Check for sequence positions whether they resemble the fallback base. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag can be used to enable a sanity check within the vrna\_sc\_mod*() functions to see whether a supposedly modified position actually resembles the fallback base as specified in the modification parameters

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_SC\_MOD\_CHECK\_UNMOD (C macro)@\spxentry{VRNA\_SC\_MOD\_CHECK\_UNMOD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.VRNA_SC_MOD_CHECK_UNMOD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Check for sequence positions whether they resemble the unmodified base. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This flag can be used to enable a sanity check within the vrna\_sc\_mod*() functions to see whether a supposedly modified position actually resembles the unmodified base as specified in the modification parameters

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_SC\_MOD\_SILENT (C macro)@\spxentry{VRNA\_SC\_MOD\_SILENT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.VRNA_SC_MOD_SILENT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SC\_MOD\_SILENT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Do not produce any warnings within the vrna\_sc\_mod*() functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_SC\_MOD\_DEFAULT (C macro)@\spxentry{VRNA\_SC\_MOD\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.VRNA_SC_MOD_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SC\_MOD\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default settings for the vrna\_sc\_mod*() functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_sc\_mod\_param\_t (C type)@\spxentry{vrna\_sc\_mod\_param\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_param_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga05e46c6a7c7040b2c4236b218dadb0e5}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_sc\_mod\_param\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_param\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Modified base parameter data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gae14753463c572d712363590b0b7e9a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga73651701673a35080ff60ee156596da1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sc\_mod\_read\_from\_jsonfile (C function)@\spxentry{vrna\_sc\_mod\_read\_from\_jsonfile}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_read_from_jsonfile}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gae14753463c572d712363590b0b7e9a9a}}{\hyperref[\detokenize{modified_bases:c.vrna_sc_mod_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_mod\_param\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_read\_from\_jsonfile}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Parse and extract energy parameters for a modified base from a JSON file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000063}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{sc\_mod\_read\_from\_jsonfile()}} where the \sphinxcode{\sphinxupquote{md}} parameter may be omitted and defaults to \sphinxcode{\sphinxupquote{NULL}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_jsonfile()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1ga73651701673a35080ff60ee156596da1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0e76e3dee44ab51c6758a5e2275f8bad}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_parameters\_free()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, modified\sphinxhyphen{}bases\sphinxhyphen{}params


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The JSON file containing the specifications of the modified base 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A model\sphinxhyphen{}details data structure (for look\sphinxhyphen{}up of canonical base pairs) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Parameters of the modified base

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_read\_from\_json (C function)@\spxentry{vrna\_sc\_mod\_read\_from\_json}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_read_from_json}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga73651701673a35080ff60ee156596da1}}{\hyperref[\detokenize{modified_bases:c.vrna_sc_mod_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_mod\_param\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_read\_from\_json}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{json}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Parse and extract energy parameters for a modified base from a JSON string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000064}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{sc\_mod\_read\_from\_json()}} where the \sphinxcode{\sphinxupquote{md}} parameter may be omitted and defaults to \sphinxcode{\sphinxupquote{NULL}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_json()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gae14753463c572d712363590b0b7e9a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0e76e3dee44ab51c6758a5e2275f8bad}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_parameters\_free()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, modified\sphinxhyphen{}bases\sphinxhyphen{}params


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The JSON file containing the specifications of the modified base 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A model\sphinxhyphen{}details data structure (for look\sphinxhyphen{}up of canonical base pairs) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Parameters of the modified base

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_parameters\_free (C function)@\spxentry{vrna\_sc\_mod\_parameters\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_parameters_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga0e76e3dee44ab51c6758a5e2275f8bad}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_parameters\_free}}}}
{{\hyperref[\detokenize{modified_bases:c.vrna_sc_mod_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_mod\_param\_t}}}}\DUrole{w}{ }\DUrole{n}{params}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Release memory occupied by a modified base parameter data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Properly free a {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga05e46c6a7c7040b2c4236b218dadb0e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_param\_t}}}}} data structure
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{params}} \textendash{} The data structure to free 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_json (C function)@\spxentry{vrna\_sc\_mod\_json}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_json}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_json}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{json}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare soft constraint callbacks for modified base as specified in JSON string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function prepares all requirements to acknowledge modified bases as specified in the provided \sphinxcode{\sphinxupquote{json}} string. All subsequent predictions will treat each modification site special and adjust energy contributions if necessary.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000054}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_json()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_json()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}, modified\sphinxhyphen{}bases\sphinxhyphen{}params


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{json}} \textendash{} The JSON formatted string with the modified base parameters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_jsonfile (C function)@\spxentry{vrna\_sc\_mod\_jsonfile}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_jsonfile}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_jsonfile}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{json\_file}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare soft constraint callbacks for modified base as specified in JSON string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json()}}}}}, this function prepares all requirements to acknowledge modified bases as specified in the provided \sphinxcode{\sphinxupquote{json}} file. All subsequent predictions will treat each modification site special and adjust energy contributions if necessary.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000055}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_jsonfile()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_jsonfile()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}, modified\sphinxhyphen{}bases\sphinxhyphen{}params


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{json}} \textendash{} The JSON formatted string with the modified base parameters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod (C function)@\spxentry{vrna\_sc\_mod}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{modified_bases:c.vrna_sc_mod_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_mod\_param\_t}}}}\DUrole{w}{ }\DUrole{n}{params}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Prepare soft constraint callbacks for modified base as specified in JSON string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function takes a {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga05e46c6a7c7040b2c4236b218dadb0e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_param\_t}}}}} data structure as obtained from {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga73651701673a35080ff60ee156596da1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_json()}}}}} or {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae14753463c572d712363590b0b7e9a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_jsonfile()}}}}} and prepares all requirements to acknowledge modified bases as specified in the provided \sphinxcode{\sphinxupquote{params}} data structure. All subsequent predictions will treat each modification site special and adjust energy contributions if necessary.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000056}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1ga73651701673a35080ff60ee156596da1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae14753463c572d712363590b0b7e9a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_jsonfile()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine()}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine()}}}}} {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{json}} \textendash{} The JSON formatted string with the modified base parameters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_m6A (C function)@\spxentry{vrna\_sc\_mod\_m6A}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_m6A}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_m6A}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for N6\sphinxhyphen{}methyl\sphinxhyphen{}adenosine (m6A). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper to add support for m6A using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy parameter corrections are derived from    Kierzek \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id44}{2022}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000057}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_m6A()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_m6A}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_m6A()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_pseudouridine (C function)@\spxentry{vrna\_sc\_mod\_pseudouridine}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_pseudouridine}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_pseudouridine}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for Pseudouridine. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper to add support for pseudouridine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy parameter corrections are derived from    Hudson \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id43}{2013}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000058}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_pseudouridine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_pseudouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_pseudouridine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_inosine (C function)@\spxentry{vrna\_sc\_mod\_inosine}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_inosine}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_inosine}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for Inosine. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper to add support for inosine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy parameter corrections are derived from    Wright \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id45}{2007}{]}  and    Wright \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id46}{2018}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000059}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_inosine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_inosine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_inosine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_7DA (C function)@\spxentry{vrna\_sc\_mod\_7DA}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_7DA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_7DA}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for 7\sphinxhyphen{}deaza\sphinxhyphen{}adenosine (7DA). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper to add support for 7\sphinxhyphen{}deaza\sphinxhyphen{}adenosine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy parameter corrections are derived from    Richardson and Znosko {[}\hyperlink{cite.bibliography:id47}{2016}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000060}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_7DA()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_7DA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_7DA()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_purine (C function)@\spxentry{vrna\_sc\_mod\_purine}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_purine}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_purine}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for Purine (a.k.a. nebularine). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper to add support for Purine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy parameter corrections are derived from    Jolley and Znosko {[}\hyperlink{cite.bibliography:id48}{2017}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000061}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_purine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_purine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_purine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_sc\_mod\_dihydrouridine (C function)@\spxentry{vrna\_sc\_mod\_dihydrouridine}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{modified_bases:c.vrna_sc_mod_dihydrouridine}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sc\_mod\_dihydrouridine}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{modification\_sites}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for dihydrouridine. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/constraints/soft\PYGZus{}special.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a convenience wrapper to add support for dihydrouridine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy parameter corrections are derived from Rosetta/RECESS predictions.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000062}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_dihydrouridine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_dihydrouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_dihydrouridine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf973a647d9109b874b563bbe399a662d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_FALLBACK}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf80006636cdabb5f6ea577479a4cc3f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_CHECK\_UNMOD}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga873ecdf39af24a547ad154aa39d7d0fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_SILENT}}}}}, {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the corrections should be bound to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last element in the list indicated by 0) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitvector of options how to handle the input, e.g. {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\section{Utilities}
\label{\detokenize{utils:utilities}}\label{\detokenize{utils::doc}}
\sphinxstepscope


\subsection{Utilities to deal with Nucleotide Alphabets}
\label{\detokenize{utils/alphabet:utilities-to-deal-with-nucleotide-alphabets}}\label{\detokenize{utils/alphabet::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils}}}
\pysigstopsignatures
\sphinxAtStartPar
Functions to cope with various aspects related to the nucleotide sequence alphabet. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_SEQUENCE\_RNA (C macro)@\spxentry{VRNA\_SEQUENCE\_RNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.VRNA_SEQUENCE_RNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga0c1c7a9244d4a300adbc0c1d81d58ac5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SEQUENCE\_RNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_SEQUENCE\_DNA (C macro)@\spxentry{VRNA\_SEQUENCE\_DNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.VRNA_SEQUENCE_DNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gac4bc4b1aad71d684a95ee1b2c7ee4db1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SEQUENCE\_DNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_seq\_t (C type)@\spxentry{vrna\_seq\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_seq_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gaa35bee3061759495467070b47d0e1f22}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/alphabet:c.vrna_sequence_s}]{\sphinxcrossref{\DUrole{n}{vrna\_sequence\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for nucleotide sequence representation data structure {\hyperref[\detokenize{utils/alphabet:structvrna__sequence__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sequence\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_msa\_t (C type)@\spxentry{vrna\_msa\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_msa_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gaf0f600b407c7b49be5e2df462b47d079}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/alphabet:c.vrna_alignment_s}]{\sphinxcrossref{\DUrole{n}{vrna\_alignment\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_msa\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Enums}
\index{vrna\_seq\_type\_e (C enum)@\spxentry{vrna\_seq\_type\_e}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_seq_type_e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga85cda3fcf5d6bd7ec090d3a96e808609}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_type\_e}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A enumerator used in {\hyperref[\detokenize{utils/alphabet:structvrna__sequence__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sequence\_s}}}}} to distinguish different nucleotide sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{vrna\_seq\_type\_e.VRNA\_SEQ\_UNKNOWN (C enumerator)@\spxentry{vrna\_seq\_type\_e.VRNA\_SEQ\_UNKNOWN}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_seq_type_e.VRNA_SEQ_UNKNOWN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gga85cda3fcf5d6bd7ec090d3a96e808609ad8682ac290d0dd51022e3b82840e1a74}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SEQ\_UNKNOWN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Nucleotide sequence represents an Unkown type. 

\end{fulllineitems}

\index{vrna\_seq\_type\_e.VRNA\_SEQ\_RNA (C enumerator)@\spxentry{vrna\_seq\_type\_e.VRNA\_SEQ\_RNA}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_seq_type_e.VRNA_SEQ_RNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gga85cda3fcf5d6bd7ec090d3a96e808609ac52309234beaf94e6a3bd1b9b69de9f4}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SEQ\_RNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Nucleotide sequence represents an RNA type. 

\end{fulllineitems}

\index{vrna\_seq\_type\_e.VRNA\_SEQ\_DNA (C enumerator)@\spxentry{vrna\_seq\_type\_e.VRNA\_SEQ\_DNA}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_seq_type_e.VRNA_SEQ_DNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gga85cda3fcf5d6bd7ec090d3a96e808609a4da1613644c3a3766ef1d6494f271332}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_SEQ\_DNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Nucleotide sequence represents a DNA type. 

\end{fulllineitems}


\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_sequence\_length\_max (C function)@\spxentry{vrna\_sequence\_length\_max}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_length_max}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga0fe05749df8bae9d2eda9013d6ba5551}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence\_length\_max}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_nucleotide\_IUPAC\_identity (C function)@\spxentry{vrna\_nucleotide\_IUPAC\_identity}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_nucleotide_IUPAC_identity}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga2ee2b98985e6335910f128c81c8f5842}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_nucleotide\_IUPAC\_identity}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{a}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{b}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ptypes\_prepare (C function)@\spxentry{vrna\_ptypes\_prepare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_ptypes_prepare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gafa82673941b3bbb8006e9ca105fa33b9}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ptypes\_prepare}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ptypes (C function)@\spxentry{vrna\_ptypes}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_ptypes}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga495e6f5c88129128114fcb437b1fddeb}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ptypes}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an array of the numerical encoding for each possible base pair (i,j). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga93a00c17b7644d1e755943d01664cae0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_idx\_col\_wise()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This array is always indexed in column\sphinxhyphen{}wise order, in contrast to previously different indexing between mfe and pf variants!
\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_seq\_encode (C function)@\spxentry{vrna\_seq\_encode}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_seq_encode}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gaa49a0ee0a2cbda1c863fa3a169d7bf8d}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_encode}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a numerical representation of the nucleotide sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000171}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, this function is wrapped as overloaded function \sphinxcode{\sphinxupquote{seq\_encode()}} where the last parameter, the \sphinxcode{\sphinxupquote{model\_details}} data structure, is optional. If it is omitted, default model settings are applied, i.e. default nucleotide letter conversion. The wrapped function returns a list/tuple of integer representations of the input sequence. See, e.g.   {\hyperref[\detokenize{api_python:RNA.seq_encode}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.seq\_encode()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The input sequence in upper\sphinxhyphen{}case letters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} A pointer to a {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} data structure that specifies the conversion type 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of integer encodings for each sequence letter (1\sphinxhyphen{}based). Position 0 denotes the length of the list

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_seq\_encode\_simple (C function)@\spxentry{vrna\_seq\_encode\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_seq_encode_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gafbffc82595f34c9c4eaf9ba22547b42a}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_encode\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a numerical representation of the nucleotide sequence (simple version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_nucleotide\_encode (C function)@\spxentry{vrna\_nucleotide\_encode}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_nucleotide_encode}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gac12bf00123f88621c9be847b0879c1fb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_nucleotide\_encode}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{c}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Encode a nucleotide character to numerical value. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function encodes a nucleotide character to its numerical representation as required by many functions in RNAlib.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/alphabet:group__alphabet__utils_1ga48ef585e697be9c8a08ed68c655e29b6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_nucleotide\_decode()}}}}}, {\hyperref[\detokenize{utils/alphabet:group__alphabet__utils_1gaa49a0ee0a2cbda1c863fa3a169d7bf8d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_seq\_encode()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{c}} \textendash{} The nucleotide character to encode 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} The model details that determine the kind of encoding 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The encoded nucleotide 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_nucleotide\_decode (C function)@\spxentry{vrna\_nucleotide\_decode}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_nucleotide_decode}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga48ef585e697be9c8a08ed68c655e29b6}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_nucleotide\_decode}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{enc}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Decode a numerical representation of a nucleotide back into nucleotide alphabet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function decodes a numerical representation of a nucleotide character back into nucleotide alphabet

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/alphabet:group__alphabet__utils_1gac12bf00123f88621c9be847b0879c1fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_nucleotide\_encode()}}}}}, {\hyperref[\detokenize{utils/alphabet:group__alphabet__utils_1gaa49a0ee0a2cbda1c863fa3a169d7bf8d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_seq\_encode()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{enc}} \textendash{} The encoded nucleotide 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} The model details that determine the kind of decoding 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The decoded nucleotide character 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_encode (C function)@\spxentry{vrna\_aln\_encode}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_aln_encode}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga56dfbd38023d289a3b5daf7fe06ab4d6}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_encode}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S\_p}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{s5\_p}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{s3\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ss\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{as\_p}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_get\_ptype\_md (C function)@\spxentry{vrna\_get\_ptype\_md}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_get_ptype_md}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga629aeca7a1a5d148e2c7e0e5d12299cc}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_get\_ptype\_md}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_get\_ptype (C function)@\spxentry{vrna\_get\_ptype}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_get_ptype}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga1cef98562ce6016ed83e38bc15d7b4bb}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_get\_ptype}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{ij}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptype}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_get\_ptype\_window (C function)@\spxentry{vrna\_get\_ptype\_window}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_get_ptype_window}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gab134b2a70a6933b7f3aada9abdc7b96e}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_get\_ptype\_window}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{ptype}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alphabet.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence (C function)@\spxentry{vrna\_sequence}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga0eccb87f4a6dde647037531b8d06864a}}{\hyperref[\detokenize{utils/alphabet:c.vrna_seq_t}]{\sphinxcrossref{\DUrole{n}{vrna\_seq\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_add (C function)@\spxentry{vrna\_sequence\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1gaa10bb891b172e80c303b2d8ef2bb7946}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence\_add}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_remove (C function)@\spxentry{vrna\_sequence\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga87f2115e7cf3ed9e66ac077d497a069c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence\_remove}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_remove\_all (C function)@\spxentry{vrna\_sequence\_remove\_all}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_remove_all}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga7d75afad5470ad39656fb4e9f79e21a8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence\_remove\_all}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_prepare (C function)@\spxentry{vrna\_sequence\_prepare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_prepare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga482e89d70cff3b867a93d7ecdba167d3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence\_prepare}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_order\_update (C function)@\spxentry{vrna\_sequence\_order\_update}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_order_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga545651c2301bde9097c1581321cab1a4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence\_order\_update}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{order}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_msa\_add (C function)@\spxentry{vrna\_msa\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_msa_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/alphabet:group__alphabet__utils_1ga8a63f0d8432373027016683a7d678fe2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_msa\_add}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{orientation}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{start}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{genome\_size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_sequence\_s (C struct)@\spxentry{vrna\_sequence\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sequence\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/sequences/sequence.h\textgreater{}}
\sphinxAtStartPar
Data structure representing a nucleotide sequence. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_sequence\_s.type (C var)@\spxentry{vrna\_sequence\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s_1aee11f4cc6f792cd36afab3bf7a30ca7b}}{\hyperref[\detokenize{utils/alphabet:c.vrna_seq_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_seq\_type\_e}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The type of sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_s.name (C var)@\spxentry{vrna\_sequence\_s.name}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s.name}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s_1aad6ac39bb8c3a88ccc9c427981851bb8}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{name}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_s.string (C var)@\spxentry{vrna\_sequence\_s.string}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s.string}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s_1aa885a2c52b3f87fb6c8f51a77a3430a7}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{string}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The string representation of the sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_s.encoding (C var)@\spxentry{vrna\_sequence\_s.encoding}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s.encoding}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s_1a8010ad82da6766e859e6f25e275a1d89}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{encoding}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The integer representation of the sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_s.encoding5 (C var)@\spxentry{vrna\_sequence\_s.encoding5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s.encoding5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s_1a40c5c50d8e133479acef5a4065a1a343}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{encoding5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_s.encoding3 (C var)@\spxentry{vrna\_sequence\_s.encoding3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s.encoding3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s_1a0b186720cde99aff7b9a13142ffcc224}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{encoding3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sequence\_s.length (C var)@\spxentry{vrna\_sequence\_s.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_sequence_s.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__sequence__s_1af60876d93312ce0b842574a14c3a9cdd}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The length of the sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_alignment\_s (C struct)@\spxentry{vrna\_alignment\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_alignment\_s}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_alignment\_s.n\_seq (C var)@\spxentry{vrna\_alignment\_s.n\_seq}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.n_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1adec018d2aea7a7c6e569fde9df04e97f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{n\_seq}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_alignment\_s.sequences (C var)@\spxentry{vrna\_alignment\_s.sequences}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.sequences}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1a2f2b573501b57443c902a7e26befe4b9}}{\hyperref[\detokenize{utils/alphabet:c.vrna_seq_t}]{\sphinxcrossref{\DUrole{n}{vrna\_seq\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sequences}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_alignment\_s.gapfree\_seq (C var)@\spxentry{vrna\_alignment\_s.gapfree\_seq}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.gapfree_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1a0bcb75d343194c33a032887daf298727}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{gapfree\_seq}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_alignment\_s.gapfree\_size (C var)@\spxentry{vrna\_alignment\_s.gapfree\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.gapfree_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1abd18f3ea214afd20448ffce177aa0366}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{gapfree\_size}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_alignment\_s.genome\_size (C var)@\spxentry{vrna\_alignment\_s.genome\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.genome_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1a50aa4cfad4022e14dc7b47b2bcd8e045}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{genome\_size}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_alignment\_s.start (C var)@\spxentry{vrna\_alignment\_s.start}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.start}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1a5c24e8b1f8e0f12e98e6ec7460620541}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{start}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_alignment\_s.orientation (C var)@\spxentry{vrna\_alignment\_s.orientation}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.orientation}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1a7c0157e5922e399d2195bb0db41fee37}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{orientation}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_alignment\_s.a2s (C var)@\spxentry{vrna\_alignment\_s.a2s}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/alphabet:c.vrna_alignment_s.a2s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/alphabet:structvrna__alignment__s_1a1757fbe69a404612c8cdd73a72628eec}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{a2s}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/sequence.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{(Nucleic Acid Sequence) String Utilitites}
\label{\detokenize{utils/strings:nucleic-acid-sequence-string-utilitites}}\label{\detokenize{utils/strings::doc}}
\sphinxAtStartPar
Functions to parse, convert, manipulate, create, and compare
(nucleic acid sequence) strings.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{XSTR (C macro)@\spxentry{XSTR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.XSTR}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga03943706e48069237cd57f2d35ca987e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{XSTR}}}}
{\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Stringify a macro after expansion. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{STR (C macro)@\spxentry{STR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.STR}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga6388870e639eee9c0a69446876f1f8cc}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{STR}}}}
{\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Stringify a macro argument. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{FILENAME\_MAX\_LENGTH (C macro)@\spxentry{FILENAME\_MAX\_LENGTH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.FILENAME_MAX_LENGTH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gafb228174279df9486a5cb56ac0bc79a3}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{FILENAME\_MAX\_LENGTH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum length of filenames that are generated by our programs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This definition should be used throughout the complete ViennaRNA package wherever a static array holding filenames of output files is declared. 

\end{fulllineitems}

\index{FILENAME\_ID\_LENGTH (C macro)@\spxentry{FILENAME\_ID\_LENGTH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.FILENAME_ID_LENGTH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga33c3b1826b8e2739f09f111ec719ded5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{FILENAME\_ID\_LENGTH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum length of id taken from fasta header for filename generation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
this has to be smaller than FILENAME\_MAX\_LENGTH since in most cases, some suffix will be appended to the ID 

\end{fulllineitems}

\index{VRNA\_TRIM\_LEADING (C macro)@\spxentry{VRNA\_TRIM\_LEADING}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.VRNA_TRIM_LEADING}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga658ff8ea3e4ae6838d77ece7024a583f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRIM\_LEADING}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trim only characters leading the string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRIM\_TRAILING (C macro)@\spxentry{VRNA\_TRIM\_TRAILING}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.VRNA_TRIM_TRAILING}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga4b551fba1b2bbecafd335471b2c002dd}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRIM\_TRAILING}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trim only characters trailing the string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRIM\_IN\_BETWEEN (C macro)@\spxentry{VRNA\_TRIM\_IN\_BETWEEN}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.VRNA_TRIM_IN_BETWEEN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gac500a0f17fff9c60ac98ed178f0a8fa3}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRIM\_IN\_BETWEEN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trim only characters within the string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRIM\_SUBST\_BY\_FIRST (C macro)@\spxentry{VRNA\_TRIM\_SUBST\_BY\_FIRST}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.VRNA_TRIM_SUBST_BY_FIRST}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga974e5e82e496e20290ec0f54c0e1d1da}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRIM\_SUBST\_BY\_FIRST}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Replace remaining characters after trimming with the first delimiter in list. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRIM\_DEFAULT (C macro)@\spxentry{VRNA\_TRIM\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.VRNA_TRIM_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gab6272ec12f482870fa81d3d84d9b7370}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRIM\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default settings for trimming, i.e. trim leading and trailing. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRIM\_ALL (C macro)@\spxentry{VRNA\_TRIM\_ALL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.VRNA_TRIM_ALL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga2ad8cad99ec119999964dd6e245cbb73}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRIM\_ALL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trim characters anywhere in the string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_seq\_toRNA (C function)@\spxentry{vrna\_seq\_toRNA}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_seq_toRNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gacfed92cba77064f6c743f9118d079bfc}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_toRNA}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert an input sequence (possibly containing DNA alphabet characters) to RNA alphabet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function substitudes \sphinxstyleemphasis{T} and \sphinxstyleemphasis{t} with \sphinxstyleemphasis{U} and \sphinxstyleemphasis{u}, respectively
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The sequence to be converted 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_DNA\_complement (C function)@\spxentry{vrna\_DNA\_complement}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_DNA_complement}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga561e1c63199adbd7de38ed394e098d95}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_DNA\_complement}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a DNA sequence which resembles the complement of the input sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function returns a mew DNA string which is the complement of the input, i.e. the nucleotide letters \sphinxcode{\sphinxupquote{A}},\sphinxcode{\sphinxupquote{C}},\sphinxcode{\sphinxupquote{G}}, and \sphinxcode{\sphinxupquote{T}} are substituted by their complements \sphinxcode{\sphinxupquote{T}},\sphinxcode{\sphinxupquote{G}},\sphinxcode{\sphinxupquote{C}}, and \sphinxcode{\sphinxupquote{A}}, respectively.

\sphinxAtStartPar
Any characters not belonging to the alphabet of the 4 canonical bases of DNA are not altered.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gae15cbc5999a67c90f45538e42c3201fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_seq\_reverse()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function also handles lower\sphinxhyphen{}case input sequences and treats \sphinxcode{\sphinxupquote{U}} of the RNA alphabet equally to \sphinxcode{\sphinxupquote{T}}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} the input DNA sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The complement of the input DNA sequence 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_seq\_ungapped (C function)@\spxentry{vrna\_seq\_ungapped}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_seq_ungapped}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga593320caa8245a446efdd391215bdfc9}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_ungapped}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove gap characters from a nucleotide sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/utils.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The original, null\sphinxhyphen{}terminated nucleotide sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the input sequence with all gap characters removed 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strdup\_printf (C function)@\spxentry{vrna\_strdup\_printf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strdup_printf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga8429d7d84d7b0c7d77cda7c4ceff0947}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strdup\_printf}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Safely create a formatted string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a safe implementation for creating a formatted character array, similar to \sphinxstyleemphasis{sprintf}. Internally, it uses the \sphinxstyleemphasis{asprintf} function if available to dynamically allocate a large enough character array to store the supplied content. If \sphinxstyleemphasis{asprintf} is not available, mimic it’s behavior using \sphinxstyleemphasis{vsnprintf}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1ga84a3a0400df93050b650a0d31afd1e54}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strdup\_vprintf()}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1gac0771ec71316023067f2aae61a5aa0fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strcat\_printf()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The returned pointer of this function should always be passed to \sphinxstyleemphasis{free()} to release the allocated memory
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The format string (See also asprintf) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{...}} \textendash{} The list of variables used to fill the format string 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The formatted, null\sphinxhyphen{}terminated string, or NULL if something has gone wrong 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strdup\_vprintf (C function)@\spxentry{vrna\_strdup\_vprintf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strdup_vprintf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga84a3a0400df93050b650a0d31afd1e54}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strdup\_vprintf}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{argp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Safely create a formatted string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is the \sphinxstyleemphasis{va\_list} version of {\hyperref[\detokenize{utils/strings:group__string__utils_1ga8429d7d84d7b0c7d77cda7c4ceff0947}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strdup\_printf()}}}}}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1ga8429d7d84d7b0c7d77cda7c4ceff0947}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strdup\_printf()}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1gac0771ec71316023067f2aae61a5aa0fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strcat\_printf()}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga122df216996ba62fd5056b7743e3131a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strcat\_vprintf()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The returned pointer of this function should always be passed to \sphinxstyleemphasis{free()} to release the allocated memory
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The format string (See also asprintf) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{argp}} \textendash{} The list of arguments to fill the format string 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The formatted, null\sphinxhyphen{}terminated string, or NULL if something has gone wrong 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strcat\_printf (C function)@\spxentry{vrna\_strcat\_printf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strcat_printf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gac0771ec71316023067f2aae61a5aa0fb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strcat\_printf}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{dest}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Safely append a formatted string to another string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a safe implementation for appending a formatted character array, similar to a cobination of \sphinxstyleemphasis{strcat} and \sphinxstyleemphasis{sprintf}. The function automatically allocates enough memory to store both, the previous content stored at \sphinxcode{\sphinxupquote{dest}} and the appended format string. If the \sphinxcode{\sphinxupquote{dest}} pointer is NULL, the function allocate memory only for the format string. The function returns the number of characters in the resulting string or \sphinxhyphen{}1 in case of an error.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1ga122df216996ba62fd5056b7743e3131a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strcat\_vprintf()}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga8429d7d84d7b0c7d77cda7c4ceff0947}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strdup\_printf()}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga84a3a0400df93050b650a0d31afd1e54}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strdup\_vprintf()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dest}} \textendash{} The address of a char *pointer where the formatted string is to be appended 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The format string (See also sprintf) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{...}} \textendash{} The list of variables used to fill the format string 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of characters in the final string, or \sphinxhyphen{}1 on error 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strcat\_vprintf (C function)@\spxentry{vrna\_strcat\_vprintf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strcat_vprintf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga122df216996ba62fd5056b7743e3131a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strcat\_vprintf}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{dest}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Safely append a formatted string to another string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is the \sphinxstyleemphasis{va\_list} version of {\hyperref[\detokenize{utils/strings:group__string__utils_1gac0771ec71316023067f2aae61a5aa0fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strcat\_printf()}}}}}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gac0771ec71316023067f2aae61a5aa0fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strcat\_printf()}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga8429d7d84d7b0c7d77cda7c4ceff0947}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strdup\_printf()}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga84a3a0400df93050b650a0d31afd1e54}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strdup\_vprintf()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dest}} \textendash{} The address of a char *pointer where the formatted string is to be appended 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The format string (See also sprintf) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{args}} \textendash{} The list of argument to fill the format string 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of characters in the final string, or \sphinxhyphen{}1 on error 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strtrim (C function)@\spxentry{vrna\_strtrim}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strtrim}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strtrim}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{delimiters}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{keep}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Trim a string by removing (multiple) occurences of a particular character. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes (multiple) consecutive occurences of a set of characters (\sphinxcode{\sphinxupquote{delimiters}}) within an input string. It may be used to remove leading and/or trailing whitespaces or to restrict the maximum number of consecutive occurences of the delimiting characters \sphinxcode{\sphinxupquote{delimiters}}. Setting \sphinxcode{\sphinxupquote{keep=0}} removes all occurences, while other values reduce multiple consecutive occurences to at most \sphinxcode{\sphinxupquote{keep}} delimiters. This might be useful if one would like to reduce multiple whitespaces to a single one, or to remove empty fields within a comma\sphinxhyphen{}separated value string.

\sphinxAtStartPar
The parameter \sphinxcode{\sphinxupquote{delimiters}} may be a pointer to a 0\sphinxhyphen{}terminated char string containing a set of any ASCII character. If \sphinxstyleemphasis{NULL} is passed as delimiter set or an empty char string, all whitespace characters are trimmed. The \sphinxcode{\sphinxupquote{options}} parameter is a bit vector that specifies which part of the string should undergo trimming. The implementation distinguishes the leading ({\hyperref[\detokenize{utils/strings:group__string__utils_1ga658ff8ea3e4ae6838d77ece7024a583f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_LEADING}}}}}), trailing ({\hyperref[\detokenize{utils/strings:group__string__utils_1ga4b551fba1b2bbecafd335471b2c002dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_TRAILING}}}}}), and in\sphinxhyphen{}between ({\hyperref[\detokenize{utils/strings:group__string__utils_1gac500a0f17fff9c60ac98ed178f0a8fa3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_IN\_BETWEEN}}}}}) part with respect to the delimiter set. Combinations of these parts can be specified by using logical\sphinxhyphen{}or operator.

\sphinxAtStartPar
The following example code removes all leading and trailing whitespace characters from the input string: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{charstring}\PYG{p}{[}\PYG{l+m+mi}{20}\PYG{p}{]}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{  }\PYG{l+s+se}{\PYGZbs{}t}\PYG{l+s}{ blablabla   }\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}
\PYG{k+kt}{unsigned}\PYG{+w}{ }\PYG{k+kt}{int}\PYG{+w}{  }\PYG{n}{r}\PYG{+w}{           }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}strtrim}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{p}{(}\PYG{n}{string}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{)}\PYG{p}{,}
\PYG{+w}{                                         }\PYG{n+nb}{NULL}\PYG{p}{,}
\PYG{+w}{                                         }\PYG{l+m+mi}{0}\PYG{p}{,}
\PYG{n}{VRNA\PYGZus{}TRIM\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000185}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
Since many scripting languages treat strings as immutable objects, this function does not modify the input string directly. Instead, it returns the modified string as second return value, together with the number of removed delimiters.

\sphinxAtStartPar
The scripting language interface provides an overloaded version of this function, with default parameters \sphinxcode{\sphinxupquote{delimiters=NULL}}, \sphinxcode{\sphinxupquote{keep=0}}, and \sphinxcode{\sphinxupquote{options={\hyperref[\detokenize{utils/strings:group__string__utils_1gab6272ec12f482870fa81d3d84d9b7370}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_DEFAULT}}}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.strtrim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.strtrim()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1ga658ff8ea3e4ae6838d77ece7024a583f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_LEADING}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga4b551fba1b2bbecafd335471b2c002dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_TRAILING}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1gac500a0f17fff9c60ac98ed178f0a8fa3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_IN\_BETWEEN}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga974e5e82e496e20290ec0f54c0e1d1da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_SUBST\_BY\_FIRST}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1gab6272ec12f482870fa81d3d84d9b7370}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/strings:group__string__utils_1ga2ad8cad99ec119999964dd6e245cbb73}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_ALL}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The delimiter always consists of a single character from the set of characters provided. In case of alternative delimiters and non\sphinxhyphen{}null \sphinxcode{\sphinxupquote{keep}} parameter, the first \sphinxcode{\sphinxupquote{keep}} delimiters are preserved within the string. Use {\hyperref[\detokenize{utils/strings:group__string__utils_1ga974e5e82e496e20290ec0f54c0e1d1da}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_SUBST\_BY\_FIRST}}}}} to substitute all remaining delimiting characters with the first from the \sphinxcode{\sphinxupquote{delimiters}} list.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The ‘\textbackslash{}0’\sphinxhyphen{}terminated input string to trim 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delimiters}} \textendash{} The delimiter characters as 0\sphinxhyphen{}terminated char array (or \sphinxstyleemphasis{NULL}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{keep}} \textendash{} The maximum number of consecutive occurences of the delimiter in the output string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The option bit vector specifying the mode of operation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of delimiters removed from the string

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strsplit (C function)@\spxentry{vrna\_strsplit}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strsplit}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gaf1bdff12ea8383c5d8eef5f9ef9fcefe}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strsplit}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{delimiter}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Split a string into tokens using a delimiting character. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function splits a string into an array of strings using a single character that delimits the elements within the string. The default delimiter is the ampersand \sphinxcode{\sphinxupquote{\textquotesingle{}\&\textquotesingle{}}} and will be used when \sphinxcode{\sphinxupquote{NULL}} is passed as a second argument. The returned list is NULL terminated, i.e. the last element is \sphinxcode{\sphinxupquote{NULL}}. If the delimiter is not found, the returned list contains exactly one element: the input string.

\sphinxAtStartPar
For instance, the following code:

\sphinxAtStartPar

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{o}{*}\PYG{n}{tok}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}strsplit}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{GGGG\PYGZam{}CCCC\PYGZam{}AAAAA}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{)}\PYG{p}{;}

\PYG{k}{for}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{o}{*}\PYG{n}{ptr}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{tok}\PYG{p}{;}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{ptr}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{ptr}\PYG{o}{+}\PYG{o}{+}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{ptr}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{o}{*}\PYG{n}{ptr}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\PYG{n}{free}\PYG{p}{(}\PYG{n}{tok}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}
 produces this output:

\sphinxAtStartPar

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{*} \PYG{n}{GGGG}
\PYG{o}{*} \PYG{n}{CCCC}
\PYG{o}{*} \PYG{n}{AAAAA}
\PYG{o}{*}
\end{sphinxVerbatim}
 and properly free’s the memory occupied by the returned element array.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function internally uses \sphinxstyleemphasis{strtok\_r()}
\sphinxAtStartPar
and is therefore considered to be thread\sphinxhyphen{}safe. Also note, that it is the users responsibility to free the memory of the array and that of the individual element strings!

\sphinxAtStartPar
In case the input string consists of consecutive delimiters, starts or ends with one or multiple delimiters, empty strings are produced in the output list, indicating the empty fields of data resulting from the split. Use
{\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim()}}}}} prior to a call to this function to remove any leading, trailing, or in\sphinxhyphen{}between empty fields.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The input string that should be split into elements 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delimiter}} \textendash{} The delimiting character. If \sphinxcode{\sphinxupquote{NULL}}, the delimiter is \sphinxcode{\sphinxupquote{"\&"}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A \sphinxcode{\sphinxupquote{NULL}} terminated list of the elements in the string 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strjoin (C function)@\spxentry{vrna\_strjoin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strjoin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga1dabf4436772a90f050a21e128b7c7fb}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strjoin}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{strings}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{delimiter}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga05640f8c4eb2399e0e089c27a27990f7}}\sphinxbfcode{\sphinxupquote{vrna\_array~(double)~vrna\_str\_to\_dbl\_array(const~char~*str}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_random\_string (C function)@\spxentry{vrna\_random\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_random_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gab4714ab789de302ee19e0e7ea0766a3e}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_random\_string}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{symbols}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a random string using characters from a specified symbol set. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{l}} \textendash{} The length of the sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{symbols}} \textendash{} The symbol set 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A random string of length ‘l’ containing characters from the symbolset 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hamming\_distance (C function)@\spxentry{vrna\_hamming\_distance}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_hamming_distance}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga301798b43b6f66687985c725efd14f32}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hamming\_distance}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate hamming distance between two sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The first sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The second sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The hamming distance between s1 and s2 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hamming\_distance\_bound (C function)@\spxentry{vrna\_hamming\_distance\_bound}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_hamming_distance_bound}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga5d1c2271e79d9bcb52d4e68360763fb9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hamming\_distance\_bound}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate hamming distance between two sequences up to a specified length. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is similar to {\hyperref[\detokenize{utils/strings:group__string__utils_1ga301798b43b6f66687985c725efd14f32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hamming\_distance()}}}}} but instead of comparing both sequences up to their actual length only the first ‘n’ characters are taken into account 
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} \textendash{} The first sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} \textendash{} The second sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The length of the subsequences to consider (starting from the 5’ end) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The hamming distance between s1 and s2 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_seq\_toupper (C function)@\spxentry{vrna\_seq\_toupper}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_seq_toupper}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga4f44dca03c9d708d68e64c0610bb9091}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_toupper}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert an input sequence to uppercase. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The sequence to be converted 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_seq\_reverse (C function)@\spxentry{vrna\_seq\_reverse}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_seq_reverse}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gae15cbc5999a67c90f45538e42c3201fe}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_seq\_reverse}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Reverse a string in\sphinxhyphen{}place. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function reverses a character string in the form of an array of characters in\sphinxhyphen{}place, i.e. it changes the input parameter.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/strings:group__string__utils_1ga561e1c63199adbd7de38ed394e098d95}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_DNA\_complement()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The string to reverse 

\end{itemize}

\sphinxlineitem{Post}
\sphinxAtStartPar
After execution, the input \sphinxcode{\sphinxupquote{sequence}} consists of the reverse string prior to the execution.

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cut\_point\_insert (C function)@\spxentry{vrna\_cut\_point\_insert}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_cut_point_insert}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga458d5a8cbec709665426372e3aee93b8}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cut\_point\_insert}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{cp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add a separating ‘\&’ character into a string according to cut\sphinxhyphen{}point position. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If the cut\sphinxhyphen{}point position is less or equal to zero, this function just returns a copy of the provided string. Otherwise, the cut\sphinxhyphen{}point character is set at the corresponding position
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The original string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cp}} \textendash{} The cut\sphinxhyphen{}point position 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the provided string including the cut\sphinxhyphen{}point character 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cut\_point\_remove (C function)@\spxentry{vrna\_cut\_point\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_cut_point_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gaea2daba17812f6581f559afda27fcbf8}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cut\_point\_remove}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{cp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove a separating ‘\&’ character from a string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes the cut\sphinxhyphen{}point indicating ‘\&’ character from a string and memorizes its position in a provided integer variable. If not ‘\&’ is found in the input, the integer variable is set to \sphinxhyphen{}1. The function returns a copy of the input string with the ‘\&’ being sliced out.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The original string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cp}} \textendash{} The cut\sphinxhyphen{}point position 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the input string with the ‘\&’ being sliced out 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_strchr (C function)@\spxentry{vrna\_strchr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.vrna_strchr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1gac90f8463f175ad2f289a89e2fdc6a956}}\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_strchr}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{c}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Find (all) occurrences of a character within a string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
string The C string to be scanned

\sphinxAtStartPar
c The character to be searched for

\sphinxAtStartPar
n The maximum number of occurences to search for (or 0 for all occurrences) 
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
An 1\sphinxhyphen{}based array of positions(0\sphinxhyphen{}based) or \sphinxstylestrong{NULL} on error. Position 0 specifies the number of occurrences found. 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{delimiter (C var)@\spxentry{delimiter}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.delimiter}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga6c1dc51f61ebb5d81ef975fca3ccca96}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{delimiter}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{options (C var)@\spxentry{options}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/strings:c.options}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/strings:group__string__utils_1ga43b1ae18bbec11d00dce87c50756ae0b}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{options}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/strings.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Secondary Structure Utilities}
\label{\detokenize{utils/structures:secondary-structure-utilities}}\label{\detokenize{utils/structures::doc}}
\sphinxAtStartPar
Functions to create, parse, convert, manipulate, and compare secondary
structure representations.

\sphinxstepscope


\subsubsection{Dot\sphinxhyphen{}Bracket Notation of Secondary Structures}
\label{\detokenize{utils/struct/dotbracket:dot-bracket-notation-of-secondary-structures}}\label{\detokenize{utils/struct/dotbracket::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_BRACKETS\_ALPHA (C macro)@\spxentry{VRNA\_BRACKETS\_ALPHA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_BRACKETS_ALPHA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga7e3f630af8d69bb0e917145aacf2f96d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_BRACKETS\_ALPHA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bitflag to indicate secondary structure notations using uppercase/lowercase letters from the latin alphabet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_BRACKETS\_RND (C macro)@\spxentry{VRNA\_BRACKETS\_RND}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_BRACKETS_RND}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_BRACKETS\_RND}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bitflag to indicate secondary structure notations using round brackets (parenthesis), \sphinxcode{\sphinxupquote{()}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_BRACKETS\_CLY (C macro)@\spxentry{VRNA\_BRACKETS\_CLY}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_BRACKETS_CLY}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gaf41be40e79cb756c4e0bb8edb4d803d2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_BRACKETS\_CLY}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bitflag to indicate secondary structure notations using curly brackets, \sphinxcode{\sphinxupquote{\{\}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_BRACKETS\_ANG (C macro)@\spxentry{VRNA\_BRACKETS\_ANG}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_BRACKETS_ANG}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga863e03f7f73f10fc9bbcbefbdda4bec8}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_BRACKETS\_ANG}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bitflag to indicate secondary structure notations using angular brackets, \sphinxcode{\sphinxupquote{\textless{}\textgreater{}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_BRACKETS\_SQR (C macro)@\spxentry{VRNA\_BRACKETS\_SQR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_BRACKETS_SQR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga60525d61d7496eeea490a37f3d6bf757}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_BRACKETS\_SQR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bitflag to indicate secondary structure notations using square brackets, \sphinxcode{\sphinxupquote{{[}{]}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_BRACKETS\_DEFAULT (C macro)@\spxentry{VRNA\_BRACKETS\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_BRACKETS_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga559ebf76b1b289f85309f4206e99aa1a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_BRACKETS\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default bitmask to indicate secondary structure notation using any pair of brackets. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This set of matching brackets/parenthesis is always nested, i.e. pseudo\sphinxhyphen{}knot free, in WUSS format. However, in general different kinds of brackets are mostly used for annotating pseudo\sphinxhyphen{}knots. Thus special care has to be taken to remove pseudo\sphinxhyphen{}knots if this bitmask is used in functions that return secondary structures without pseudo\sphinxhyphen{}knots!

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga97dbebaa3fc49524cf5afa338a6c52ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pk\_remove()}}}}} {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga41fab98dc67b6b8d0e2332e7ae08fd14}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pt\_pk\_remove()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_BRACKETS\_ANY (C macro)@\spxentry{VRNA\_BRACKETS\_ANY}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_BRACKETS_ANY}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga013a9da903462d2f2b037f0c6ffb46e4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_BRACKETS\_ANY}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bitmask to indicate secondary structure notation using any pair of brackets or uppercase/lowercase alphabet letters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga97dbebaa3fc49524cf5afa338a6c52ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pk\_remove()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_GQUAD\_DB\_SYMBOL (C macro)@\spxentry{VRNA\_GQUAD\_DB\_SYMBOL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_GQUAD_DB_SYMBOL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga514a7c86c7d4be5655d7fe6457832a05}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_DB\_SYMBOL}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_GQUAD\_DB\_SYMBOL\_END (C macro)@\spxentry{VRNA\_GQUAD\_DB\_SYMBOL\_END}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.VRNA_GQUAD_DB_SYMBOL_END}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gade92dc1a2bfffd191afcf412760e26e1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_GQUAD\_DB\_SYMBOL\_END}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_db\_pack (C function)@\spxentry{vrna\_db\_pack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_pack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9db9613100e9f750017d3e13a874bb7d}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_pack}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{struc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pack secondary secondary structure, 5:1 compression using base 3 encoding. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a binary string encoding of the secondary structure using a 5:1 compression scheme. The string is NULL terminated and can therefore be used with standard string functions such as strcmp(). Useful for programs that need to keep many structures in memory.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9c8c7296b5bb75f7d32c20dc004eb723}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_unpack()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{struc}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The binary encoded structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_unpack (C function)@\spxentry{vrna\_db\_unpack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_unpack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9c8c7296b5bb75f7d32c20dc004eb723}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_unpack}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{packed}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Unpack secondary structure previously packed with {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9db9613100e9f750017d3e13a874bb7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pack()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Translate a compressed binary string produced by {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9db9613100e9f750017d3e13a874bb7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pack()}}}}} back into the familiar dot\sphinxhyphen{}bracket notation.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9db9613100e9f750017d3e13a874bb7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pack()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{packed}} \textendash{} The binary encoded packed secondary structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The unpacked secondary structure in dot\sphinxhyphen{}bracket notation 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_flatten (C function)@\spxentry{vrna\_db\_flatten}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_flatten}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_flatten}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Substitute pairs of brackets in a string with parenthesis. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function can be used to replace brackets of unusual types, such as angular brackets \sphinxcode{\sphinxupquote{\textless{}\textgreater{}}} , to dot\sphinxhyphen{}bracket format. The \sphinxcode{\sphinxupquote{options}} parameter is used tpo specify which types of brackets will be replaced by round parenthesis \sphinxcode{\sphinxupquote{}}() .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000172}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar
This function flattens an input structure string in\sphinxhyphen{}place! The second parameter is optional and defaults to {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga559ebf76b1b289f85309f4206e99aa1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_DEFAULT}}}}}.

\sphinxAtStartPar
An overloaded version of this function exists, where an additional second parameter can be passed to specify the target brackets, i.e. the type of matching pair characters all brackets will be flattened to. Therefore, in the scripting language interface this function is a replacement for {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_flatten}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_flatten()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga863e03f7f73f10fc9bbcbefbdda4bec8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANG}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gaf41be40e79cb756c4e0bb8edb4d803d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_CLY}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga60525d61d7496eeea490a37f3d6bf757}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_SQR}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga559ebf76b1b289f85309f4206e99aa1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The structure string where brackets are flattened in\sphinxhyphen{}place 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitmask to specify which types of brackets should be flattened out

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_flatten\_to (C function)@\spxentry{vrna\_db\_flatten\_to}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_flatten_to}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_flatten\_to}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{target}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Substitute pairs of brackets in a string with another type of pair characters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function can be used to replace brackets in a structure annotation string, such as square brackets \sphinxcode{\sphinxupquote{}}{[}{]} , to another type of pair characters, e.g. angular brackets \sphinxcode{\sphinxupquote{\textless{}\textgreater{}}} .

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{target}} array must contain a character for the ‘pair open’ annotation at position 0, and one for ‘pair close’ at position 1. T\sphinxcode{\sphinxupquote{options}} parameter is used to specify which types of brackets will be replaced by the new pairs.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000173}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded version of {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_flatten}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_flatten()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga863e03f7f73f10fc9bbcbefbdda4bec8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANG}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gaf41be40e79cb756c4e0bb8edb4d803d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_CLY}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga60525d61d7496eeea490a37f3d6bf757}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_SQR}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga559ebf76b1b289f85309f4206e99aa1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The structure string where brackets are flattened in\sphinxhyphen{}place 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{target}} \textendash{} The new pair characters the string will be flattened to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitmask to specify which types of brackets should be flattened out

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_from\_ptable (C function)@\spxentry{vrna\_db\_from\_ptable}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_from_ptable}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga3f43bc74c6d785236cece6451996fcc3}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_from\_ptable}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a pair table into dot\sphinxhyphen{}parenthesis notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function also converts pair table formatted structures that contain pseudoknots. Non\sphinxhyphen{}nested base pairs result in additional pairs of parenthesis and brackets within the resulting dot\sphinxhyphen{}parenthesis string. The following pairs are awailable: (), {[}{]}. \{\}. \textless{}\textgreater{}, as well as pairs of matching upper\sphinxhyphen{}/lower\sphinxhyphen{}case characters from the alphabet A\sphinxhyphen{}Z.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In cases where the level of non\sphinxhyphen{}nested base pairs exceeds the maximum number of 30 different base pair indicators (4 parenthesis/brackets, 26 matching characters), a warning is printed and the remaining base pairs are left out from the conversion.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table to be copied 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A char pointer to the dot\sphinxhyphen{}bracket string 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_from\_plist (C function)@\spxentry{vrna\_db\_from\_plist}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_from_plist}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga38f267a2a22f7d564dcdc449c1fd96ca}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_from\_plist}}}}
{{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pairs}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a list of base pairs into dot\sphinxhyphen{}bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pairs}} \textendash{} A {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} containing the pairs to be included in the dot\sphinxhyphen{}bracket string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The length of the structure (number of nucleotides) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The dot\sphinxhyphen{}bracket string containing the provided base pairs 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_to\_element\_string (C function)@\spxentry{vrna\_db\_to\_element\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_to_element_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga0689c339dc8c7ce35a31b031067370de}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_to\_element\_string}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a secondary structure in dot\sphinxhyphen{}bracket notation to a nucleotide annotation of loop contexts. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A string annotating each nucleotide according to it’s structural context 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_pk\_remove (C function)@\spxentry{vrna\_db\_pk\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/dotbracket:c.vrna_db_pk_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga97dbebaa3fc49524cf5afa338a6c52ee}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_pk\_remove}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove pseudo\sphinxhyphen{}knots from an input structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes pseudo\sphinxhyphen{}knots from an input structure by determining the minimum number of base pairs that need to be removed to make the structure pseudo\sphinxhyphen{}knot free.

\sphinxAtStartPar
To accomplish that, we use a dynamic programming algorithm similar to the Nussinov maxmimum matching approach.

\sphinxAtStartPar
The input structure must be in a dot\sphinxhyphen{}bracket string like form where crossing base pairs are denoted by the use of additional types of matching brackets, e.g. \sphinxcode{\sphinxupquote{\textless{}\textgreater{}}}, \sphinxcode{\sphinxupquote{\{\}}}, \sphinxcode{\sphinxupquote{}}{[}{]}, \sphinxcode{\sphinxupquote{\{\}}}. Furthermore, crossing pairs may be annotated by matching uppercase/lowercase letters from the alphabet \sphinxcode{\sphinxupquote{A\sphinxhyphen{}Z}}. For the latter, the uppercase letter must be the 5’ and the lowercase letter the 3’ nucleotide of the base pair. The actual type of brackets to be recognized by this function must be specifed through the \sphinxcode{\sphinxupquote{options}} parameter.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000174}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{db\_pk\_remove()}} where the optional second parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga013a9da903462d2f2b037f0c6ffb46e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANY}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_pk_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_pk\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga41fab98dc67b6b8d0e2332e7ae08fd14}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pt\_pk\_remove()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga863e03f7f73f10fc9bbcbefbdda4bec8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANG}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gaf41be40e79cb756c4e0bb8edb4d803d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_CLY}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga60525d61d7496eeea490a37f3d6bf757}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_SQR}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga7e3f630af8d69bb0e917145aacf2f96d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ALPHA}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga559ebf76b1b289f85309f4206e99aa1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga013a9da903462d2f2b037f0c6ffb46e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANY}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Brackets in the input structure string that are not covered by the \sphinxcode{\sphinxupquote{options}} bitmask will be silently ignored!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Input structure in dot\sphinxhyphen{}bracket format that may include pseudo\sphinxhyphen{}knots 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitmask to specify which types of brackets should be processed 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The input structure devoid of pseudo\sphinxhyphen{}knots in dot\sphinxhyphen{}bracket notation

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Washington University Secondary Structure (WUSS) notation}
\label{\detokenize{utils/struct/wuss:washington-university-secondary-structure-wuss-notation}}\label{\detokenize{utils/struct/wuss::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/wuss:group__struct__utils__wuss}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_db\_from\_WUSS (C function)@\spxentry{vrna\_db\_from\_WUSS}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/wuss:c.vrna_db_from_WUSS}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/wuss:group__struct__utils__wuss_1ga68e657cbbb1db0d435728e9f8c682d26}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_from\_WUSS}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{wuss}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a WUSS annotation string to dot\sphinxhyphen{}bracket format. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function flattens all brackets, and treats pseudo\sphinxhyphen{}knots annotated by matching pairs of upper/lowercase letters as unpaired nucleotides
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{wuss}} \textendash{} The input string in WUSS notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A dot\sphinxhyphen{}bracket notation of the input secondary structure 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Pair Table Representation of Secondary Structures}
\label{\detokenize{utils/struct/pairtable:pair-table-representation-of-secondary-structures}}\label{\detokenize{utils/struct/pairtable::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_ptable (C function)@\spxentry{vrna\_ptable}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/pairtable:c.vrna_ptable}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ptable}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table from a dot\sphinxhyphen{}bracket notation of a secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a newly allocated table, such that table{[}i{]}=j if (i.j) pair or 0 if i is unpaired, table{[}0{]} contains the length of the structure.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000175}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This functions is wrapped as overloaded function \sphinxcode{\sphinxupquote{ptable()}} that takes an optional argument \sphinxcode{\sphinxupquote{options}} to specify which type of matching brackets should be considered during conversion. The default set is round brackets, i.e. {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga3f43bc74c6d785236cece6451996fcc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_ptable()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the created pair\_table

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ptable\_from\_string (C function)@\spxentry{vrna\_ptable\_from\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/pairtable:c.vrna_ptable_from_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ptable\_from\_string}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table for a secondary structure string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function takes an input string of a secondary structure annotation in dot\sphinxhyphen{}bracket\sphinxhyphen{}notation or dot\sphinxhyphen{}bracket\sphinxhyphen{}ext\sphinxhyphen{}notation, and converts it into a pair table representation.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000176}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This functions is wrapped as overloaded function \sphinxcode{\sphinxupquote{ptable()}} that takes an optional argument \sphinxcode{\sphinxupquote{options}} to specify which type of matching brackets should be considered during conversion. The default set is round brackets, i.e. {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga3f43bc74c6d785236cece6451996fcc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_ptable()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}, {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga41fab98dc67b6b8d0e2332e7ae08fd14}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pt\_pk\_remove()}}}}} {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga863e03f7f73f10fc9bbcbefbdda4bec8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANG}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gaf41be40e79cb756c4e0bb8edb4d803d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_CLY}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga60525d61d7496eeea490a37f3d6bf757}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_SQR}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga7e3f630af8d69bb0e917145aacf2f96d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ALPHA}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga559ebf76b1b289f85309f4206e99aa1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga013a9da903462d2f2b037f0c6ffb46e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANY}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function also extracts crossing base pairs, i.e. pseudo\sphinxhyphen{}knots if more than a single matching bracket type is allowed through the bitmask \sphinxcode{\sphinxupquote{options}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} Secondary structure in dot\sphinxhyphen{}bracket\sphinxhyphen{}ext\sphinxhyphen{}notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitmask to specify which brackets are recognized during conversion to pair table 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a new pair table of the provided secondary structure

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pt\_pk\_get (C function)@\spxentry{vrna\_pt\_pk\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/pairtable:c.vrna_pt_pk_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga320d4fd30b541d28578e1fad18451a85}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pt\_pk\_get}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table of a secondary structure (pseudo\sphinxhyphen{}knot version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a newly allocated table, such that table{[}i{]}=j if (i.j) pair or 0 if i is unpaired, table{[}0{]} contains the length of the structure.

\sphinxAtStartPar
In contrast to {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}} this function also recognizes the base pairs denoted by ‘{[}’ and ‘{]}’ brackets. Thus, this function behaves like 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}ptable\PYGZus{}from\PYGZus{}string}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}BRACKETS\PYGZus{}RND}\PYG{+w}{ }\PYG{o}{|}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}BRACKETS\PYGZus{}SQR}\PYG{p}{)}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in (extended) dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the created pair\_table 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ptable\_copy (C function)@\spxentry{vrna\_ptable\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/pairtable:c.vrna_ptable_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ptable\_copy}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an exact copy of a pair table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table to be copied 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the copy of ‘pt’ 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_pt\_ali\_get (C function)@\spxentry{vrna\_pt\_ali\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/pairtable:c.vrna_pt_ali_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga7b2fb019d2e5f17e40d5cfa8e30a4607}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pt\_ali\_get}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table of a secondary structure (snoop align version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pt\_snoop\_get (C function)@\spxentry{vrna\_pt\_snoop\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/pairtable:c.vrna_pt_snoop_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga325b0bfa1a4f1a186c917d2fa3777396}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pt\_snoop\_get}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table of a secondary structure (snoop version). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
returns a newly allocated table, such that: table{[}i{]}=j if (i.j) pair or 0 if i is unpaired, table{[}0{]} contains the length of the structure. The special pseudoknotted H/ACA\sphinxhyphen{}mRNA structure is taken into account. 

\end{fulllineitems}

\index{vrna\_pt\_pk\_remove (C function)@\spxentry{vrna\_pt\_pk\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/pairtable:c.vrna_pt_pk_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga41fab98dc67b6b8d0e2332e7ae08fd14}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pt\_pk\_remove}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ptable}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove pseudo\sphinxhyphen{}knots from a pair table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes pseudo\sphinxhyphen{}knots from an input structure by determining the minimum number of base pairs that need to be removed to make the structure pseudo\sphinxhyphen{}knot free.

\sphinxAtStartPar
To accomplish that, we use a dynamic programming algorithm similar to the Nussinov maxmimum matching approach.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga97dbebaa3fc49524cf5afa338a6c52ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pk\_remove()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} \textendash{} Input structure that may include pseudo\sphinxhyphen{}knots 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The input structure devoid of pseudo\sphinxhyphen{}knots 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Pair List Representation of Secondary Structures}
\label{\detokenize{utils/struct/plist:pair-list-representation-of-secondary-structures}}\label{\detokenize{utils/struct/plist::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PLIST\_TYPE\_BASEPAIR (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_BASEPAIR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_BASEPAIR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1ga7c7484a8a1e6704b1aefaf589f3b27c1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_BASEPAIR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A Base Pair element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLIST\_TYPE\_GQUAD (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_GQUAD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_GQUAD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1gac91ab79e9feede5347103949ecf04f8a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_GQUAD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A G\sphinxhyphen{}Quadruplex element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLIST\_TYPE\_H\_MOTIF (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_H\_MOTIF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_H_MOTIF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1ga4d142e0187b8410b61ec2b168ed4513e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_H\_MOTIF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A Hairpin loop motif element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLIST\_TYPE\_I\_MOTIF (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_I\_MOTIF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_I_MOTIF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1gadf5905518079b5495bce3394cd7afb9a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_I\_MOTIF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An Internal loop motif element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLIST\_TYPE\_UD\_MOTIF (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_UD\_MOTIF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_UD_MOTIF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1ga01d749cdb675dcdbac1dc5103378c699}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_UD\_MOTIF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An Unstructured Domain motif element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLIST\_TYPE\_STACK (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_STACK}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_STACK}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1ga36df728a95452170ca8684fc224299ea}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_STACK}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A Base Pair stack element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLIST\_TYPE\_UNPAIRED (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_UNPAIRED}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_UNPAIRED}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1ga7961043acc4f183a7bc7cf2505a8c8b9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_UNPAIRED}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An unpaired base. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLIST\_TYPE\_TRIPLE (C macro)@\spxentry{VRNA\_PLIST\_TYPE\_TRIPLE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.VRNA_PLIST_TYPE_TRIPLE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1ga1bdc6494057e1b947a0832aa011af8c3}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLIST\_TYPE\_TRIPLE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
One pair of a base triplet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_ep\_t (C type)@\spxentry{vrna\_ep\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_ep_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/plist:c.vrna_elem_prob_s}]{\sphinxcrossref{\DUrole{n}{vrna\_elem\_prob\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ep\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convenience typedef for data structure {\hyperref[\detokenize{utils/struct/plist:structvrna__elem__prob__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_elem\_prob\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_plist (C function)@\spxentry{vrna\_plist}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_plist}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}}{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plist}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{struc}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{pr}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} from a dot\sphinxhyphen{}bracket string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The dot\sphinxhyphen{}bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.

\sphinxAtStartPar
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{struc}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr}} \textendash{} The probability for each base pair used in the plist 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The plist array 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plist\_append (C function)@\spxentry{vrna\_plist\_append}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_plist_append}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/plist:group__struct__utils__plist_1gac2221a43572f9591799396eea912f5ea}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plist\_append}}}}
{{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{target}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{list}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_elem\_prob\_s (C struct)@\spxentry{vrna\_elem\_prob\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_elem_prob_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:structvrna__elem__prob__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_elem\_prob\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/structures/problist.h\textgreater{}}
\sphinxAtStartPar
Data structure representing a single entry of an element probability list (e.g. list of pair probabilities). 

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga7c7484a8a1e6704b1aefaf589f3b27c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_BASEPAIR}}}}}, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gac91ab79e9feede5347103949ecf04f8a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_GQUAD}}}}}, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga4d142e0187b8410b61ec2b168ed4513e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_H\_MOTIF}}}}}, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gadf5905518079b5495bce3394cd7afb9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_I\_MOTIF}}}}}, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga01d749cdb675dcdbac1dc5103378c699}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_UD\_MOTIF}}}}}, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga36df728a95452170ca8684fc224299ea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLIST\_TYPE\_STACK}}}}} 

\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist\_from\_probs()}}}}}, {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga38f267a2a22f7d564dcdc449c1fd96ca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_plist()}}}}},


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_elem\_prob\_s.i (C var)@\spxentry{vrna\_elem\_prob\_s.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_elem_prob_s.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:structvrna__elem__prob__s_1a0f8bb11ded4e605f816d7ad92eb568f6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Start position (usually 5’ nucleotide that starts the element, e.g. base pair). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_elem\_prob\_s.j (C var)@\spxentry{vrna\_elem\_prob\_s.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_elem_prob_s.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:structvrna__elem__prob__s_1acada5be62ed6843334a918ca543f0c0d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
End position (usually 3’ nucleotide that ends the element, e.g. base pair). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_elem\_prob\_s.p (C var)@\spxentry{vrna\_elem\_prob\_s.p}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_elem_prob_s.p}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:structvrna__elem__prob__s_1a9c09385582d8a7ab00485181f4e868b7}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{p}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Probability of the element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_elem\_prob\_s.type (C var)@\spxentry{vrna\_elem\_prob\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/plist:c.vrna_elem_prob_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/plist:structvrna__elem__prob__s_1a11715ffa51cb6277db7ebd3d9170d691}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Type of the element. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/problist.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Abstract Shapes Representation of Secondary Structures}
\label{\detokenize{utils/struct/abstract_shapes:abstract-shapes-representation-of-secondary-structures}}\label{\detokenize{utils/struct/abstract_shapes::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/abstract_shapes:group__struct__utils__abstract__shapes}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_abstract\_shapes (C function)@\spxentry{vrna\_abstract\_shapes}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/abstract_shapes:c.vrna_abstract_shapes}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/abstract_shapes:group__struct__utils__abstract__shapes_1gafca0add98ede22bf2c22608878c61b22}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_abstract\_shapes}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a secondary structure in dot\sphinxhyphen{}bracket notation to its abstract shapes representation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/shapes.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function converts a secondary structure into its abstract shapes representation as presented by    Giegerich \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id42}{2004}{]} .

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000177}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{abstract\_shapes()}} where the optional second parameter \sphinxcode{\sphinxupquote{level}} defaults to 5. See, e.g.   {\hyperref[\detokenize{api_python:RNA.abstract_shapes}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.abstract\_shapes()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/abstract_shapes:group__struct__utils__abstract__shapes_1ga2fd59087e1c4e3d460e5823ba6d693b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_abstract\_shapes\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{level}} \textendash{} The abstraction level (integer in the range of 0 to 5) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The secondary structure in abstract shapes notation

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_abstract\_shapes\_pt (C function)@\spxentry{vrna\_abstract\_shapes\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/abstract_shapes:c.vrna_abstract_shapes_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/abstract_shapes:group__struct__utils__abstract__shapes_1ga2fd59087e1c4e3d460e5823ba6d693b4}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_abstract\_shapes\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a secondary structure to its abstract shapes representation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/shapes.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function converts a secondary structure into its abstract shapes representation as presented by    Giegerich \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id42}{2004}{]} . This function is equivalent to vrna\_db\_to\_shapes(), but requires a pair table input instead of a dot\sphinxhyphen{}bracket structure.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000178}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{abstract\_shapes()}} where the optional second parameter \sphinxcode{\sphinxupquote{level}} defaults to 5. See, e.g.   {\hyperref[\detokenize{api_python:RNA.abstract_shapes}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.abstract\_shapes()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/abstract_shapes:group__struct__utils__abstract__shapes_1gafca0add98ede22bf2c22608878c61b22}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_abstract\_shapes()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The length of the structure must be present at \sphinxcode{\sphinxupquote{pt}}{[}0{]}!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} A secondary structure in pair table format 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{level}} \textendash{} The abstraction level (integer in the range of 0 to 5) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The secondary structure in abstract shapes notation

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Helix List Representation of Secondary Structures}
\label{\detokenize{utils/struct/helix_list:helix-list-representation-of-secondary-structures}}\label{\detokenize{utils/struct/helix_list::doc}}\index{vrna\_hx\_t (C type)@\spxentry{vrna\_hx\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/helix_list:group__struct__utils__helix__list_1ga877363f3a1703b53ecd025c6fcf897a0}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/helix_list:c.vrna_hx_s}]{\sphinxcrossref{\DUrole{n}{vrna\_hx\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hx\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convenience typedef for data structure {\hyperref[\detokenize{utils/struct/helix_list:structvrna__hx__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hx\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hx\_from\_ptable (C function)@\spxentry{vrna\_hx\_from\_ptable}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_from_ptable}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/helix_list:group__struct__utils__helix__list_1ga8a47a3902bc343c5bce0e5cc3b789491}}{\hyperref[\detokenize{utils/struct/helix_list:c.vrna_hx_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hx\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hx\_from\_ptable}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a pair table representation of a secondary structure into a helix list. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The secondary structure in pair table representation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The secondary structure represented as a helix list 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_hx\_merge (C function)@\spxentry{vrna\_hx\_merge}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_merge}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/helix_list:group__struct__utils__helix__list_1gaa359505534c591fcf9eac580efe6e5e4}}{\hyperref[\detokenize{utils/struct/helix_list:c.vrna_hx_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hx\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hx\_merge}}}}
{\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/helix_list:c.vrna_hx_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hx\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{list}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{maxdist}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a merged helix list from another helix list. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hx\_s (C struct)@\spxentry{vrna\_hx\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/helix_list:structvrna__hx__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hx\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/structures/helix.h\textgreater{}}
\sphinxAtStartPar
Data structure representing an entry of a helix list. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_hx\_s.start (C var)@\spxentry{vrna\_hx\_s.start}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_s.start}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/helix_list:structvrna__hx__s_1ac9b1c418fb5426f8fb2562681a60d56c}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{start}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hx\_s.end (C var)@\spxentry{vrna\_hx\_s.end}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_s.end}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/helix_list:structvrna__hx__s_1a05b855a6c2b277f26f0282bc13c1e6e0}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{end}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hx\_s.length (C var)@\spxentry{vrna\_hx\_s.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_s.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/helix_list:structvrna__hx__s_1a9184affd5dc5043f195e5c274c8e857f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hx\_s.up5 (C var)@\spxentry{vrna\_hx\_s.up5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_s.up5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/helix_list:structvrna__hx__s_1a51a6a945dbc7f9443fb19a1af8126bb7}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{up5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_hx\_s.up3 (C var)@\spxentry{vrna\_hx\_s.up3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/helix_list:c.vrna_hx_s.up3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/helix_list:structvrna__hx__s_1ac2c0832c332d750ff1c87f63a01760bd}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{up3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/helix.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Tree Representation of Secondary Structures}
\label{\detokenize{utils/struct/trees:tree-representation-of-secondary-structures}}\label{\detokenize{utils/struct/trees::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_STRUCTURE\_TREE\_HIT (C macro)@\spxentry{VRNA\_STRUCTURE\_TREE\_HIT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.VRNA_STRUCTURE_TREE_HIT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga3ad5609bc93ef20034c3ab989365c1f0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STRUCTURE\_TREE\_HIT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Homeomorphically Irreducible Tree (HIT) representation of a secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_SHORT (C macro)@\spxentry{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_SHORT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.VRNA_STRUCTURE_TREE_SHAPIRO_SHORT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga549e259a963d77e2d5b7e14083fc016e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_SHORT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
(short) Coarse Grained representation of a secondary structure 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STRUCTURE\_TREE\_SHAPIRO (C macro)@\spxentry{VRNA\_STRUCTURE\_TREE\_SHAPIRO}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.VRNA_STRUCTURE_TREE_SHAPIRO}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga4acd9991a0250ccd4cd44c4725b31927}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STRUCTURE\_TREE\_SHAPIRO}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
(full) Coarse Grained representation of a secondary structure 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_EXT (C macro)@\spxentry{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_EXT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.VRNA_STRUCTURE_TREE_SHAPIRO_EXT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga8666a10982a4f7a26892066ff07b4b48}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_EXT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
(extended) Coarse Grained representation of a secondary structure 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_WEIGHT (C macro)@\spxentry{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_WEIGHT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.VRNA_STRUCTURE_TREE_SHAPIRO_WEIGHT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga91f2e3a3a502d5445fd7fe5983a5fe92}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_WEIGHT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
(weighted) Coarse Grained representation of a secondary structure 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STRUCTURE\_TREE\_EXPANDED (C macro)@\spxentry{VRNA\_STRUCTURE\_TREE\_EXPANDED}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.VRNA_STRUCTURE_TREE_EXPANDED}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1gab3b65489d1322da65d3a3e53242307ef}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STRUCTURE\_TREE\_EXPANDED}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Expanded Tree representation of a secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_db\_to\_tree\_string (C function)@\spxentry{vrna\_db\_to\_tree\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.vrna_db_to_tree_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_to\_tree\_string}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a Dot\sphinxhyphen{}Bracket structure string into tree string representation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to convert a secondary structure in dot\sphinxhyphen{}bracket notation into one of the various tree representations for secondary structures. The resulting tree is then represented as a string of parenthesis and node symbols, similar to to the Newick format.

\sphinxAtStartPar
Currently we support conversion into the following formats, denoted by the value of parameter \sphinxcode{\sphinxupquote{type:}} \begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga3ad5609bc93ef20034c3ab989365c1f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_HIT}}}}} \sphinxhyphen{}   Homeomorphically Irreducible Tree (HIT) representation of a secondary structure.    (See also    Fontana \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id25}{1993}{]} )

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga549e259a963d77e2d5b7e14083fc016e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_SHORT}}}}} \sphinxhyphen{}   (short) Coarse Grained representation of a secondary structure    (same as    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} , but with root node \sphinxcode{\sphinxupquote{R}} and without \sphinxcode{\sphinxupquote{S}} nodes for the stems)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga4acd9991a0250ccd4cd44c4725b31927}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO}}}}} \sphinxhyphen{}   (full) Coarse Grained representation of a secondary structure    (See also    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} )

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga8666a10982a4f7a26892066ff07b4b48}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_EXT}}}}} \sphinxhyphen{}   (extended) Coarse Grained representation of a secondary structure    (same as    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} , but external nodes denoted as \sphinxcode{\sphinxupquote{E}} )

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga91f2e3a3a502d5445fd7fe5983a5fe92}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_WEIGHT}}}}} \sphinxhyphen{}   (weighted) Coarse Grained representation of a secondary structure    (same as {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga8666a10982a4f7a26892066ff07b4b48}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_EXT}}}}} but with additional weights for number of unpaired nucleotides in loop, and number of pairs in stems)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1gab3b65489d1322da65d3a3e53242307ef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_EXPANDED}}}}} \sphinxhyphen{}   Expanded Tree representation of a secondary structure.   

\end{itemize}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
sec\_structure\_representations\_tree


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The null\sphinxhyphen{}terminated dot\sphinxhyphen{}bracket structure string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} A switch to determine the type of tree string representation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A tree representation of the input \sphinxcode{\sphinxupquote{structure}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_tree\_string\_unweight (C function)@\spxentry{vrna\_tree\_string\_unweight}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.vrna_tree_string_unweight}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6531febe012d26927a87fae9e7bb4e76}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_tree\_string\_unweight}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove weights from a linear string tree representation of a secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function strips the weights of a linear string tree representation such as \sphinxcode{\sphinxupquote{HIT}}, or Coarse Grained Tree sensu    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} A linear string tree representation of a secondary structure with weights 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A linear string tree representation of a secondary structure without weights 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_tree\_string\_to\_db (C function)@\spxentry{vrna\_tree\_string\_to\_db}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/trees:c.vrna_tree_string_to_db}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/trees:group__struct__utils__tree_1ga33f017d7a065a92a1055a818b0ccbef4}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_tree\_string\_to\_db}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{tree}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert a linear tree string representation of a secondary structure back to Dot\sphinxhyphen{}Bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/tree.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}}, {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1gab3b65489d1322da65d3a3e53242307ef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_EXPANDED}}}}}, {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga3ad5609bc93ef20034c3ab989365c1f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_HIT}}}}}, sec\_structure\_representations\_tree


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function only accepts \sphinxstyleemphasis{Expanded} and \sphinxstyleemphasis{HIT} tree representations!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{tree}} \textendash{} A linear tree string representation of a secondary structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A dot\sphinxhyphen{}bracket notation of the secondary structure provided in \sphinxcode{\sphinxupquote{tree}}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Distance measures between Secondary Structures}
\label{\detokenize{utils/struct/metrics:distance-measures-between-secondary-structures}}\label{\detokenize{utils/struct/metrics::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/metrics:group__struct__utils__metrics}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_bp\_distance\_pt (C function)@\spxentry{vrna\_bp\_distance\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/metrics:c.vrna_bp_distance_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/metrics:group__struct__utils__metrics_1gae08cbd5ff44b7d77a271ceb79c12cfef}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bp\_distance\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the “base pair” distance between two pair tables pt1 and pt2 of secondary structures. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/metrics.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The pair tables should have the same length. dist = number of base pairs in one structure but not in the other same as edit distance with open\sphinxhyphen{}pair close\sphinxhyphen{}pair as move\sphinxhyphen{}set

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000179}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded method \sphinxstylestrong{{\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6ebbcd29a754f0e4f1a66d1fd84184db}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bp\_distance()}}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/metrics:group__struct__utils__metrics_1ga65bdfbac6a16bf30286e8a3f7d15f60a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_distance()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt1}} \textendash{} First structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt2}} \textendash{} Second structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The base pair distance between pt1 and pt2

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bp\_distance (C function)@\spxentry{vrna\_bp\_distance}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/metrics:c.vrna_bp_distance}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/metrics:group__struct__utils__metrics_1ga65bdfbac6a16bf30286e8a3f7d15f60a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bp\_distance}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{str1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{str2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the “base pair” distance between two secondary structures s1 and s2. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/metrics.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is a wrapper around \sphinxstylestrong{{\hyperref[\detokenize{utils/struct/metrics:group__struct__utils__metrics_1gae08cbd5ff44b7d77a271ceb79c12cfef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_distance\_pt()}}}}}}. The sequences should have the same length. dist = number of base pairs in one structure but not in the other same as edit distance with open\sphinxhyphen{}pair close\sphinxhyphen{}pair as move\sphinxhyphen{}set

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000180}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded method \sphinxstylestrong{{\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6ebbcd29a754f0e4f1a66d1fd84184db}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bp\_distance()}}}}}}. Note that the SWIG wrapper takes two structure in dot\sphinxhyphen{}bracket notation and converts them into pair tables using {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}. The resulting pair tables are then internally passed to {\hyperref[\detokenize{utils/struct/metrics:group__struct__utils__metrics_1gae08cbd5ff44b7d77a271ceb79c12cfef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_distance\_pt()}}}}}. To control which kind of matching brackets will be used during conversion, the optional argument \sphinxcode{\sphinxupquote{options}} can be used. See also the description of {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}} for available options. (default: \sphinxstylestrong{VRNA\_BRACKETS\_RND}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/metrics:group__struct__utils__metrics_1gae08cbd5ff44b7d77a271ceb79c12cfef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_distance\_pt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{str1}} \textendash{} First structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{str2}} \textendash{} Second structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The base pair distance between str1 and str2

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_dist\_mountain (C function)@\spxentry{vrna\_dist\_mountain}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/metrics:c.vrna_dist_mountain}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/metrics:group__struct__utils__metrics_1ga58224cf9335172baa1e725266cc5d90c}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_dist\_mountain}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{str1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{str2}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/metrics.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Benchmarking Secondary Structure Predictions}
\label{\detokenize{utils/struct/benchmark:benchmarking-secondary-structure-predictions}}\label{\detokenize{utils/struct/benchmark::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:group__struct__utils__benchmark}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_score\_t (C type)@\spxentry{vrna\_score\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:group__struct__utils__benchmark_1ga1fb1540256fbcd9543c602b111c3f512}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/benchmark:c.vrna_score_s}]{\sphinxcrossref{\DUrole{n}{vrna\_score\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_score\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the score data structure {\hyperref[\detokenize{utils/struct/benchmark:structvrna__score__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_score\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_score\_from\_confusion\_matrix (C function)@\spxentry{vrna\_score\_from\_confusion\_matrix}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_from_confusion_matrix}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/benchmark:group__struct__utils__benchmark_1gab15a86fd8de27f90e64bae0b6b0ca68d}}{\hyperref[\detokenize{utils/struct/benchmark:c.vrna_score_t}]{\sphinxcrossref{\DUrole{n}{vrna\_score\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_score\_from\_confusion\_matrix}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{TP}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{TN}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FP}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{FN}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Construct score data structure from given confusion matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{TP}} \textendash{} True positive count 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{TN}} \textendash{} True negative count 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FP}} \textendash{} False positive count 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{FN}} \textendash{} False negative count 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The score data structure to write 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_compare\_structure\_pt (C function)@\spxentry{vrna\_compare\_structure\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_compare_structure_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/benchmark:group__struct__utils__benchmark_1gafd537fdc762e2f20afabf699e7e74bcf}}{\hyperref[\detokenize{utils/struct/benchmark:c.vrna_score_t}]{\sphinxcrossref{\DUrole{n}{vrna\_score\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_compare\_structure\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt\_gold}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt\_other}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{fuzzy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Return statistic of two structure (in pair table) comparaison. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/benchmark:group__struct__utils__benchmark_1ga12495e49a4214b0bdab3fa37f542a9db}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_compare\_structure}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt\_gold}} \textendash{} Gold standard structure in pair table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt\_other}} \textendash{} Structure to compare in pair table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fuzzy}} \textendash{} Allows for base pair slippage. Hence, for any base pair (i,j) in the gold standard, a base pair (p, q) in the second structure is considered a true positive, if i \sphinxhyphen{} fuzzy \textless{}= p \textless{}= i + fuzzy, and j \sphinxhyphen{} fuzzy \textless{}= q \textless{}= j + fuzzy. 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The {\hyperref[\detokenize{utils/struct/benchmark:structvrna__score__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_score\_s}}}}} data structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_compare\_structure (C function)@\spxentry{vrna\_compare\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_compare_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/benchmark:group__struct__utils__benchmark_1ga12495e49a4214b0bdab3fa37f542a9db}}{\hyperref[\detokenize{utils/struct/benchmark:c.vrna_score_t}]{\sphinxcrossref{\DUrole{n}{vrna\_score\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_compare\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure\_gold}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure\_other}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{fuzzy}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Return statistic of two structure (in dbn) comparaison. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt\_gold}} \textendash{} Gold standard structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt\_other}} \textendash{} Structure to compare 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fuzzy}} \textendash{} Allows for base pair slippage. Hence, for any base pair (i,j) in the gold standard, a base pair (p, q) in the second structure is considered a true positive, if i \sphinxhyphen{} fuzzy \textless{}= p \textless{}= i + fuzzy, and j \sphinxhyphen{} fuzzy \textless{}= q \textless{}= j + fuzzy. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A bitmask to specify which brackets are recognized during conversion to pair table 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The {\hyperref[\detokenize{utils/struct/benchmark:structvrna__score__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_score\_s}}}}} data structure 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_score\_s (C struct)@\spxentry{vrna\_score\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_score\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/structures/benchmark.h\textgreater{}}
\sphinxAtStartPar
The data structure that contains statistic result of two structures comparaison. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_score\_s.TP (C var)@\spxentry{vrna\_score\_s.TP}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.TP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1acca9e4a5dec48b375e7f5ce15544a71c}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
True Positive count. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.TN (C var)@\spxentry{vrna\_score\_s.TN}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.TN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1a79de32b42cd83fdf7fc7e76080fe2d14}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
True Negative count. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.FP (C var)@\spxentry{vrna\_score\_s.FP}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.FP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1ae1ddf8038685a27253fcb2c0a39fde95}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
False Positive count. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.FN (C var)@\spxentry{vrna\_score\_s.FN}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.FN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1af3080eb77276c1d30731a8da006ee75f}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
False Negative count. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.TPR (C var)@\spxentry{vrna\_score\_s.TPR}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.TPR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1a22853369d464dc5609bc6b86e2249a6f}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TPR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
True Positive Rate. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.PPV (C var)@\spxentry{vrna\_score\_s.PPV}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.PPV}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1adc82125a14b5580c8345f8e6bd34287a}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PPV}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Positive Predictive Value. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.FPR (C var)@\spxentry{vrna\_score\_s.FPR}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.FPR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1ab36bfe221b4a49d3ba640b7a1cc350f6}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FPR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
False Positive Rate. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.FOR (C var)@\spxentry{vrna\_score\_s.FOR}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.FOR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1a6814036cae1cbe55295512da50ec7846}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FOR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
False Omission Rate. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.TNR (C var)@\spxentry{vrna\_score\_s.TNR}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.TNR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1ad72ca000cea39feea3ed15a459bc8c1c}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{TNR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
True Negative Rate. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.FDR (C var)@\spxentry{vrna\_score\_s.FDR}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.FDR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1af99283172ab0399bdb9aea8337f9e66b}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FDR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
False Discovery Rate. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.FNR (C var)@\spxentry{vrna\_score\_s.FNR}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.FNR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1abf98844dc1c08a0e5215a379dc451ca2}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FNR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
False Negative Rate. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.NPV (C var)@\spxentry{vrna\_score\_s.NPV}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.NPV}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1a0586733c9eef59fd115b31420de246bc}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{NPV}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Negative Predictive Value. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.F1 (C var)@\spxentry{vrna\_score\_s.F1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.F1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1a01624a1a3d533179fffb6d2663bdea9f}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{F1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
F1 Score. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_score\_s.MCC (C var)@\spxentry{vrna\_score\_s.MCC}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/benchmark:c.vrna_score_s.MCC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/benchmark:structvrna__score__s_1aaf197445c80a8379332cc6466b77aa87}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{MCC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Matthews Correlation Coefficient. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/benchmark.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Deprecated Interface for Secondary Structure Utilities}
\label{\detokenize{utils/struct/deprecated:deprecated-interface-for-secondary-structure-utilities}}\label{\detokenize{utils/struct/deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{STRUC (C macro)@\spxentry{STRUC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.STRUC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gaa100f7d3ce0ad4f527a61c5764ebf277}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{STRUC}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{b2HIT (C function)@\spxentry{b2HIT}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.b2HIT}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab3fcb3ff7e9bcd86cd969093bdae0c8d}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{b2HIT}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Converts the full structure from bracket notation to the HIT notation including root. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000116}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}} and {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga3ad5609bc93ef20034c3ab989365c1f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_HIT}}}}} for a replacement

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{b2C (C function)@\spxentry{b2C}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.b2C}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gaab548531941f27c91108b89a8f570f95}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{b2C}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Converts the full structure from bracket notation to the a coarse grained notation using the ‘H’ ‘B’ ‘I’ ‘M’ and ‘R’ identifiers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000117}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}} and {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga549e259a963d77e2d5b7e14083fc016e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_SHORT}}}}} for a replacement

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{b2Shapiro (C function)@\spxentry{b2Shapiro}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.b2Shapiro}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga2baf1c3a2182f21a4384107df979cd67}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{b2Shapiro}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Converts the full structure from bracket notation to the \sphinxstyleemphasis{weighted} coarse grained notation using the ‘H’ ‘B’ ‘I’ ‘M’ ‘S’ ‘E’ and ‘R’ identifiers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000118}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
See {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}} and {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga91f2e3a3a502d5445fd7fe5983a5fe92}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_WEIGHT}}}}} for a replacement

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{add\_root (C function)@\spxentry{add\_root}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.add_root}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gaf3b80d1fe7485e69c6eb85965613a145}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{add\_root}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Adds a root to an un\sphinxhyphen{}rooted tree in any except bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{expand\_Shapiro (C function)@\spxentry{expand\_Shapiro}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.expand_Shapiro}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga04c7268dcc798f92290604a762c3ddf8}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{expand\_Shapiro}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{coarse}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Inserts missing ‘S’ identifiers in unweighted coarse grained structures as obtained from {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gaab548531941f27c91108b89a8f570f95}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{b2C()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{coarse}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{expand\_Full (C function)@\spxentry{expand\_Full}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.expand_Full}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6eea10bca410a57aaffcdea7bcf89bda}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{expand\_Full}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert the full structure from bracket notation to the expanded notation including root. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{unexpand\_Full (C function)@\spxentry{unexpand\_Full}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.unexpand_Full}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gad67c8ef662c147c5f55da3c233376e59}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{unexpand\_Full}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ffull}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Restores the bracket notation from an expanded full or HIT tree, that is any tree using only identifiers ‘U’ ‘P’ and ‘R’. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ffull}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{unweight (C function)@\spxentry{unweight}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.unweight}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga4921d8967002f8e6e30a8ac046bbf557}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{unweight}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{wcoarse}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Strip weights from any weighted tree. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{wcoarse}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar


\end{description}\end{quote}

\end{fulllineitems}

\index{unexpand\_aligned\_F (C function)@\spxentry{unexpand\_aligned\_F}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.unexpand_aligned_F}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga1054c4477d53b31d79d4cb132100e87a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{unexpand\_aligned\_F}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{align}\DUrole{p}{{[}}\DUrole{m}{2}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Converts two aligned structures in expanded notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Takes two aligned structures as produced by tree\_edit\_distance() function back to bracket notation with ‘\_’ as the gap character. The result overwrites the input.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{align}}

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_structure (C function)@\spxentry{parse\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.parse_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga3c79042e6bf6f01706bf30ec9e69e8ac}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{parse\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Collects a statistic of structure elements of the full structure in bracket notation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The function writes to the following global variables: {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga3f31e0e48125601bfa57b52f8b038e8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{loop\_size}}}}}, {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gaef14e2f8ab3f61e8e659ba6b9003b08a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{loop\_degree}}}}}, {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga8218c0d581a3fba2a1a56a196abe19a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{helix\_size}}}}}, {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga439fcb9f8d4f9f4d2227fde5fbfecb30}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{loops}}}}}, {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6341cbb704924824e0236c1dce791032}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pairs}}}}}, {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gadd2f952597e02d66e1116a9d11d252d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{unpaired}}}}}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}}

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{pack\_structure (C function)@\spxentry{pack\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.pack_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga99e8565f0e7eb7c59a100841d50d7ee5}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pack\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{struc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pack secondary secondary structure, 5:1 compression using base 3 encoding. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a binary string encoding of the secondary structure using a 5:1 compression scheme. The string is NULL terminated and can therefore be used with standard string functions such as strcmp(). Useful for programs that need to keep many structures in memory.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000212}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9db9613100e9f750017d3e13a874bb7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pack()}}}}} as a replacement

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{struc}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The binary encoded structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{unpack\_structure (C function)@\spxentry{unpack\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.unpack_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga288130063fdf28acbe3c2ce3e826cf4b}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{unpack\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{packed}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Unpack secondary structure previously packed with {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga99e8565f0e7eb7c59a100841d50d7ee5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pack\_structure()}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Translate a compressed binary string produced by {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga99e8565f0e7eb7c59a100841d50d7ee5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pack\_structure()}}}}} back into the familiar dot\sphinxhyphen{}bracket notation.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000213}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9c8c7296b5bb75f7d32c20dc004eb723}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_unpack()}}}}} as a replacement

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{packed}} \textendash{} The binary encoded packed secondary structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The unpacked secondary structure in dot\sphinxhyphen{}bracket notation 

\end{description}\end{quote}

\end{fulllineitems}

\index{parenthesis\_structure (C function)@\spxentry{parenthesis\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.parenthesis_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gadf0ad2d46c9ca7b850437d1b79627a7e}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{parenthesis\_structure}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bp}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a dot\sphinxhyphen{}backet/parenthesis structure from backtracking stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000214}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use vrna\_parenthesis\_structure() instead 

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe 
\end{sphinxadmonition}

\end{fulllineitems}

\index{parenthesis\_zuker (C function)@\spxentry{parenthesis\_zuker}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.parenthesis_zuker}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab9c5c8311bd5120900585d4fa50c2df0}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{parenthesis\_zuker}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bp}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a dot\sphinxhyphen{}backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000215}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
use vrna\_parenthesis\_zuker instead 

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe 
\end{sphinxadmonition}

\end{fulllineitems}

\index{bppm\_to\_structure (C function)@\spxentry{bppm\_to\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.bppm_to_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga129d81c4a1ead793c5b2311333e03dfa}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bppm\_to\_structure}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a dot\sphinxhyphen{}bracket like structure string from base pair probability matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000216}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1gacb5f1fafaf20eaf6a63052153499f0bb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_probs()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{bppm\_symbol (C function)@\spxentry{bppm\_symbol}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.bppm_symbol}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga49962ad6242b8c628de6ca16bb831c1d}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bppm\_symbol}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a pseudo dot bracket notation for a given probability information. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000217}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1ga025bff1b27fa46534c8fae6980f64bb5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bpp\_symbol()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{bp\_distance (C function)@\spxentry{bp\_distance}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.bp_distance}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6ebbcd29a754f0e4f1a66d1fd84184db}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bp\_distance}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{str1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{str2}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the “base pair” distance between two secondary structures s1 and s2. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/metrics.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The sequences should have the same length. dist = number of base pairs in one structure but not in the other same as edit distance with open\sphinxhyphen{}pair close\sphinxhyphen{}pair as move\sphinxhyphen{}set

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000219}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use vrna\_bp\_distance instead

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{str1}} \textendash{} First structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{str2}} \textendash{} Second structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The base pair distance between str1 and str2 

\end{description}\end{quote}

\end{fulllineitems}

\index{make\_pair\_table (C function)@\spxentry{make\_pair\_table}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.make_pair_table}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab037d0de2e4c3d6a3f1d51b5b22315dc}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{make\_pair\_table}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table of a secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a newly allocated table, such that table{[}i{]}=j if (i.j) pair or 0 if i is unpaired, table{[}0{]} contains the length of the structure.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000220}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}} instead 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the created pair\_table 

\end{description}\end{quote}

\end{fulllineitems}

\index{copy\_pair\_table (C function)@\spxentry{copy\_pair\_table}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.copy_pair_table}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga1ce48c7bbd7d1d1429124abfe3ee68fc}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{copy\_pair\_table}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an exact copy of a pair table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000221}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}} instead 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table to be copied 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the copy of ‘pt’ 

\end{description}\end{quote}

\end{fulllineitems}

\index{alimake\_pair\_table (C function)@\spxentry{alimake\_pair\_table}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.alimake_pair_table}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga7de27e1761e844061a7bdc704124614a}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{alimake\_pair\_table}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Pair table for snoop align

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000222}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga7b2fb019d2e5f17e40d5cfa8e30a4607}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pt\_ali\_get()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{make\_pair\_table\_snoop (C function)@\spxentry{make\_pair\_table\_snoop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.make_pair_table_snoop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab52c17083d021494b64820302be07039}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{make\_pair\_table\_snoop}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/pairtable.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
returns a newly allocated table, such that: table{[}i{]}=j if (i.j) pair or 0 if i is unpaired, table{[}0{]} contains the length of the structure. The special pseudoknotted H/ACA\sphinxhyphen{}mRNA structure is taken into account. 

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000223}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga325b0bfa1a4f1a186c917d2fa3777396}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pt\_snoop\_get()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{make\_referenceBP\_array (C function)@\spxentry{make\_referenceBP\_array}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.make_referenceBP_array}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gafd6aece250daccb89923db327a81e904}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{make\_referenceBP\_array}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reference\_pt}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{turn}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make a reference base pair count matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Get an upper triangular matrix containing the number of basepairs of a reference structure for each interval {[}i,j{]} with i\textless{}j. Access it via iindx!!!

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000226}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1gad5e50b8d4f6837ad15ab784738682147}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_refBPcnt\_matrix()}}}}} instead

\end{fulllineitems}



\end{fulllineitems}

\index{compute\_BPdifferences (C function)@\spxentry{compute\_BPdifferences}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.compute_BPdifferences}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gafd74239e8e76c01419116d9d4a50e700}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{compute\_BPdifferences}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt1}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt2}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{turn}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make a reference base pair distance matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Get an upper triangular matrix containing the base pair distance of two reference structures for each interval {[}i,j{]} with i\textless{}j. Access it via iindx!!!

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000227}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1ga7f4b0443a4fb67c924532895757d9496}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_refBPdist\_matrix()}}}}} instead

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{loop\_size (C var)@\spxentry{loop\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.loop_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga3f31e0e48125601bfa57b52f8b038e8e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{loop\_size}}}\DUrole{p}{{[}}{\hyperref[\detokenize{utils/struct/deprecated:c.STRUC}]{\sphinxcrossref{\DUrole{n}{STRUC}}}}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains a list of all loop sizes. loop\_size{[}0{]} contains the number of external bases. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{helix\_size (C var)@\spxentry{helix\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.helix_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga8218c0d581a3fba2a1a56a196abe19a5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{helix\_size}}}\DUrole{p}{{[}}{\hyperref[\detokenize{utils/struct/deprecated:c.STRUC}]{\sphinxcrossref{\DUrole{n}{STRUC}}}}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains a list of all stack sizes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{loop\_degree (C var)@\spxentry{loop\_degree}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.loop_degree}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gaef14e2f8ab3f61e8e659ba6b9003b08a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{loop\_degree}}}\DUrole{p}{{[}}{\hyperref[\detokenize{utils/struct/deprecated:c.STRUC}]{\sphinxcrossref{\DUrole{n}{STRUC}}}}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains the corresponding list of loop degrees. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{loops (C var)@\spxentry{loops}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.loops}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga439fcb9f8d4f9f4d2227fde5fbfecb30}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{loops}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains the number of loops ( and therefore of stacks ). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{unpaired (C var)@\spxentry{unpaired}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.unpaired}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gadd2f952597e02d66e1116a9d11d252d6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{unpaired}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains the number of unpaired bases. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pairs (C var)@\spxentry{pairs}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/struct/deprecated:c.pairs}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6341cbb704924824e0236c1dce791032}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pairs}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contains the number of base pairs in the last parsed structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/RNAstruct.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_loopidx\_from\_ptable (C function)@\spxentry{vrna\_loopidx\_from\_ptable}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_loopidx_from_ptable}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1ga8a2c825d6a9c2d73329b6c09320a6a90}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_loopidx\_from\_ptable}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a loop index representation of a structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_db\_from\_probs (C function)@\spxentry{vrna\_db\_from\_probs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_db_from_probs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1gacb5f1fafaf20eaf6a63052153499f0bb}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_from\_probs}}}}
{\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pr}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a dot\sphinxhyphen{}bracket like structure string from base pair probability matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000181}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as parameter\sphinxhyphen{}less method \sphinxstylestrong{db\_from\_probs()} bound to objects of type \sphinxstyleemphasis{fold\_compound}. Parameters \sphinxcode{\sphinxupquote{pr}} and \sphinxcode{\sphinxupquote{length}} are implicitely taken from the \sphinxstyleemphasis{fold\_compound} object the method is bound to. Upon missing base pair probabilities, this method returns an empty string. See, e.g.   \sphinxcode{\sphinxupquote{RNA.db\_from\_probs()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_pairing\_tendency (C function)@\spxentry{vrna\_pairing\_tendency}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_pairing_tendency}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1gabcfce39809bcb24487841fb430d8ef1f}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pairing\_tendency}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bpp\_symbol (C function)@\spxentry{vrna\_bpp\_symbol}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_bpp_symbol}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1ga025bff1b27fa46534c8fae6980f64bb5}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bpp\_symbol}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a pseudo dot bracket notation for a given probability information. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_db\_from\_bps (C function)@\spxentry{vrna\_db\_from\_bps}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_db_from_bps}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1ga29d5a2517277a5b7eba6c8a101555ef4}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_from\_bps}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bp\_stack}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a dot\sphinxhyphen{}backet/parenthesis structure from backtracking stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is capable to create dot\sphinxhyphen{}bracket structures from base pairs stored within the base pair stack \sphinxcode{\sphinxupquote{bp\_stack}}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bp\_stack}} \textendash{} Base pair stack containing the traced base pairs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The secondary structure in dot\sphinxhyphen{}bracket notation as provided in the input 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_db\_from\_bp\_stack (C function)@\spxentry{vrna\_db\_from\_bp\_stack}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_db_from_bp_stack}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1ga807dbe2fdefa8a482cdad46520908464}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_db\_from\_bp\_stack}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bp}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a dot\sphinxhyphen{}backet/parenthesis structure from backtracking stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is capable to create dot\sphinxhyphen{}bracket structures from suboptimal structure prediction sensu M. Zuker
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bp}} \textendash{} Base pair stack containing the traced base pairs 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The secondary structure in dot\sphinxhyphen{}bracket notation as provided in the input 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_letter\_structure (C function)@\spxentry{vrna\_letter\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_letter_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1ga6708519ddf10f1420016ad47b5a3baea}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_letter\_structure}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{bp}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/dotbracket.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_refBPcnt\_matrix (C function)@\spxentry{vrna\_refBPcnt\_matrix}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_refBPcnt_matrix}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1gad5e50b8d4f6837ad15ab784738682147}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_refBPcnt\_matrix}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{reference\_pt}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{turn}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make a reference base pair count matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Get an upper triangular matrix containing the number of basepairs of a reference structure for each interval {[}i,j{]} with i\textless{}j. Access it via iindx!!! 

\end{fulllineitems}

\index{vrna\_refBPdist\_matrix (C function)@\spxentry{vrna\_refBPdist\_matrix}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/structures:c.vrna_refBPdist_matrix}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/structures:group__struct__utils_1ga7f4b0443a4fb67c924532895757d9496}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_refBPdist\_matrix}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt2}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{turn}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make a reference base pair distance matrix. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/structures/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Get an upper triangular matrix containing the base pair distance of two reference structures for each interval {[}i,j{]} with i\textless{}j. Access it via iindx!!! 

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Multiple Sequence Alignment Utilities}
\label{\detokenize{utils/msa:multiple-sequence-alignment-utilities}}\label{\detokenize{utils/msa::doc}}
\sphinxAtStartPar
Functions to extract features from and to manipulate multiple
sequence alignments (MSA).

\sphinxstepscope


\subsubsection{Deprecated Interface for Multiple Sequence Alignment Utilities}
\label{\detokenize{utils/msa_deprecated:deprecated-interface-for-multiple-sequence-alignment-utilities}}\label{\detokenize{utils/msa_deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{pair\_info (C type)@\spxentry{pair\_info}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.pair_info}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga7b61662a793ad0aa1ea38efc3a5baacc}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/msa:c.vrna_pinfo_s}]{\sphinxcrossref{\DUrole{n}{vrna\_pinfo\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pair\_info}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of {\hyperref[\detokenize{utils/msa:structvrna__pinfo__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000207}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga6660dfca23debee7306e0cd53341263f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_t}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{read\_clustal (C function)@\spxentry{read\_clustal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.read_clustal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga1cc88b4df842ca73b4ac0cb5e71c696a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{read\_clustal}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{clust}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{AlignedSeqs}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{names}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{consensus (C function)@\spxentry{consensus}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.consensus}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga399c3fc793c4c92b593f27ca1e94b095}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{consensus}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{AS}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{consens\_mis (C function)@\spxentry{consens\_mis}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.consens_mis}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1gaca7f2016e58c6af5705892d8416336ab}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{consens\_mis}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{AS}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_ungapped\_sequence (C function)@\spxentry{get\_ungapped\_sequence}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.get_ungapped_sequence}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1gaef1e8677284900aa23566fe37a56508c}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_ungapped\_sequence}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{get\_mpi (C function)@\spxentry{get\_mpi}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.get_mpi}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1gaa2d600be90844094ec145ea14a314d2f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_mpi}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{Alseq}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{mini}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the mean pairwise identity in steps from ?to?(ident). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000208}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/msa:group__aln__utils_1gade5a1f2d16e7fd9a57b37d8514f08e8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_mpi()}}}}} as a replacement

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Alseq}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n\_seq}} \textendash{} The number of sequences in the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mini}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mean pairwise identity 

\end{description}\end{quote}

\end{fulllineitems}

\index{encode\_ali\_sequence (C function)@\spxentry{encode\_ali\_sequence}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.encode_ali_sequence}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1gaa3e40277c837d6f7603afe319884c786}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{encode\_ali\_sequence}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s5}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s3}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ss}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{as}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{circ}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get arrays with encoded sequence of the alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
this function assumes that in S, S5, s3, ss and as enough space is already allocated (size must be at least sequence length+2)
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The gapped sequence from the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S}} \textendash{} pointer to an array that holds encoded sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s5}} \textendash{} pointer to an array that holds the next base 5’ of alignment position i 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s3}} \textendash{} pointer to an array that holds the next base 3’ of alignment position i 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ss}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{as}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{circ}} \textendash{} assume the molecules to be circular instead of linear (circ=0) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{alloc\_sequence\_arrays (C function)@\spxentry{alloc\_sequence\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.alloc_sequence_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga8a560930f7f2582cc3967723a86cfdfa}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{alloc\_sequence\_arrays}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S5}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S3}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{Ss}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{circ}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Allocate memory for sequence array used to deal with aligned sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Note that these arrays will also be initialized according to the sequence alignment given

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga298a420a8c879202e2617b3f724fde38}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_sequence\_arrays()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} \textendash{} The aligned sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S}} \textendash{} A pointer to the array of encoded sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S5}} \textendash{} A pointer to the array that contains the next 5’ nucleotide of a sequence position 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S3}} \textendash{} A pointer to the array that contains the next 3’ nucleotide of a sequence position 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{a2s}} \textendash{} A pointer to the array that contains the alignment to sequence position mapping 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Ss}} \textendash{} A pointer to the array that contains the ungapped sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{circ}} \textendash{} assume the molecules to be circular instead of linear (circ=0) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_sequence\_arrays (C function)@\spxentry{free\_sequence\_arrays}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa_deprecated:c.free_sequence_arrays}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga298a420a8c879202e2617b3f724fde38}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_sequence\_arrays}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S5}\sphinxparamcomma \DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{S3}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{a2s}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{Ss}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free the memory of the sequence arrays used to deal with aligned sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function frees the memory previously allocated with {\hyperref[\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga8a560930f7f2582cc3967723a86cfdfa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alloc\_sequence\_arrays()}}}}}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga8a560930f7f2582cc3967723a86cfdfa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alloc\_sequence\_arrays()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n\_seq}} \textendash{} The number of aligned sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S}} \textendash{} A pointer to the array of encoded sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S5}} \textendash{} A pointer to the array that contains the next 5’ nucleotide of a sequence position 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S3}} \textendash{} A pointer to the array that contains the next 3’ nucleotide of a sequence position 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{a2s}} \textendash{} A pointer to the array that contains the alignment to sequence position mapping 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Ss}} \textendash{} A pointer to the array that contains the ungapped sequence 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_ALN\_DEFAULT (C macro)@\spxentry{VRNA\_ALN\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.VRNA_ALN_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga7437bcbc3142b266f1f3b086eb669092}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ALN\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Use default alignment settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_ALN\_RNA (C macro)@\spxentry{VRNA\_ALN\_RNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.VRNA_ALN_RNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga1a2aa60bcc51dc8e48c07bf146bd28c1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ALN\_RNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert to RNA alphabet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_ALN\_DNA (C macro)@\spxentry{VRNA\_ALN\_DNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.VRNA_ALN_DNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga36affc310a5adedf1bdbf9669dd4bf85}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ALN\_DNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert to DNA alphabet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_ALN\_UPPERCASE (C macro)@\spxentry{VRNA\_ALN\_UPPERCASE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.VRNA_ALN_UPPERCASE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga0de72fc917d72acafe862750a3a5e0bc}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ALN\_UPPERCASE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert to uppercase nucleotide letters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_ALN\_LOWERCASE (C macro)@\spxentry{VRNA\_ALN\_LOWERCASE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.VRNA_ALN_LOWERCASE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga27eb303be3c8368c9e8be76a4d6ca35e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ALN\_LOWERCASE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert to lowercase nucleotide letters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MEASURE\_SHANNON\_ENTROPY (C macro)@\spxentry{VRNA\_MEASURE\_SHANNON\_ENTROPY}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.VRNA_MEASURE_SHANNON_ENTROPY}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga1e659227c9fc077d29989f576f129000}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MEASURE\_SHANNON\_ENTROPY}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flag indicating Shannon Entropy measure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Shannon Entropy is defined as \( H = - \sum_c p_c \cdot \log_2 p_c \)

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_pinfo\_t (C type)@\spxentry{vrna\_pinfo\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga6660dfca23debee7306e0cd53341263f}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/msa:c.vrna_pinfo_s}]{\sphinxcrossref{\DUrole{n}{vrna\_pinfo\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pinfo\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the base pair info repesenting data structure {\hyperref[\detokenize{utils/msa:structvrna__pinfo__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_aln\_mpi (C function)@\spxentry{vrna\_aln\_mpi}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_mpi}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gade5a1f2d16e7fd9a57b37d8514f08e8e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_mpi}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the mean pairwise identity in steps from ?to?(ident). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000005}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{aln\_mpi()}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_mpi}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_mpi()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} Aligned sequences 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mean pairwise identity

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_pinfo (C function)@\spxentry{vrna\_aln\_pinfo}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_pinfo}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gaac78a02d9939e68d570ff296547ff519}}{\hyperref[\detokenize{utils/msa:c.vrna_pinfo_t}]{\sphinxcrossref{\DUrole{n}{vrna\_pinfo\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_pinfo}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{threshold}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve an array of {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga6660dfca23debee7306e0cd53341263f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_t}}}}} structures from precomputed pair probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This array of structures contains information about positionwise pair probabilies, base pair entropy and more

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa:group__aln__utils_1ga6660dfca23debee7306e0cd53341263f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_t}}}}}, and {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} of type {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}} with precomputed partition function matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} An optional structure in dot\sphinxhyphen{}bracket notation (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{threshold}} \textendash{} Do not include results with pair probabilities below threshold 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga6660dfca23debee7306e0cd53341263f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_t}}}}} array 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_pscore (C function)@\spxentry{vrna\_aln\_pscore}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_pscore}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga697bf6f44356918cceeff4ed8ee885e1}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_pscore}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000006}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_pscore()}} where the last parameter may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_pscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_pscore()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_pscore (C function)@\spxentry{vrna\_pscore}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pscore}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gadd5e56bd49b93fa7859a9f802a11540f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pscore}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pscore\_freq (C function)@\spxentry{vrna\_pscore\_freq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pscore_freq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga9071db7f59818374bc097b6be5fd3376}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pscore\_freq}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{frequencies}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{pairs}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_aln\_slice (C function)@\spxentry{vrna\_aln\_slice}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_slice}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gaab40cf1f120da37ffe2e80ae9d91815f}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_slice}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Slice out a subalignment from a larger alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa:group__aln__utils_1gac00dc80b8a324f151f92f11ab6850ecf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_free()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The user is responsible to free the memory occupied by the returned subalignment
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The first column of the subalignment (1\sphinxhyphen{}based) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} \textendash{} The last column of the subalignment (1\sphinxhyphen{}based) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The subalignment between column \(i\) and \(j\)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_free (C function)@\spxentry{vrna\_aln\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gac00dc80b8a324f151f92f11ab6850ecf}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_free}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by a set of aligned sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input alignment 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_uppercase (C function)@\spxentry{vrna\_aln\_uppercase}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_uppercase}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gae78fb593225fc9c82e5a28c7c76e0e40}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_uppercase}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a copy of an alignment with only uppercase letters in the sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa:group__aln__utils_1ga31d79a1b1eb8bc5673303efc18461091}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_copy}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the input alignment where lowercase sequence letters are replaced by uppercase letters 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_toRNA (C function)@\spxentry{vrna\_aln\_toRNA}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_toRNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gab64cc5d5d6672a1213f6442bd766a726}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_toRNA}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a copy of an alignment where DNA alphabet is replaced by RNA alphabet. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa:group__aln__utils_1ga31d79a1b1eb8bc5673303efc18461091}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_copy}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A copy of the input alignment where DNA alphabet is replaced by RNA alphabet (T \sphinxhyphen{}\textgreater{} U) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_copy (C function)@\spxentry{vrna\_aln\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1ga31d79a1b1eb8bc5673303efc18461091}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_copy}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make a copy of a multiple sequence alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to create a copy of a multiple sequence alignment. The \sphinxcode{\sphinxupquote{options}} parameter additionally allows for sequence manipulation, such as converting DNA to RNA alphabet, and conversion to uppercase letters.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa:group__aln__utils_1ga31d79a1b1eb8bc5673303efc18461091}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_copy()}}}}}, {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga1a2aa60bcc51dc8e48c07bf146bd28c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_ALN\_RNA}}}}}, {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga0de72fc917d72acafe862750a3a5e0bc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_ALN\_UPPERCASE}}}}}, {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga7437bcbc3142b266f1f3b086eb669092}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_ALN\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Option flags indicating whether the aligned sequences should be converted 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A (manipulated) copy of the input alignment 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_conservation\_struct (C function)@\spxentry{vrna\_aln\_conservation\_struct}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_conservation_struct}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gab6f16a2ea93f3bfd4d089cc8d448bb16}}\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_conservation\_struct}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute base pair conservation of a consensus structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the base pair conservation (fraction of canonical base pairs) of a consensus structure given a multiple sequence alignment. The base pair types that are considered canonical may be specified using the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1ab4da594c638707e212f64aadb54a7454}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.pair}}}}} array. Passing \sphinxstyleemphasis{NULL} as parameter \sphinxcode{\sphinxupquote{md}} results in default pairing rules, i.e. canonical Watson\sphinxhyphen{}Crick and GU Wobble pairs.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_conservation\_struct()}} where the last parameter \sphinxcode{\sphinxupquote{md}} may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.aln_conservation_struct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_conservation\_struct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The consensus structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} Model details that specify compatible base pairs (Maybe \sphinxstyleemphasis{NULL}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A 1\sphinxhyphen{}based vector of base pair conservations

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_conservation\_col (C function)@\spxentry{vrna\_aln\_conservation\_col}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_conservation_col}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gaa12b481a7e7b965ef2eb1bcc4399e759}}\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_conservation\_col}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide conservation in an alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function computes the conservation of nucleotides in alignment columns. The simples measure is Shannon Entropy and can be selected by passing the {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga1e659227c9fc077d29989f576f129000}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MEASURE\_SHANNON\_ENTROPY}}}}} flag in the \sphinxcode{\sphinxupquote{options}} parameter.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000002}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_conservation\_col()}} where the last two parameters may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}, and \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga1e659227c9fc077d29989f576f129000}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MEASURE\_SHANNON\_ENTROPY}}}}}, respectively. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_conservation_col}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_conservation\_col()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/msa:group__aln__utils_1ga1e659227c9fc077d29989f576f129000}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MEASURE\_SHANNON\_ENTROPY}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Currently, only {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga1e659227c9fc077d29989f576f129000}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MEASURE\_SHANNON\_ENTROPY}}}}} is supported as conservation measure.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} Model details that specify known nucleotides (Maybe \sphinxstyleemphasis{NULL}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A flag indicating which measure of conservation should be applied 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A 1\sphinxhyphen{}based vector of column conservations

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_consensus\_sequence (C function)@\spxentry{vrna\_aln\_consensus\_sequence}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_consensus_sequence}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gac6a33fa856d66dcb6f5d40ce0b61d7c7}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_consensus\_sequence}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the consensus sequence for a given multiple sequence alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000003}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_consensus\_sequence()}} where the last parameter may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_consensus_sequence}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_consensus\_sequence()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} \textendash{} Model details that specify known nucleotides (Maybe \sphinxstyleemphasis{NULL}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The consensus sequence of the alignment, i.e. the most frequent nucleotide for each alignment column

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_aln\_consensus\_mis (C function)@\spxentry{vrna\_aln\_consensus\_mis}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_aln_consensus_mis}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/msa:group__aln__utils_1gacd02c66d9e6f8dd5318f4fca0dc76cba}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_consensus\_mis}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute the Most Informative Sequence (MIS) for a given multiple sequence alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The most informative sequence (MIS)    {[}\hyperlink{cite.bibliography:id39}{Freyhult \sphinxstyleemphasis{et al.}, 2005}{]}  displays for each alignment column the nucleotides with frequency greater than the background frequency, projected into IUPAC notation. Columns where gaps are over\sphinxhyphen{}represented are in lower case.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000004}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_consensus\_mis()}} where the last parameter may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_consensus_mis}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_consensus\_mis()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} \textendash{} Model details that specify known nucleotides (Maybe \sphinxstyleemphasis{NULL}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The most informative sequence for the alignment

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_pinfo\_s (C struct)@\spxentry{vrna\_pinfo\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:structvrna__pinfo__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_pinfo\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/sequences/alignments.h\textgreater{}}
\sphinxAtStartPar
A base pair info structure. 

\sphinxAtStartPar
For each base pair (i,j) with i,j in {[}0, n\sphinxhyphen{}1{]} the structure lists:\begin{itemize}
\item {} 
\sphinxAtStartPar
its probability ‘p’

\item {} 
\sphinxAtStartPar
an entropy\sphinxhyphen{}like measure for its well\sphinxhyphen{}definedness ‘ent’

\item {} 
\sphinxAtStartPar
the frequency of each type of pair in ‘bp{[}{]}’\begin{itemize}
\item {} 
\sphinxAtStartPar
’bp{[}0{]}’ contains the number of non\sphinxhyphen{}compatible sequences

\item {} 
\sphinxAtStartPar
’bp{[}1{]}’ the number of CG pairs, etc. 

\end{itemize}


\end{itemize}


\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_pinfo\_s.i (C var)@\spxentry{vrna\_pinfo\_s.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_s.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:structvrna__pinfo__s_1ab91db0a87ef8402dc151795ba5a64c6f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
nucleotide position i 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pinfo\_s.j (C var)@\spxentry{vrna\_pinfo\_s.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_s.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:structvrna__pinfo__s_1a4142e38d6ba127acccdf680300a88e1f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
nucleotide position j 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pinfo\_s.p (C var)@\spxentry{vrna\_pinfo\_s.p}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_s.p}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:structvrna__pinfo__s_1a71990eae41fa100db8b557e4512ec281}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{p}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Probability. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pinfo\_s.ent (C var)@\spxentry{vrna\_pinfo\_s.ent}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_s.ent}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:structvrna__pinfo__s_1a5ab2a63f3da8e12c6d54d8e9dd9e3e73}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ent}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pseudo entropy for \( p(i,j) = S_i + S_j - p_ij*ln(p_ij) \). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pinfo\_s.bp (C var)@\spxentry{vrna\_pinfo\_s.bp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_s.bp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:structvrna__pinfo__s_1aa5feac5559b36dcd7cb38111c45d444d}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bp}}}\DUrole{p}{{[}}\DUrole{m}{8}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Frequencies of pair\_types. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_pinfo\_s.comp (C var)@\spxentry{vrna\_pinfo\_s.comp}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/msa:c.vrna_pinfo_s.comp}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/msa:structvrna__pinfo__s_1a0720ae74ce53802a759ee9f98e9c8c43}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{comp}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
1 iff pair is in mfe structure 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/sequences/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Files and I/O}
\label{\detokenize{utils/io:files-and-i-o}}\label{\detokenize{utils/io::doc}}
\sphinxstepscope


\subsubsection{Nucleic Acid Sequences and Structures}
\label{\detokenize{utils/io/file_formats:nucleic-acid-sequences-and-structures}}\label{\detokenize{utils/io/file_formats::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_OPTION\_MULTILINE (C macro)@\spxentry{VRNA\_OPTION\_MULTILINE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.VRNA_OPTION_MULTILINE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1gabec89c09874528c6cb73140a4c3d86d7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_MULTILINE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Tell a function that an input is assumed to span several lines. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If used as input\sphinxhyphen{}option a function might also be returning this state telling that it has read data from multiple lines.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1gac788da233f9160b06c2e751afad8936c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_extract\_record\_rest\_structure()}}}}}, {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CONSTRAINT\_MULTILINE (C macro)@\spxentry{VRNA\_CONSTRAINT\_MULTILINE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.VRNA_CONSTRAINT_MULTILINE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga7d725ef525b29891abef3f1ed42599a4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CONSTRAINT\_MULTILINE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
parse multiline constraint 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000157}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
see {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1gac788da233f9160b06c2e751afad8936c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_extract\_record\_rest\_structure()}}}}}

\end{fulllineitems}



\end{fulllineitems}

\index{VRNA\_INPUT\_VERBOSE (C macro)@\spxentry{VRNA\_INPUT\_VERBOSE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.VRNA_INPUT_VERBOSE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga7f27c535ce0c8622ee426424a96ba7d5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_VERBOSE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_file\_helixlist (C function)@\spxentry{vrna\_file\_helixlist}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_helixlist}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1gaaface7db12fadc3d271641c4515ab6e4}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_helixlist}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{db}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a secondary structure as helix list. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{db}} \textendash{} The structure in dot\sphinxhyphen{}bracket format 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} Free energy of the structure in kcal/mol 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The file handle used to print to (print defaults to ‘stdout’ if(file == NULL) ) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_connect (C function)@\spxentry{vrna\_file\_connect}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_connect}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1gab69682373ccca1e0e28cc967eec07745}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_connect}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{db}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{identifier}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a secondary structure as connect table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Connect table file format looks like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{*} \PYG{l+m+mi}{300}  \PYG{n}{ENERGY} \PYG{o}{=} \PYG{l+m+mf}{7.0}  \PYG{n}{example}
\PYG{o}{*} \PYG{l+m+mi}{1} \PYG{n}{G}       \PYG{l+m+mi}{0}    \PYG{l+m+mi}{2}   \PYG{l+m+mi}{22}    \PYG{l+m+mi}{1}
\PYG{o}{*} \PYG{l+m+mi}{2} \PYG{n}{G}       \PYG{l+m+mi}{1}    \PYG{l+m+mi}{3}   \PYG{l+m+mi}{21}    \PYG{l+m+mi}{2}
\PYG{o}{*}
\end{sphinxVerbatim}
 where the headerline is followed by 6 columns with:\begin{enumerate}
\sphinxsetlistlabels{\alph}{enumi}{enumii}{}{.}%
\item {} 
\sphinxAtStartPar
Base number: index n

\item {} 
\sphinxAtStartPar
Base (A, C, G, T, U, X)

\item {} 
\sphinxAtStartPar
Index n\sphinxhyphen{}1 (0 if first nucleotide)

\item {} 
\sphinxAtStartPar
Index n+1 (0 if last nucleotide)

\item {} 
\sphinxAtStartPar
Number of the base to which n is paired. No pairing is indicated by 0 (zero).

\item {} 
\sphinxAtStartPar
Natural numbering.

\end{enumerate}

\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{db}} \textendash{} The structure in dot\sphinxhyphen{}bracket format 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The free energy of the structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} An optional identifier for the sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The file handle used to print to (print defaults to ‘stdout’ if(file == NULL) ) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_bpseq (C function)@\spxentry{vrna\_file\_bpseq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_bpseq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga9b462e6f202594af5d3fa56e280d633f}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_bpseq}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{db}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a secondary structure in bpseq format. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{db}} \textendash{} The structure in dot\sphinxhyphen{}bracket format 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The file handle used to print to (print defaults to ‘stdout’ if(file == NULL) ) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_json (C function)@\spxentry{vrna\_file\_json}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_json}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga31f4a6c2ea1495a6e4f9eb45a9f6193d}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_json}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{db}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{identifier}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a secondary structure in jsonformat. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{db}} \textendash{} The structure in dot\sphinxhyphen{}bracket format 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The free energy 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} An identifier for the sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The file handle used to print to (print defaults to ‘stdout’ if(file == NULL) ) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_fasta\_read\_record (C function)@\spxentry{vrna\_file\_fasta\_read\_record}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_fasta_read_record}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_fasta\_read\_record}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{header}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{rest}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a (fasta) data set from a file or stdin. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function may be used to obtain complete datasets from a filehandle or stdin. A dataset is always defined to contain at least a sequence. If data starts with a fasta header, i.e. a line like 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{o}{\PYGZgt{}}\PYG{n}{some} \PYG{n}{header} \PYG{n}{info}
\end{sphinxVerbatim}
 then {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}} will assume that the sequence that follows the header may span over several lines. To disable this behavior and to assign a single line to the argument ‘sequence’ one can pass {\hyperref[\detokenize{utils:group__utils_1ga0de536599b881c787b0943a2671da476}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_NO\_SPAN}}}}} in the ‘options’ argument. If no fasta header is read in the beginning of a data block, a sequence must not span over multiple lines!

\sphinxAtStartPar
Unless the options {\hyperref[\detokenize{utils:group__utils_1ga0f6311f11bed1842e3a527ab27b294c6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_NOSKIP\_COMMENTS}}}}} or {\hyperref[\detokenize{utils:group__utils_1gab4db885222b3b69608310d7c7e63e286}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_NOSKIP\_BLANK\_LINES}}}}}
\sphinxAtStartPar
are passed, a sequence may be interrupted by lines starting with a comment character or empty lines.

\sphinxAtStartPar
A sequence is regarded as completely read if it was either assumed to not span over multiple lines, a secondary structure or structure constraint follows the sequence on the next line, or a new header marks the beginning of a new sequence…


\sphinxAtStartPar
All lines following the sequence (this includes comments) that do not initiate a new dataset according to the above definition are available through the line\sphinxhyphen{}array ‘rest’. Here one can usually find the structure constraint or other information belonging to the current dataset. Filling of ‘rest’ may be prevented by passing {\hyperref[\detokenize{utils:group__utils_1ga7a2e8c50a0c7ce82e60da1016e1367fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_NO\_REST}}}}} to the options argument.

\sphinxAtStartPar
The main purpose of this function is to be able to easily parse blocks of data in the header of a loop where all calculations for the appropriate data is done inside the loop. The loop may be then left on certain return values, e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{id}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{o}{*}\PYG{n}{rest}\PYG{p}{;}
\PYG{k+kt}{int}\PYG{+w}{  }\PYG{n}{i}\PYG{p}{;}
\PYG{n}{id}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}
\PYG{n}{rest}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{;}
\PYG{k}{while}\PYG{p}{(}\PYG{o}{!}\PYG{p}{(}\PYG{n}{vrna\PYGZus{}file\PYGZus{}fasta\PYGZus{}read\PYGZus{}record}\PYG{p}{(}\PYG{o}{\PYGZam{}}\PYG{n}{id}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{rest}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{VRNA\PYGZus{}INPUT\PYGZus{}ERROR}\PYG{+w}{ }\PYG{o}{|}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}INPUT\PYGZus{}QUIT}\PYG{p}{)}\PYG{p}{)}\PYG{p}{)}\PYG{p}{\PYGZob{}}
\PYG{k}{if}\PYG{p}{(}\PYG{n}{id}\PYG{p}{)}
\PYG{+w}{    }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{id}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{)}\PYG{p}{;}
\PYG{k}{if}\PYG{p}{(}\PYG{n}{rest}\PYG{p}{)}
\PYG{k}{for}\PYG{p}{(}\PYG{n}{i}\PYG{o}{=}\PYG{l+m+mi}{0}\PYG{p}{;}\PYG{n}{rest}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{p}{;}\PYG{n}{i}\PYG{o}{+}\PYG{o}{+}\PYG{p}{)}\PYG{p}{\PYGZob{}}
\PYG{+w}{      }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{rest}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{      }\PYG{n}{free}\PYG{p}{(}\PYG{n}{rest}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{    }\PYG{p}{\PYGZcb{}}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{rest}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{free}\PYG{p}{(}\PYG{n}{id}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
In the example above, the while loop will be terminated when {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}} returns either an error, EOF, or a user initiated quit request.

\sphinxAtStartPar
As long as data is read from stdin (we are passing NULL as the file pointer), the id is printed if it is available for the current block of data. The sequence will be printed in any case and if some more lines belong to the current block of data each line will be printed as well.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar

\sphinxAtStartPar
This function will exit any program with an error message if no sequence could be read!

\sphinxAtStartPar
This function is NOT threadsafe! It uses a global variable to store information about the next data block. Do not forget to free the memory occupied by header, sequence and rest!

\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{header}} \textendash{} A pointer which will be set such that it points to the header of the record 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} A pointer which will be set such that it points to the sequence of the record 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{rest}} \textendash{} A pointer which will be set such that it points to an array of lines which also belong to the record 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} A file handle to read from (if NULL, this function reads from stdin) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Some options which may be passed to alter the behavior of the function, use 0 for no options 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A flag with information about what the function actually did read 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_extract\_record\_rest\_structure (C function)@\spxentry{vrna\_extract\_record\_rest\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_extract_record_rest_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1gac788da233f9160b06c2e751afad8936c}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_extract\_record\_rest\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{lines}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Extract a dot\sphinxhyphen{}bracket structure string from (multiline)character array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function extracts a dot\sphinxhyphen{}bracket structure string from the ‘rest’ array as returned by {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}} and returns it. All occurences of comments within the ‘lines’ array will be skipped as long as they do not break the structure string. If no structure could be read, this function returns NULL.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{lines}} \textendash{} The (multiline) character array to be parsed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The assumed length of the dot\sphinxhyphen{}bracket string (passing a value \textless{} 1 results in no length limit) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} Some options which may be passed to alter the behavior of the function, use 0 for no options 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The argument ‘lines’ has to be a 2\sphinxhyphen{}dimensional character array as obtained by {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The dot\sphinxhyphen{}bracket string read from lines or NULL 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_SHAPE\_read (C function)@\spxentry{vrna\_file\_SHAPE\_read}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_SHAPE_read}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga646ebf45450a69a7f2533f9ecd283a32}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_SHAPE\_read}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file\_name}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{default\_value}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{values}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Read data from a given SHAPE reactivity input file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function parses the informations from a given file and stores the result in the preallocated string sequence and the double array values.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file\_name}} \textendash{} Path to the constraints file 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} Length of the sequence (file entries exceeding this limit will cause an error) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{default\_value}} \textendash{} Value for missing indices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} Pointer to an array used for storing the sequence obtained from the SHAPE reactivity file 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{values}} \textendash{} Pointer to an array used for storing the values obtained from the SHAPE reactivity file 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_doubles\_read (C function)@\spxentry{vrna\_file\_doubles\_read}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_doubles_read}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1gaca6e1f8e4699b2e491fe8f711b0f9075}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_doubles\_read}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file\_name}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{values\_count}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Read double values separated by newlines from a given input file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function parses an input file \sphinxcode{\sphinxupquote{file\_name}} expecting a double value per line. It then extracts all the double values and returns them as double array.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file\_name}} \textendash{} Path to the input file 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Option flags to change the behavior of this function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{values\_count}} \textendash{} The adress of a counter to store the total size of the returned double array 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An array of double values read from the input file 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_connect\_read\_record (C function)@\spxentry{vrna\_file\_connect\_read\_record}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_connect_read_record}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga209f6dc03315f7f46482c2fce6b07425}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_connect\_read\_record}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{id}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{remainder}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_file\_RNAstrand\_db\_read\_record (C function)@\spxentry{vrna\_file\_RNAstrand\_db\_read\_record}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_file_RNAstrand_db_read_record}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga276c0201ca8e767fc292c69f587049bc}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_RNAstrand\_db\_read\_record}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{name\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequence\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{structure\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{source\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{fname\_p}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{id\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_extract\_record\_rest\_constraint (C function)@\spxentry{vrna\_extract\_record\_rest\_constraint}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.vrna_extract_record_rest_constraint}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga55a9ae6dfeecc1b3f0c2acf6fa796c15}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_extract\_record\_rest\_constraint}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{cstruc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{lines}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Extract a hard constraint encoded as pseudo dot\sphinxhyphen{}bracket string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000158}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1gac788da233f9160b06c2e751afad8936c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_extract\_record\_rest\_structure()}}}}} instead!

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga13053547a2de5532b64b64d35e097ae1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_PIPE}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga369bea82eae75fbe626f409fa425747e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_DOT}}}}}, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga7283bbe0f8954f7b030ecc3f2d1932b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_X}}}}} VRNA\_CONSTRAINT\_DB\_ANG\_BRACK, {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac17b034852c914bc5879954c65d7e74b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_DB\_RND\_BRACK}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cstruc}} \textendash{} A pointer to a character array that is used as pseudo dot\sphinxhyphen{}bracket output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{lines}} \textendash{} A 2\sphinxhyphen{}dimensional character array with the extension lines from the FASTA input 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} The option flags that define the behavior and recognition pattern of this function 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The argument ‘lines’ has to be a 2\sphinxhyphen{}dimensional character array as obtained by {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{extract\_record\_rest\_structure (C function)@\spxentry{extract\_record\_rest\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.extract_record_rest_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga9aff92bd6fa80dfb4b947a8c313c5b84}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{extract\_record\_rest\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{lines}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{read\_record (C function)@\spxentry{read\_record}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.read_record}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1gafd194a69af9d92b5b0412a7627ac1595}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{read\_record}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{header}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{rest}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a data record from stdin. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000160}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is deprecated! Use {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}} as a replacment.

\end{fulllineitems}



\end{fulllineitems}

\index{get\_multi\_input\_line (C function)@\spxentry{get\_multi\_input\_line}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats:c.get_multi_input_line}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats:group__file__formats_1ga61b9a7a4716c98a315ee9da411515f9c}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_multi\_input\_line}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Multiple Sequence Alignments}
\label{\detokenize{utils/io/file_formats_msa:multiple-sequence-alignments}}\label{\detokenize{utils/io/file_formats_msa::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_FILE\_FORMAT\_MSA\_CLUSTAL (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_CLUSTAL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_CLUSTAL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga79a23de2c7249f2cccd762e475c81859}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_CLUSTAL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating ClustalW formatted files. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_STOCKHOLM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating Stockholm 1.0 formatted files. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_FASTA (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_FASTA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_FASTA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gacf6274a2c825f34e4131404665b00604}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_FASTA}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating FASTA (Pearson) formatted files. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_MAF (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_MAF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_MAF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gab3186d774c01570d2a47d0308eec4927}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_MAF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating MAF formatted files. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_MIS (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_MIS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_MIS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga494488a771aa0c602fb4cf445be34d47}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_MIS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating most informative sequence (MIS) output. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The default reference sequence output for an alignment is simply a consensus sequence. This flag allows to write the most informative equence (MIS) instead.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gaccca55b71d34def88e18ed9a51ccb2bf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_write()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga4acc255373831856a8417b68de8a94c0}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating the set of default file formats. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_NOCHECK (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_NOCHECK}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_NOCHECK}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga229fb3778ecabea4782902b69fa48fd1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_NOCHECK}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to disable validation of the alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_UNKNOWN (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_UNKNOWN}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_UNKNOWN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gabdc948f547e550125de3e7c65878400c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_UNKNOWN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Return flag of {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}} to indicate unknown or malformatted alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_APPEND (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_APPEND}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_APPEND}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga1577ea0f497d9c501549c863a4f2c089}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_APPEND}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag indicating to append data to a multiple sequence alignment file rather than overwriting it. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gaccca55b71d34def88e18ed9a51ccb2bf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_write()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_QUIET (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_QUIET}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_QUIET}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga73aa3701a22c5acfcb2e8927287a0554}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_QUIET}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to suppress unnecessary spam messages on \sphinxcode{\sphinxupquote{stderr}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_MSA\_SILENT (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_MSA\_SILENT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.VRNA_FILE_FORMAT_MSA_SILENT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad98ca08968d19f221f29d2a1faf26887}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_MSA\_SILENT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to completely silence any warnings on \sphinxcode{\sphinxupquote{stderr}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_file\_msa\_read (C function)@\spxentry{vrna\_file\_msa\_read}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.vrna_file_msa_read}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_msa\_read}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{aln}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{id}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Read a multiple sequence alignment from file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function reads the (first) multiple sequence alignment from an input file. The read alignment is split into the sequence id/name part and the actual sequence information and stored in memory as arrays of ids/names and sequences. If the alignment file format allows for additional information, such as an ID of the entire alignment or consensus structure information, this data is retrieved as well and made available. The \sphinxcode{\sphinxupquote{options}} parameter allows to specify the set of alignment file formats that should be used to retrieve the data. If 0 is passed as option, the list of alignment file formats defaults to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga4acc255373831856a8417b68de8a94c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT}}}}}.

\sphinxAtStartPar
Currently, the list of parsable multiple sequence alignment file formats consists of:\begin{itemize}
\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}clustal

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}stockholm

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}fasta

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}maf

\end{itemize}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000096}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, only the first and last argument, \sphinxcode{\sphinxupquote{filename}} and \sphinxcode{\sphinxupquote{options}}, are passed to the corresponding function. The other arguments, which serve as output in the C\sphinxhyphen{}library, are available as additional return values. This function exists as an overloaded version where the \sphinxcode{\sphinxupquote{options}} parameter may be omitted! In that case, the \sphinxcode{\sphinxupquote{options}} parameter defaults to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and    {\hyperref[\detokenize{examples/python:parsing-alignments}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Parsing Alignments}}}}}  in the Python examples. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga79a23de2c7249f2cccd762e475c81859}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_CLUSTAL}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gacf6274a2c825f34e4131404665b00604}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_FASTA}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gab3186d774c01570d2a47d0308eec4927}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_MAF}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga4acc255373831856a8417b68de8a94c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga229fb3778ecabea4782902b69fa48fd1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_NOCHECK}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
After successfully reading an alignment, this function performs a validation of the data that includes uniqueness of the sequence identifiers, and equal sequence lengths. This check can be deactivated by passing {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga229fb3778ecabea4782902b69fa48fd1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_NOCHECK}}}}} in the \sphinxcode{\sphinxupquote{options}}
\sphinxAtStartPar
parameter.

\sphinxAtStartPar
It is the users responsibility to free any memory occupied by the output arguments
\sphinxcode{\sphinxupquote{names}}, \sphinxcode{\sphinxupquote{aln}}, \sphinxcode{\sphinxupquote{id}}, and \sphinxcode{\sphinxupquote{structure}} after calling this function. The function automatically sets the latter two arguments to \sphinxcode{\sphinxupquote{NULL}} in case no corresponding data could be retrieved from the input alignment.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The name of input file that contains the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} \textendash{} An address to the pointer where sequence identifiers should be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{aln}} \textendash{} An address to the pointer where aligned sequences should be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{id}} \textendash{} An address to the pointer where the alignment ID should be written to (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} An address to the pointer where consensus structure information should be written to (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to manipulate the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the alignment, or \sphinxhyphen{}1 if no alignment record could be found

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_msa\_read\_record (C function)@\spxentry{vrna\_file\_msa\_read\_record}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.vrna_file_msa_read_record}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_msa\_read\_record}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{aln}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{id}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Read a multiple sequence alignment from file handle. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, this function reads a multiple sequence alignment from an input file handle. Since using a file handle, this function is not limited to the first alignment record, but allows for looping over all alignments within the input.

\sphinxAtStartPar
The read alignment is split into the sequence id/name part and the actual sequence information and stored in memory as arrays of ids/names and sequences. If the alignment file format allows for additional information, such as an ID of the entire alignment or consensus structure information, this data is retrieved as well and made available. The \sphinxcode{\sphinxupquote{options}} parameter allows to specify the alignment file format used to retrieve the data. A single format must be specified here, see {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}} for helping to determine the correct MSA file format.

\sphinxAtStartPar
Currently, the list of parsable multiple sequence alignment file formats consists of:\begin{itemize}
\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}clustal

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}stockholm

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}fasta

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}maf

\end{itemize}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000097}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, only the first and last argument, \sphinxcode{\sphinxupquote{fp}} and \sphinxcode{\sphinxupquote{options}}, are passed to the corresponding function. The other arguments, which serve as output in the C\sphinxhyphen{}library, are available as additional return values. This function exists as an overloaded version where the \sphinxcode{\sphinxupquote{options}} parameter may be omitted! In that case, the \sphinxcode{\sphinxupquote{options}} parameter defaults to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_read_record}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read\_record()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and    {\hyperref[\detokenize{examples/python:parsing-alignments}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Parsing Alignments}}}}}  in the Python examples. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format()}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga79a23de2c7249f2cccd762e475c81859}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_CLUSTAL}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gacf6274a2c825f34e4131404665b00604}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_FASTA}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gab3186d774c01570d2a47d0308eec4927}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_MAF}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga4acc255373831856a8417b68de8a94c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga229fb3778ecabea4782902b69fa48fd1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_NOCHECK}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
After successfully reading an alignment, this function performs a validation of the data that includes uniqueness of the sequence identifiers, and equal sequence lengths. This check can be deactivated by passing {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga229fb3778ecabea4782902b69fa48fd1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_NOCHECK}}}}} in the \sphinxcode{\sphinxupquote{options}}
\sphinxAtStartPar
parameter.

\sphinxAtStartPar
It is the users responsibility to free any memory occupied by the output arguments
\sphinxcode{\sphinxupquote{names}}, \sphinxcode{\sphinxupquote{aln}}, \sphinxcode{\sphinxupquote{id}}, and \sphinxcode{\sphinxupquote{structure}} after calling this function. The function automatically sets the latter two arguments to \sphinxcode{\sphinxupquote{NULL}} in case no corresponding data could be retrieved from the input alignment.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} \textendash{} The file pointer the data will be retrieved from 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} \textendash{} An address to the pointer where sequence identifiers should be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{aln}} \textendash{} An address to the pointer where aligned sequences should be written to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{id}} \textendash{} An address to the pointer where the alignment ID should be written to (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} An address to the pointer where consensus structure information should be written to (Maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to manipulate the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the alignment, or \sphinxhyphen{}1 if no alignment record could be found

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_msa\_detect\_format (C function)@\spxentry{vrna\_file\_msa\_detect\_format}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.vrna_file_msa_detect_format}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_msa\_detect\_format}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Detect the format of a multiple sequence alignment file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function attempts to determine the format of a file that supposedly contains a multiple sequence alignment (MSA). This is useful in cases where a MSA file contains more than a single record and therefore {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}} can not be applied, since it only retrieves the first. Here, one can try to guess the correct file format using this function and then loop over the file, record by record using one of the low\sphinxhyphen{}level record retrieval functions for the corresponding MSA file format.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000095}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function exists as an overloaded version where the \sphinxcode{\sphinxupquote{options}} parameter may be omitted! In that case, the \sphinxcode{\sphinxupquote{options}} parameter defaults to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga4acc255373831856a8417b68de8a94c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_detect_format}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_detect\_format()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read()}}}}}, vrna\_file\_stockholm\_read\_record(), vrna\_file\_clustal\_read\_record(), {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function parses the entire first record within the specified file. As a result, it returns {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gabdc948f547e550125de3e7c65878400c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_UNKNOWN}}}}} not only if it can’t detect the file’s format, but also in cases where the file doesn’t contain sequences!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The name of input file that contains the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to manipulate the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The MSA file format, or {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gabdc948f547e550125de3e7c65878400c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_UNKNOWN}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_msa\_write (C function)@\spxentry{vrna\_file\_msa\_write}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/file_formats_msa:c.vrna_file_msa_write}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gaccca55b71d34def88e18ed9a51ccb2bf}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_msa\_write}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{aln}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{id}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{source}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Write multiple sequence alignment file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/file\PYGZus{}formats\PYGZus{}msa.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
In the target scripting language, this function exists as a set of overloaded versions, where the last four parameters may be omitted. If the \sphinxcode{\sphinxupquote{options}} parameter is missing the options default to ({\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}} | {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga1577ea0f497d9c501549c863a4f2c089}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_APPEND}}}}}). See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_write}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_write()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga1577ea0f497d9c501549c863a4f2c089}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_APPEND}}}}}, {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga494488a771aa0c602fb4cf445be34d47}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_MIS}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Currently, we only support msa\sphinxhyphen{}formats\sphinxhyphen{}stockholm output
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The output filename 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} \textendash{} The array of sequence names / identifies 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{aln}} \textendash{} The array of aligned sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{id}} \textendash{} An optional ID for the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} An optional consensus structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{source}} \textendash{} A string describing the source of the alignment 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to manipulate the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}null upon successfully writing the alignment to file

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Command Files}
\label{\detokenize{utils/io/commands:command-files}}\label{\detokenize{utils/io/commands::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files}}}
\pysigstopsignatures
\sphinxAtStartPar
Functions to parse and interpret the content of constraint\sphinxhyphen{}formats\sphinxhyphen{}file. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_CMD\_PARSE\_HC (C macro)@\spxentry{VRNA\_CMD\_PARSE\_HC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.VRNA_CMD_PARSE_HC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1gac54dec838d7b6bebd5df85f71702d324}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CMD\_PARSE\_HC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Command parse/apply flag indicating hard constraints. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/commands:group__command__files_1gaf31afe4c5f8e4bf44a670ab4c3dcd916}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cmd\_t}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1gae5f56400ed43683338f7bf1c1102655a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_read()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_apply()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_apply()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CMD\_PARSE\_SC (C macro)@\spxentry{VRNA\_CMD\_PARSE\_SC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.VRNA_CMD_PARSE_SC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1ga8cad3c1f83e6f149829c49a186a83e21}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CMD\_PARSE\_SC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Command parse/apply flag indicating soft constraints. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/commands:group__command__files_1gaf31afe4c5f8e4bf44a670ab4c3dcd916}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cmd\_t}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1gae5f56400ed43683338f7bf1c1102655a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_read()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_apply()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_apply()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CMD\_PARSE\_UD (C macro)@\spxentry{VRNA\_CMD\_PARSE\_UD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.VRNA_CMD_PARSE_UD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1ga6c6409780698826b04ebfed9151d7649}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CMD\_PARSE\_UD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Command parse/apply flag indicating unstructured domains. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/commands:group__command__files_1gaf31afe4c5f8e4bf44a670ab4c3dcd916}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cmd\_t}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1gae5f56400ed43683338f7bf1c1102655a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_read()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_apply()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_apply()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CMD\_PARSE\_SD (C macro)@\spxentry{VRNA\_CMD\_PARSE\_SD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.VRNA_CMD_PARSE_SD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1gaf5e20210173cdb83bf70256a454f284b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CMD\_PARSE\_SD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Command parse/apply flag indicating structured domains. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/commands:group__command__files_1gaf31afe4c5f8e4bf44a670ab4c3dcd916}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cmd\_t}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1gae5f56400ed43683338f7bf1c1102655a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_read()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_apply()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_apply()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CMD\_PARSE\_DEFAULTS (C macro)@\spxentry{VRNA\_CMD\_PARSE\_DEFAULTS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.VRNA_CMD_PARSE_DEFAULTS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1ga0a6c88e21e366dca14958d69cd024008}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CMD\_PARSE\_DEFAULTS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Command parse/apply flag indicating default set of commands. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/commands:group__command__files_1gaf31afe4c5f8e4bf44a670ab4c3dcd916}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cmd\_t}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1gae5f56400ed43683338f7bf1c1102655a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_read()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_apply()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_apply()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_CMD\_PARSE\_SILENT (C macro)@\spxentry{VRNA\_CMD\_PARSE\_SILENT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.VRNA_CMD_PARSE_SILENT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1ga8d6c5d6d2936464a11f542b843bd1610}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_CMD\_PARSE\_SILENT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_cmd\_t (C type)@\spxentry{vrna\_cmd\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.vrna_cmd_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1gaf31afe4c5f8e4bf44a670ab4c3dcd916}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_command\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cmd\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A data structure that contains commands. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_file\_commands\_read (C function)@\spxentry{vrna\_file\_commands\_read}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.vrna_file_commands_read}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1gae5f56400ed43683338f7bf1c1102655a}}{\hyperref[\detokenize{utils/io/commands:c.vrna_cmd_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cmd\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_commands\_read}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Extract a list of commands from a command file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Read a list of commands specified in the input file and return them as list of abstract commands

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000033}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{file\_commands\_read()}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_commands_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_commands\_read()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_apply()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_apply()}}}}}, {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3dc372dcbb43d2c4c91b5ef79b460428}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_free()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The filename 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to limit the type of commands read from the file 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of abstract commands

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_commands\_apply (C function)@\spxentry{vrna\_file\_commands\_apply}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.vrna_file_commands_apply}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_commands\_apply}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply a list of commands from a command file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a shortcut to directly parse a commands file and apply all successfully parsed commands to a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure. It is the same as: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]

\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{file\_commands\_apply()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.file_commands_apply}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.file\_commands\_apply()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the command list will be applied to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The filename 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to limit the type of commands read from the file 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of commands successfully applied

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_commands\_apply (C function)@\spxentry{vrna\_commands\_apply}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.vrna_commands_apply}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_commands\_apply}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{utils/io/commands:c.vrna_cmd_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cmd\_t}}}}\DUrole{w}{ }\DUrole{n}{commands}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Apply a list of commands to a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000035}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{commands\_apply()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.commands_apply}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.commands\_apply()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} the command list will be applied to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{commands}} \textendash{} The commands to apply 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options to limit the type of commands read from the file 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of commands successfully applied

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_commands\_free (C function)@\spxentry{vrna\_commands\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io/commands:c.vrna_commands_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io/commands:group__command__files_1ga3dc372dcbb43d2c4c91b5ef79b460428}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_commands\_free}}}}
{{\hyperref[\detokenize{utils/io/commands:c.vrna_cmd_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cmd\_t}}}}\DUrole{w}{ }\DUrole{n}{commands}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by a list of commands. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/commands.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Release memory occupied by a list of commands 
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{commands}} \textendash{} A pointer to a list of commands 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/io:group__file__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_file\_copy (C function)@\spxentry{vrna\_file\_copy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.vrna_file_copy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1ga4382a56d2fee9ed738364b99329edc7c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_copy}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{from}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{to}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Inefficient ‘cp’. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_read\_line (C function)@\spxentry{vrna\_read\_line}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.vrna_read_line}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1gaed2a3fdeab38ede529ff3c9d02ef3415}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_read\_line}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Read a line of arbitrary length from a stream. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a pointer to the resulting string. The necessary memory is allocated and should be released using \sphinxstyleemphasis{free()} when the string is no longer needed.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} \textendash{} A file pointer to the stream where the function should read from 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the resulting string 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mkdir\_p (C function)@\spxentry{vrna\_mkdir\_p}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.vrna_mkdir_p}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1gacfa44a974272a4d42c5d391cc780a0ec}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mkdir\_p}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{path}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recursivly create a directory tree. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_basename (C function)@\spxentry{vrna\_basename}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.vrna_basename}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1ga2651f14d45847757e32a9f8a44d272fa}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_basename}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{path}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Extract the filename from a file path. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dirname (C function)@\spxentry{vrna\_dirname}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.vrna_dirname}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1ga5da9ff6aaba9c9cec721e58d44947426}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_dirname}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{path}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Extract the directory part of a file path. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_filename\_sanitize (C function)@\spxentry{vrna\_filename\_sanitize}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.vrna_filename_sanitize}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1ga906922daed59145d1fc5dffa1a1a0785}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_filename\_sanitize}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{name}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{replacement}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sanitize a file name. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a new file name where all invalid characters are substituted by a replacement character. If no replacement character is supplied, invalid characters are simply removed from the filename. File names may also never exceed a length of 255 characters. Longer file names will undergo a ‘smart’ truncation process, where the filenames’ suffix, i.e. everything after the last dot ‘.’, is attempted to be kept intact. Hence, only the filename part before the suffix is reduced in such a way that the total filename complies to the length restriction of 255 characters. If no suffix is present or the suffix itself already exceeds the maximum length, the filename is simply truncated from the back of the string.

\sphinxAtStartPar
For now we consider the following characters invalid:\begin{itemize}
\item {} 
\sphinxAtStartPar
backslash ‘’

\item {} 
\sphinxAtStartPar
slash ‘/’

\item {} 
\sphinxAtStartPar
question mark ‘?’

\item {} 
\sphinxAtStartPar
percent sign ‘’

\item {} 
\sphinxAtStartPar
asterisk ‘*’

\item {} 
\sphinxAtStartPar
colon ‘:’

\item {} 
\sphinxAtStartPar
pipe symbol ‘|’

\item {} 
\sphinxAtStartPar
double quote ‘”’

\item {} 
\sphinxAtStartPar
triangular brackets ‘\textless{}’ and ‘\textgreater{}’

\end{itemize}


\sphinxAtStartPar
Furthermore, the (resulting) file name must not be a reserved file name, such as:\begin{itemize}
\item {} 
\sphinxAtStartPar
’.’

\item {} 
\sphinxAtStartPar
’..’

\end{itemize}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function allocates a new block of memory for the sanitized string. It also may return (a) NULL if the input is pointing to NULL, or (b) an empty string if the input only consists of invalid characters which are simply removed!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{name}} \textendash{} The input file name 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{replacement}} \textendash{} The replacement character, or NULL 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The sanitized file name, or NULL 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_exists (C function)@\spxentry{vrna\_file\_exists}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.vrna_file_exists}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1ga80cf1f4bb5704622f72f2911f48aee55}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_exists}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Check if a file already exists in the file system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/io/utils.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The name of (path to) the file to check for existence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 if it doesn’t exists, 1 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_ribosum (C function)@\spxentry{get\_ribosum}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.get_ribosum}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1gafea21dc418a77f5fe583d63d9972da9f}}\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_ribosum}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{Alseq}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{n\_seq}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a RiboSum Scoring Matrix for a given Alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/ribosum.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{readribosum (C function)@\spxentry{readribosum}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/io:c.readribosum}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/io:group__file__utils_1gaa6abc35f1fc474c0826bae6c7ce51583}}\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{readribosum}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{name}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Read a RiboSum or other user\sphinxhyphen{}defined Scoring Matrix and Store into global Memory. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/params/ribosum.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Plotting}
\label{\detokenize{utils/plots:plotting}}\label{\detokenize{utils/plots::doc}}
\sphinxAtStartPar
Functions for Creating Secondary Structure Plots, Dot\sphinxhyphen{}Plots, and more.

\sphinxstepscope


\subsubsection{Layouts and Coordinates}
\label{\detokenize{utils/plots/layouts:layouts-and-coordinates}}\label{\detokenize{utils/plots/layouts::doc}}
\sphinxAtStartPar
Functions to compute coordinate layouts for secondary structure plots.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PLOT\_TYPE\_SIMPLE (C macro)@\spxentry{VRNA\_PLOT\_TYPE\_SIMPLE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.VRNA_PLOT_TYPE_SIMPLE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gae6d17b9f0a53cf5205a9181e0f8422e9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_TYPE\_SIMPLE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Definition of Plot type \sphinxstyleemphasis{simple}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the plot type definition for several RNA structure plotting functions telling them to use \sphinxstylestrong{Simple} plotting algorithm

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga5964c4581431b098b80027d6e14dcdd4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{rna\_plot\_type}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gae7853539b5df98f294b4af434e979304}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{svg\_rna\_plot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga70834bc8c0aad4fe6824ff76ccb8f329}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{gmlRNA()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gadd368528755f9a830727b680243541df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{ssv\_rna\_plot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga2f6d5953e6a323df898896b8d6614483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{xrna\_plot()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PLOT\_TYPE\_NAVIEW (C macro)@\spxentry{VRNA\_PLOT\_TYPE\_NAVIEW}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.VRNA_PLOT_TYPE_NAVIEW}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga94d4c863ecac2f220f76658afb92f964}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_TYPE\_NAVIEW}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Definition of Plot type \sphinxstyleemphasis{Naview}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the plot type definition for several RNA structure plotting functions telling them to use \sphinxstylestrong{Naview} plotting algorithm    {[}\hyperlink{cite.bibliography:id15}{Bruccoleri and Heinrich, 1988}{]} .

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga5964c4581431b098b80027d6e14dcdd4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{rna\_plot\_type}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gae7853539b5df98f294b4af434e979304}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{svg\_rna\_plot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga70834bc8c0aad4fe6824ff76ccb8f329}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{gmlRNA()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gadd368528755f9a830727b680243541df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{ssv\_rna\_plot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga2f6d5953e6a323df898896b8d6614483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{xrna\_plot()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PLOT\_TYPE\_CIRCULAR (C macro)@\spxentry{VRNA\_PLOT\_TYPE\_CIRCULAR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.VRNA_PLOT_TYPE_CIRCULAR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga8c9eac631348da92136c8363ecdd9fb9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_TYPE\_CIRCULAR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Definition of Plot type \sphinxstyleemphasis{Circular}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the plot type definition for several RNA structure plotting functions telling them to produce a \sphinxstylestrong{Circular plot}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga5964c4581431b098b80027d6e14dcdd4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{rna\_plot\_type}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gae7853539b5df98f294b4af434e979304}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{svg\_rna\_plot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga70834bc8c0aad4fe6824ff76ccb8f329}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{gmlRNA()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gadd368528755f9a830727b680243541df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{ssv\_rna\_plot()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga2f6d5953e6a323df898896b8d6614483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{xrna\_plot()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_PLOT\_TYPE\_TURTLE (C macro)@\spxentry{VRNA\_PLOT\_TYPE\_TURTLE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.VRNA_PLOT_TYPE_TURTLE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga382c1c5c0b1943500aa4bb55b7658a33}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_TYPE\_TURTLE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Definition of Plot type \sphinxstyleemphasis{Turtle}  {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_TYPE\_PUZZLER (C macro)@\spxentry{VRNA\_PLOT\_TYPE\_PUZZLER}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.VRNA_PLOT_TYPE_PUZZLER}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga64ec68055e241d11f659edb50f27ecae}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_TYPE\_PUZZLER}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Definition of Plot type \sphinxstyleemphasis{RNApuzzler}  {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_TYPE\_DEFAULT (C macro)@\spxentry{VRNA\_PLOT\_TYPE\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.VRNA_PLOT_TYPE_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga519e6a330060a3de11640f030ab34424}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_TYPE\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_plot\_layout\_t (C type)@\spxentry{vrna\_plot\_layout\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac986fe092abc2a6a93ceb5141e4dd28b}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_s}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
RNA secondary structure figure layout. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga996128730020a2d7a7368b4248195931}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_free()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1818430e3f62a9026318fd7f4e5cee4c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_simple()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac3332324c4fdb299c573cf15c7d14458}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_circular()}}}}}, vrna\_plot\_layout\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga0896374afd1bbc6086affc636fbd9098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_plot\_layout (C function)@\spxentry{vrna\_plot\_layout}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}}{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{plot\_type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a secondary structure plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function can be used to create a secondary structure nucleotide layout that is then further processed by an actual plotting function. The layout algorithm can be specified using the \sphinxcode{\sphinxupquote{plot\_type}} parameter, and the following algorithms are currently supported:\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gae6d17b9f0a53cf5205a9181e0f8422e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_SIMPLE}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga94d4c863ecac2f220f76658afb92f964}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_NAVIEW}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga8c9eac631348da92136c8363ecdd9fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_CIRCULAR}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga382c1c5c0b1943500aa4bb55b7658a33}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_TURTLE}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga64ec68055e241d11f659edb50f27ecae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_PUZZLER}}}}}

\end{itemize}


\sphinxAtStartPar
Passing an unsupported selection leads to the default algorithm {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga94d4c863ecac2f220f76658afb92f964}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_NAVIEW}}}}}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga996128730020a2d7a7368b4248195931}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_free()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1818430e3f62a9026318fd7f4e5cee4c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_simple()}}}}}, vrna\_plot\_layout\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac3332324c4fdb299c573cf15c7d14458}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_circular()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga0896374afd1bbc6086affc636fbd9098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}}, vrna\_file\_PS\_rnaplot\_layout()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}} instead!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{plot\_type}} \textendash{} The layout algorithm to be used 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_layout\_simple (C function)@\spxentry{vrna\_plot\_layout\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1818430e3f62a9026318fd7f4e5cee4c}}{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a \sphinxstyleemphasis{simple} secondary structure plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gae6d17b9f0a53cf5205a9181e0f8422e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_SIMPLE}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga996128730020a2d7a7368b4248195931}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_free()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}}, vrna\_plot\_layout\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac3332324c4fdb299c573cf15c7d14458}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_circular()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga0896374afd1bbc6086affc636fbd9098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}}, vrna\_file\_PS\_rnaplot\_layout()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}} instead!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_layout\_circular (C function)@\spxentry{vrna\_plot\_layout\_circular}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_circular}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac3332324c4fdb299c573cf15c7d14458}}{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout\_circular}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a \sphinxstyleemphasis{circular} secondary structure plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga8c9eac631348da92136c8363ecdd9fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_CIRCULAR}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga996128730020a2d7a7368b4248195931}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_free()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}}, vrna\_plot\_layout\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1818430e3f62a9026318fd7f4e5cee4c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_simple()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga0896374afd1bbc6086affc636fbd9098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}}, vrna\_file\_PS\_rnaplot\_layout()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}} instead!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_layout\_turtle (C function)@\spxentry{vrna\_plot\_layout\_turtle}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_turtle}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga0896374afd1bbc6086affc636fbd9098}}{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout\_turtle}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a secondary structure plot using the \sphinxstyleemphasis{Turtle Algorithm}  {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga382c1c5c0b1943500aa4bb55b7658a33}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_TURTLE}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga996128730020a2d7a7368b4248195931}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_free()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1818430e3f62a9026318fd7f4e5cee4c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_simple()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac3332324c4fdb299c573cf15c7d14458}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_circular()}}}}}, vrna\_plot\_layout\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}}, vrna\_file\_PS\_rnaplot\_layout()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}} instead!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_layout\_puzzler (C function)@\spxentry{vrna\_plot\_layout\_puzzler}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_puzzler}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}}{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout\_puzzler}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_options\_puzzler\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a secondary structure plot using the \sphinxstyleemphasis{RNApuzzler Algorithm}  {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga64ec68055e241d11f659edb50f27ecae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_PUZZLER}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga996128730020a2d7a7368b4248195931}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_free()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1818430e3f62a9026318fd7f4e5cee4c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_simple()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac3332324c4fdb299c573cf15c7d14458}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_circular()}}}}}, vrna\_plot\_layout\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga0896374afd1bbc6086affc636fbd9098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}, vrna\_file\_PS\_rnaplot\_layout()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}} instead!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_layout\_free (C function)@\spxentry{vrna\_plot\_layout\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga996128730020a2d7a7368b4248195931}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout\_free}}}}
{{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by a figure layout data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac986fe092abc2a6a93ceb5141e4dd28b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_t}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga27768f2479dffe0c01edf28486da840e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1818430e3f62a9026318fd7f4e5cee4c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_simple()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gac3332324c4fdb299c573cf15c7d14458}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_circular()}}}}}, vrna\_plot\_layout\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga0896374afd1bbc6086affc636fbd9098}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}, vrna\_file\_PS\_rnaplot\_layout()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{layout}} \textendash{} The layout data structure to free 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords (C function)@\spxentry{vrna\_plot\_coords}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{plot\_type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function takes a secondary structure and computes X\sphinxhyphen{}Y coordinates for each nucleotide that then can be used to create a structure plot. The parameter \sphinxcode{\sphinxupquote{plot\_type}} is used to select the underlying layout algorithm. Currently, the following selections are provided:\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gae6d17b9f0a53cf5205a9181e0f8422e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_SIMPLE}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga94d4c863ecac2f220f76658afb92f964}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_NAVIEW}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga8c9eac631348da92136c8363ecdd9fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_CIRCULAR}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga382c1c5c0b1943500aa4bb55b7658a33}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_TURTLE}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga64ec68055e241d11f659edb50f27ecae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_PUZZLER}}}}}

\end{itemize}


\sphinxAtStartPar
Passing an unsupported selection leads to the default algorithm {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga94d4c863ecac2f220f76658afb92f964}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_NAVIEW}}}}}

\sphinxAtStartPar
Here is a simple example how to use this function, assuming variable \sphinxcode{\sphinxupquote{structure}} contains a valid dot\sphinxhyphen{}bracket string: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kt}{float}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{y}\PYG{p}{;}

\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{vrna\PYGZus{}plot\PYGZus{}coords}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{y}\PYG{p}{)}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{all fine}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{k}{else}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{some failure occured!}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}

\PYG{n}{free}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{free}\PYG{p}{(}\PYG{n}{y}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaccd6a87cb324b7d680e5dd93e112738b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}}, vrna\_plot\_coords\_naview() {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X and Y coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}} and \sphinxcode{\sphinxupquote{y}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{plot\_type}} \textendash{} The layout algorithm to be used 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_pt (C function)@\spxentry{vrna\_plot\_coords\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaccd6a87cb324b7d680e5dd93e112738b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{plot\_type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Same as {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}} but takes a pair table with the structure information as input.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple\_pt()}}}}}, vrna\_plot\_coords\_naview\_pt() {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga3d3531ebbca9054240c73bff115c4dcf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler\_pt()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X and Y coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}} and \sphinxcode{\sphinxupquote{y}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table that holds the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{plot\_type}} \textendash{} The layout algorithm to be used 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_simple (C function)@\spxentry{vrna\_plot\_coords\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_simple}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot the \sphinxstyleemphasis{Simple way}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gae6d17b9f0a53cf5205a9181e0f8422e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_SIMPLE}}}}}.

\sphinxAtStartPar
Here is a simple example how to use this function, assuming variable \sphinxcode{\sphinxupquote{structure}} contains a valid dot\sphinxhyphen{}bracket string: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kt}{float}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{y}\PYG{p}{;}

\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{vrna\PYGZus{}plot\PYGZus{}coords\PYGZus{}simple}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{y}\PYG{p}{)}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{all fine}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{k}{else}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{some failure occured!}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}

\PYG{n}{free}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{free}\PYG{p}{(}\PYG{n}{y}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}}, vrna\_plot\_coords\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X and Y coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}} and \sphinxcode{\sphinxupquote{y}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_simple\_pt (C function)@\spxentry{vrna\_plot\_coords\_simple\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_simple_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_simple\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot the \sphinxstyleemphasis{Simple way}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Same as {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}} but takes a pair table with the structure information as input.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaccd6a87cb324b7d680e5dd93e112738b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular\_pt()}}}}}, vrna\_plot\_coords\_naview\_pt(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga3d3531ebbca9054240c73bff115c4dcf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler\_pt()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X and Y coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}} and \sphinxcode{\sphinxupquote{y}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table that holds the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_circular (C function)@\spxentry{vrna\_plot\_coords\_circular}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_circular}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_circular}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute coordinates of nucleotides mapped in equal distancies onto a unit circle. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga8c9eac631348da92136c8363ecdd9fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_CIRCULAR}}}}}.

\sphinxAtStartPar
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 R$^{\text{2}}$ 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.

\sphinxAtStartPar
\begin{equation*}
\begin{split} P^{t}_x[i] = X[i] * rs \end{split}
\end{equation*}

\sphinxAtStartPar
and

\sphinxAtStartPar
\begin{equation*}
\begin{split} P^{t}_y[i] = Y[i] * rs \end{split}
\end{equation*}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}}, vrna\_plot\_coords\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X and Y coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}} and \sphinxcode{\sphinxupquote{y}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_circular\_pt (C function)@\spxentry{vrna\_plot\_coords\_circular\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_circular_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_circular\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for a \sphinxstyleemphasis{Circular Plot}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Same as {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}} but takes a pair table with the structure information as input.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaccd6a87cb324b7d680e5dd93e112738b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple\_pt()}}}}}, vrna\_plot\_coords\_naview\_pt(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga3d3531ebbca9054240c73bff115c4dcf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler\_pt()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X and Y coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}} and \sphinxcode{\sphinxupquote{y}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table that holds the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_puzzler (C function)@\spxentry{vrna\_plot\_coords\_puzzler}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_puzzler}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_puzzler}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{arc\_coords}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_options\_puzzler\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot using the \sphinxstyleemphasis{RNApuzzler} algorithm    {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga64ec68055e241d11f659edb50f27ecae}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_PUZZLER}}}}}.

\sphinxAtStartPar
Here is a simple example how to use this function, assuming variable \sphinxcode{\sphinxupquote{structure}} contains a valid dot\sphinxhyphen{}bracket string and using the default options (\sphinxcode{\sphinxupquote{options}} = NULL): 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kt}{float}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{y}\PYG{p}{;}
\PYG{k+kt}{double}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{arcs}\PYG{p}{;}

\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{vrna\PYGZus{}plot\PYGZus{}coords\PYGZus{}puzzler}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{y}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{arcs}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{)}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{all fine}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{k}{else}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{some failure occured!}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}

\PYG{n}{free}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{free}\PYG{p}{(}\PYG{n}{y}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{free}\PYG{p}{(}\PYG{n}{arcs}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}}, vrna\_plot\_coords\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga375ca7af7028a447d457748c4c138a8a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_options\_puzzler()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X, Y and arc coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}}, \sphinxcode{\sphinxupquote{y}} and \sphinxcode{\sphinxupquote{arc\_coords}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{arc\_coords}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer that will hold arc coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options for the RNApuzzler algorithm (or NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_puzzler\_pt (C function)@\spxentry{vrna\_plot\_coords\_puzzler\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_puzzler_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_puzzler\_pt}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{p}{*}\DUrole{k}{const}\DUrole{w}{ }\DUrole{n}{pair\_table}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{arc\_coords}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_options\_puzzler\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{puzzler}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot using the \sphinxstyleemphasis{RNApuzzler} algorithm    {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Same as {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}} but takes a pair table with the structure information as input.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaccd6a87cb324b7d680e5dd93e112738b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga3d3531ebbca9054240c73bff115c4dcf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle\_pt()}}}}}, vrna\_plot\_coords\_naview\_pt()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X, Y and arc coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}}, \sphinxcode{\sphinxupquote{y}} and \sphinxcode{\sphinxupquote{arc\_coords}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table that holds the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{arc\_coords}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer that will hold arc coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options for the RNApuzzler algorithm (or NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler (C function)@\spxentry{vrna\_plot\_options\_puzzler}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga375ca7af7028a447d457748c4c138a8a}}{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_options\_puzzler\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_options\_puzzler}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create an RNApuzzler options data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga551344268c4245f3f75994a51c517a30}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_options\_puzzler\_free()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
An RNApuzzler options data structure with default settings 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_free (C function)@\spxentry{vrna\_plot\_options\_puzzler\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga551344268c4245f3f75994a51c517a30}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_options\_puzzler\_free}}}}
{{\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_options\_puzzler\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by an RNApuzzler options data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga375ca7af7028a447d457748c4c138a8a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_options\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga1ac934431fd36f6b82719d6898e1de43}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_layout\_puzzler()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A pointer to the options data structure to free 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_turtle (C function)@\spxentry{vrna\_plot\_coords\_turtle}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_turtle}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_turtle}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{arc\_coords}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot using the \sphinxstyleemphasis{RNAturtle} algorithm    {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNAturtle.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function basically is a wrapper to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}} that passes the \sphinxcode{\sphinxupquote{plot\_type}} {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga382c1c5c0b1943500aa4bb55b7658a33}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_TURTLE}}}}}.

\sphinxAtStartPar
Here is a simple example how to use this function, assuming variable \sphinxcode{\sphinxupquote{structure}} contains a valid dot\sphinxhyphen{}bracket string: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kt}{float}\PYG{+w}{  }\PYG{o}{*}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{y}\PYG{p}{;}
\PYG{k+kt}{double}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{arcs}\PYG{p}{;}

\PYG{k}{if}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{vrna\PYGZus{}plot\PYGZus{}coords\PYGZus{}turtle}\PYG{p}{(}\PYG{n}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{x}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{y}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{\PYGZam{}}\PYG{n}{arcs}\PYG{p}{)}\PYG{p}{)}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{all fine}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}\PYG{+w}{ }\PYG{k}{else}\PYG{+w}{ }\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{some failure occured!}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}

\PYG{n}{free}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{free}\PYG{p}{(}\PYG{n}{y}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{free}\PYG{p}{(}\PYG{n}{arcs}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga2e2adbef0283a8ff2dfe5284eb1f4a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga3d3531ebbca9054240c73bff115c4dcf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga47ff1fd92e9658361a758fdb03122911}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaea0dada4d0113d16d4890bc0937292e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple()}}}}}, vrna\_plot\_coords\_naview(), {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gafd49896df8780c9669125429bc0da9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X, Y and arc coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}}, \sphinxcode{\sphinxupquote{y}} and \sphinxcode{\sphinxupquote{arc\_coords}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{arc\_coords}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer that will hold arc coordinates (pointer will point to memory, or NULL on failure) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_coords\_turtle\_pt (C function)@\spxentry{vrna\_plot\_coords\_turtle\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_coords_turtle_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga3d3531ebbca9054240c73bff115c4dcf}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_coords\_turtle\_pt}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{p}{*}\DUrole{k}{const}\DUrole{w}{ }\DUrole{n}{pair\_table}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{y}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{arc\_coords}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot using the \sphinxstyleemphasis{RNAturtle} algorithm    {[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} . 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNAturtle.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Same as {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}} but takes a pair table with the structure information as input.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaccd6a87cb324b7d680e5dd93e112738b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga195139110e2877b92c7f82d05b6dad19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_turtle()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple\_pt()}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gab50a90dd6000a1920d741537af7e0b24}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_puzzler\_pt()}}}}}, vrna\_plot\_coords\_naview\_pt()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X, Y and arc coordinates and assigns the pointers at addressess \sphinxcode{\sphinxupquote{x}}, \sphinxcode{\sphinxupquote{y}} and \sphinxcode{\sphinxupquote{arc\_coords}} to the corresponding memory locations. It’s the users responsibility to cleanup this memory after usage!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} \textendash{} The pair table that holds the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{arc\_coords}} \textendash{} \sphinxstylestrong{{[}inout{]}} The address of a pointer that will hold arc coordinates (pointer will point to memory, or NULL on failure) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_plot\_layout\_s (C struct)@\spxentry{vrna\_plot\_layout\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__layout__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_layout\_s}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_plot\_layout\_s.type (C var)@\spxentry{vrna\_plot\_layout\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__layout__s_1ab6b2f870b2daebacb35bda9aaaa185f7}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_layout\_s.length (C var)@\spxentry{vrna\_plot\_layout\_s.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_s.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__layout__s_1aa92d06838d41a8adc6b6e43368cfd550}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_layout\_s.x (C var)@\spxentry{vrna\_plot\_layout\_s.x}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_s.x}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__layout__s_1a0d59ec47bf0fe4879aa0a25ea09b6e74}}\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{x}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_layout\_s.y (C var)@\spxentry{vrna\_plot\_layout\_s.y}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_s.y}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__layout__s_1a36827154a3369f8f6518c8fcd2607cb0}}\DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{y}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_layout\_s.arcs (C var)@\spxentry{vrna\_plot\_layout\_s.arcs}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_s.arcs}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__layout__s_1a050123b408054979b1034c8d0e3c47a8}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{arcs}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_layout\_s.bbox (C var)@\spxentry{vrna\_plot\_layout\_s.bbox}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_layout_s.bbox}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__layout__s_1a164e0d5a70e3830a8ecc938ac181da98}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bbox}}}\DUrole{p}{{[}}\DUrole{m}{4}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t (C struct)@\spxentry{vrna\_plot\_options\_puzzler\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_options\_puzzler\_t}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\textgreater{}}
\sphinxAtStartPar
Options data structure for RNApuzzler algorithm implementation. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_plot\_options\_puzzler\_t.drawArcs (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.drawArcs}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.drawArcs}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1a36f827aa6ad6e95cdd7b2e9c72e8a29f}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{drawArcs}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.paired (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.paired}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.paired}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1a110ab956c12fc4fffb910adde0ecd3d4}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{paired}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.unpaired (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.unpaired}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.unpaired}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1ab211b8584b71cea51d4fe1efd7e9ae5b}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{unpaired}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.checkAncestorIntersections (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.checkAncestorIntersections}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.checkAncestorIntersections}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1aacb446d01c9662a32a7597e82c47a5f0}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{checkAncestorIntersections}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.checkSiblingIntersections (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.checkSiblingIntersections}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.checkSiblingIntersections}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1a8fa7380258a500904624ac50c18e8871}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{checkSiblingIntersections}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.checkExteriorIntersections (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.checkExteriorIntersections}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.checkExteriorIntersections}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1ab07bd2cd544236cdd41b1fd57aa785e5}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{checkExteriorIntersections}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.allowFlipping (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.allowFlipping}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.allowFlipping}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1ab232f12775a071ecf2490cf2c9a888d7}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{allowFlipping}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.optimize (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.optimize}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.optimize}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1ac9b708ad27bda64172a212e45c10bed6}}\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{optimize}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.maximumNumberOfConfigChangesAllowed (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.maximumNumberOfConfigChangesAllowed}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.maximumNumberOfConfigChangesAllowed}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1adfac04e933edf75040ed4ecfedea8924}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{maximumNumberOfConfigChangesAllowed}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.config (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.config}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.config}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1abdf40624eff6a365f2e6fe25b97f8b43}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{config}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.filename (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.filename}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.filename}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1a30e3e50b7276e29db62dcfc5109b0f17}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{filename}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.numberOfChangesAppliedToConfig (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.numberOfChangesAppliedToConfig}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.numberOfChangesAppliedToConfig}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1af2923e874831b8c71c178db70bef08d6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{numberOfChangesAppliedToConfig}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_options\_puzzler\_t.psNumber (C var)@\spxentry{vrna\_plot\_options\_puzzler\_t.psNumber}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/layouts:c.vrna_plot_options_puzzler_t.psNumber}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/layouts:structvrna__plot__options__puzzler__t_1ace8eda4f0809a5ebdf67bb56c63efb38}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{psNumber}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/RNApuzzler/RNApuzzler.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Annotation}
\label{\detokenize{utils/plots/annotation:annotation}}\label{\detokenize{utils/plots/annotation::doc}}
\sphinxAtStartPar
Functions to generate annotations for secondary structure
plots, dot\sphinxhyphen{}plots, and others.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/plots/annotation:group__annotation__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_annotate\_covar\_db (C function)@\spxentry{vrna\_annotate\_covar\_db}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/annotation:c.vrna_annotate_covar_db}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/annotation:group__annotation__utils_1ga48b33b12fd6c1d2580d7666af5514c58}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_annotate\_covar\_db}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce covariance annotation for an alignment given a secondary structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_annotate\_covar\_db\_extended (C function)@\spxentry{vrna\_annotate\_covar\_db\_extended}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/annotation:c.vrna_annotate_covar_db_extended}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/annotation:group__annotation__utils_1gac53c381303a1fd080d6694c502e9bd3b}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_annotate\_covar\_db\_extended}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_annotate\_covar\_pt (C function)@\spxentry{vrna\_annotate\_covar\_pt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/annotation:c.vrna_annotate_covar_pt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/annotation:group__annotation__utils_1gaff9209f0461e6d239e217232ce20f6f0}}{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_annotate\_covar\_pt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pt}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{threshold}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{min\_sat}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_annotate\_covar\_pairs (C function)@\spxentry{vrna\_annotate\_covar\_pairs}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/annotation:c.vrna_annotate_covar_pairs}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/annotation:group__annotation__utils_1ga8874ed112d4a6f824f8f3269383cd835}}{\hyperref[\detokenize{utils/data_structures:c.vrna_cpair_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cpair\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_annotate\_covar\_pairs}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{alignment}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pl}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{mfel}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{threshold}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce covariance annotation for an alignment given a set of base pairs. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/utils.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Pair Probability Plots}
\label{\detokenize{utils/plots/probabilities:pair-probability-plots}}\label{\detokenize{utils/plots/probabilities::doc}}
\sphinxAtStartPar
Functions related to plotting of probabilities, such as dot\sphinxhyphen{}plots.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_PLOT\_PROBABILITIES\_BP (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_BP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_BP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1gacbb7170d7e64a20671b97dafe3825011}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_BP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag for base pair probabilities in probability plot output functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_ACC (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_ACC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_ACC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga7cf7de27166f5c445e2cf0ffc03b1a7a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_ACC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag for accessibilities in probability plot output functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_UD (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_UD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_UD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga7f35d77121d2080b8c172841248b2060}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_UD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag for unstructured domain probabilities in probability plot output functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_UD\_LIN (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_UD\_LIN}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_UD_LIN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga6cce76e1c319a60a8b8e39d8887e2f1a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_UD\_LIN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag for unstructured domain probabilities (linear representation) in probability plot output functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_SD (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_SD}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_SD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga78f8da179bc3f52b1c1180931ed8b0f7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_SD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag for structured domain probabilities (such as G\sphinxhyphen{}quadruplexes) in probability plot output functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_SC\_MOTIF (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_SC\_MOTIF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_SC_MOTIF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga228fe1c75b71cb40726b9423d2bed2a9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_SC\_MOTIF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag for soft\sphinxhyphen{}constraint motif probabilities in probability plot output functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_SC\_UP (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_SC\_UP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_SC_UP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga41a92625e75a77555b3f6e3a0ef7b89b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_SC\_UP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_SC\_BP (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_SC\_BP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_SC_BP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga886fa0619733b98667111faa56cd03d6}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_SC\_BP}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_PLOT\_PROBABILITIES\_DEFAULT (C macro)@\spxentry{VRNA\_PLOT\_PROBABILITIES\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.VRNA_PLOT_PROBABILITIES_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1gaa3a3d5cf87de5120a93eab3be788b6fb}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_PLOT\_PROBABILITIES\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default option flag for probability plot output functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Default output includes actual base pair probabilties ({\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1gacbb7170d7e64a20671b97dafe3825011}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_BP}}}}}), structured domain probabilities such as G\sphinxhyphen{}quadruplexes ({\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga78f8da179bc3f52b1c1180931ed8b0f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_SD}}}}}), probabilities obtained from soft\sphinxhyphen{}constraint motif implementation ({\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga228fe1c75b71cb40726b9423d2bed2a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_SC\_MOTIF}}}}}), and unstructured domain probabilities ({\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga6cce76e1c319a60a8b8e39d8887e2f1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_UD\_LIN}}}}}).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga45e56b67e3f333f4335197737b5f9822}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_dp\_EPS()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_plot\_dp\_EPS (C function)@\spxentry{vrna\_plot\_dp\_EPS}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_plot_dp_EPS}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga45e56b67e3f333f4335197737b5f9822}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_dp\_EPS}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{upper}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{lower}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t}]{\sphinxcrossref{\DUrole{n}{vrna\_dotplot\_auxdata\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{auxdata}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce an encapsulate PostScript (EPS) dot\sphinxhyphen{}plot from one or two lists of base pair probabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function reads two {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} lists \sphinxcode{\sphinxupquote{upper}} and \sphinxcode{\sphinxupquote{lower}} (e.g. base pair probabilities and a secondary structure) and produces an EPS “dot plot” with filename \sphinxcode{\sphinxupquote{\textquotesingle{}filename\textquotesingle{}}} where data from \sphinxcode{\sphinxupquote{upper}} is placed in the upper\sphinxhyphen{}triangular and data from \sphinxcode{\sphinxupquote{lower}}
\sphinxAtStartPar
is placed in the lower triangular part of the matrix.

\sphinxAtStartPar
For default output, provide the flag
{\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1gaa3a3d5cf87de5120a93eab3be788b6fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_DEFAULT}}}}} as \sphinxcode{\sphinxupquote{options}} parameter.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000165}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{plot\_dp\_EPS()}} where the last three parameters may be omitted. The default values for these parameters are \sphinxcode{\sphinxupquote{lower}} = NULL, \sphinxcode{\sphinxupquote{auxdata}} = NULL, \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1gaa3a3d5cf87de5120a93eab3be788b6fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_DEFAULT}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.plot_dp_EPS}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_dp\_EPS()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist\_from\_probs()}}}}}, {\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1gaa3a3d5cf87de5120a93eab3be788b6fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} A filename for the EPS output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{upper}} \textendash{} The base pair probabilities for the upper triangular part 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{lower}} \textendash{} The base pair probabilities for the lower triangular part 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Options indicating which of the input data should be included in the dot\sphinxhyphen{}plot 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if EPS file was successfully written, 0 otherwise

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_plot\_dp\_PS\_list (C function)@\spxentry{vrna\_plot\_dp\_PS\_list}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_plot_dp_PS_list}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga4150e7dc7b6a9960b858d64abcd72290}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_dp\_PS\_list}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{cp}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pl}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{mf}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{comment}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a postscript dot\sphinxhyphen{}plot from two pair lists. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function reads two plist structures (e.g. base pair probabilities and a secondary structure) as produced by {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist\_from\_probs()}}}}} and {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist()}}}}}
\sphinxAtStartPar
and produces a postscript “dot plot” that is written to ‘filename’.

\sphinxAtStartPar
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.


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist\_from\_probs()}}}}}, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} A filename for the postscript output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} The base pair probability pairlist 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mf}} \textendash{} The mfe secondary structure pairlist 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{comment}} \textendash{} A comment 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if postscript was successfully written, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_dotplot\_auxdata\_t (C struct)@\spxentry{vrna\_dotplot\_auxdata\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_dotplot\_auxdata\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_dotplot\_auxdata\_t.comment (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.comment}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.comment}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a244ff5044623adbb46db61f89a812f4c}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{comment}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.title (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.title}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.title}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a651c8b62c91f07056a2018219f9e3834}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{title}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.top (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.top}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.top}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a5834cd1f871a38c76c91560679864a44}}{\hyperref[\detokenize{utils/data_structures:c.vrna_data_lin_t}]{\sphinxcrossref{\DUrole{n}{vrna\_data\_lin\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{top}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.top\_title (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.top\_title}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.top_title}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a9614c3ff559137f289d318b5a90bab05}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{top\_title}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.bottom (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.bottom}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.bottom}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a60035f57164299f6f164d6c7a4dcfd08}}{\hyperref[\detokenize{utils/data_structures:c.vrna_data_lin_t}]{\sphinxcrossref{\DUrole{n}{vrna\_data\_lin\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{bottom}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.bottom\_title (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.bottom\_title}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.bottom_title}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a0afcf35613891c523b9934c563fe4ede}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{bottom\_title}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.left (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.left}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.left}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a249418dc916bf2609186240c86dd3f66}}{\hyperref[\detokenize{utils/data_structures:c.vrna_data_lin_t}]{\sphinxcrossref{\DUrole{n}{vrna\_data\_lin\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{left}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.left\_title (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.left\_title}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.left_title}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1a69c277c5aae30fae6454933ee29a8123}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{left\_title}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.right (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.right}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.right}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1aa22630b90143fb534cd68301cb852095}}{\hyperref[\detokenize{utils/data_structures:c.vrna_data_lin_t}]{\sphinxcrossref{\DUrole{n}{vrna\_data\_lin\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{right}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_dotplot\_auxdata\_t.right\_title (C var)@\spxentry{vrna\_dotplot\_auxdata\_t.right\_title}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/probabilities:c.vrna_dotplot_auxdata_t.right_title}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t_1acb6f56b185c7c27573ea4a2dfcc15f4d}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{right\_title}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Alignment Plots}
\label{\detokenize{utils/plots/alignments:alignment-plots}}\label{\detokenize{utils/plots/alignments::doc}}
\sphinxAtStartPar
Functions to generate Alignment plots with annotated consensus structure.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:group__alignment__plots}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_file\_PS\_aln (C function)@\spxentry{vrna\_file\_PS\_aln}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_file_PS_aln}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/alignments:group__alignment__plots_1ga3bb7409f5b73c2273f9f76cf8b754034}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_PS\_aln}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{seqs}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{columns}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create an annotated PostScript alignment plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000163}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{file\_PS\_aln()}} with three additional parameters \sphinxcode{\sphinxupquote{start}}, \sphinxcode{\sphinxupquote{end}}, and \sphinxcode{\sphinxupquote{offset}} before the \sphinxcode{\sphinxupquote{columns}} argument. Thus, it resembles the \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga2b132dddeb2044e52dc39cf0ad8afaee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln\_slice()}}}}}}} function. The last four arguments may be omitted, indicating the default of \sphinxcode{\sphinxupquote{start}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{end}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{offset}} = \sphinxstyleemphasis{0}, and \sphinxcode{\sphinxupquote{columns}} = \sphinxstyleemphasis{60}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.file_PS_aln}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_PS\_aln()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga2b132dddeb2044e52dc39cf0ad8afaee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln\_slice()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The output file name 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seqs}} \textendash{} The aligned sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} \textendash{} The names of the sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The consensus structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{columns}} \textendash{} The number of columns before the alignment is wrapped as a new block (a value of 0 indicates no wrapping)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_PS\_aln\_slice (C function)@\spxentry{vrna\_file\_PS\_aln\_slice}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_file_PS_aln_slice}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/alignments:group__alignment__plots_1ga2b132dddeb2044e52dc39cf0ad8afaee}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_PS\_aln\_slice}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{seqs}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{offset}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{columns}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create an annotated PostScript alignment plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Similar to {\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga3bb7409f5b73c2273f9f76cf8b754034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln()}}}}} but allows the user to print a particular slice of the alignment by specifying a \sphinxcode{\sphinxupquote{start}} and \sphinxcode{\sphinxupquote{end}} position. The additional \sphinxcode{\sphinxupquote{offset}} parameter allows for adjusting the alignment position ruler value.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000164}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{file\_PS\_aln()}} where the last four parameter may be omitted, indicating \sphinxcode{\sphinxupquote{start}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{end}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{offset}} = \sphinxstyleemphasis{0}, and \sphinxcode{\sphinxupquote{columns}} = \sphinxstyleemphasis{60}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.file_PS_aln}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_PS\_aln()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga2b132dddeb2044e52dc39cf0ad8afaee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln\_slice()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The output file name 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seqs}} \textendash{} The aligned sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} \textendash{} The names of the sequences 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The consensus structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The start of the alignment slice (a value of 0 indicates the first position of the alignment, i.e. no slicing at 5’ side) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The end of the alignment slice (a value of 0 indicates the last position of the alignment, i.e. no slicing at 3’ side) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{offset}} \textendash{} The alignment coordinate offset for the position ruler. 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{columns}} \textendash{} The number of columns before the alignment is wrapped as a new block (a value of 0 indicates no wrapping)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_PS\_aln\_opt (C function)@\spxentry{vrna\_file\_PS\_aln\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_file_PS_aln_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/alignments:group__alignment__plots_1gacad3969b2155a95809e1d492f8a95385}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_PS\_aln\_opt}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{seqs}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/alignments:c.vrna_aln_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_aln\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_aln\_opt\_t (C struct)@\spxentry{vrna\_aln\_opt\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_aln_opt_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:structvrna__aln__opt__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_aln\_opt\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_aln\_opt\_t.start (C var)@\spxentry{vrna\_aln\_opt\_t.start}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_aln_opt_t.start}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:structvrna__aln__opt__t_1aaa82682e95e7cf29a5d752f85e38910b}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{start}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_aln\_opt\_t.end (C var)@\spxentry{vrna\_aln\_opt\_t.end}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_aln_opt_t.end}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:structvrna__aln__opt__t_1a117ad2b78ecd7077a4902efb148cf297}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{end}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_aln\_opt\_t.offset (C var)@\spxentry{vrna\_aln\_opt\_t.offset}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_aln_opt_t.offset}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:structvrna__aln__opt__t_1a68aa2cf08e6f4a703cb72ebb74781162}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{offset}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_aln\_opt\_t.columns (C var)@\spxentry{vrna\_aln\_opt\_t.columns}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_aln_opt_t.columns}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:structvrna__aln__opt__t_1a2ad9552903b95c1006618a397cfdad5f}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{columns}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_aln\_opt\_t.color\_threshold (C var)@\spxentry{vrna\_aln\_opt\_t.color\_threshold}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_aln_opt_t.color_threshold}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:structvrna__aln__opt__t_1afc0bec6a11f03e86ddc7bc6db28f3354}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{color\_threshold}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_aln\_opt\_t.color\_min\_sat (C var)@\spxentry{vrna\_aln\_opt\_t.color\_min\_sat}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/alignments:c.vrna_aln_opt_t.color_min_sat}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/alignments:structvrna__aln__opt__t_1aeab6f09301ed4321cbe7f44591f6d756}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{color\_min\_sat}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Deprecated Interface for Plotting Utilities}
\label{\detokenize{utils/plots/deprecated:deprecated-interface-for-plotting-utilities}}\label{\detokenize{utils/plots/deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{PS\_color\_aln (C function)@\spxentry{PS\_color\_aln}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.PS_color_aln}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga821802c3685e37e15182341f6217470d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_color\_aln}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seqs}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{names}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce PostScript sequence alignment color\sphinxhyphen{}annotated by consensus structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000199}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga3bb7409f5b73c2273f9f76cf8b754034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{aliPS\_color\_aln (C function)@\spxentry{aliPS\_color\_aln}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.aliPS_color_aln}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gaab48d4dac655d688abe921389ac2847c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{aliPS\_color\_aln}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seqs}\DUrole{p}{{[}}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{names}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
PS\_color\_aln for duplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/alignments.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000200}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga3bb7409f5b73c2273f9f76cf8b754034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln()}}}}} instead!

\end{fulllineitems}



\end{fulllineitems}

\index{simple\_xy\_coordinates (C function)@\spxentry{simple\_xy\_coordinates}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.simple_xy_coordinates}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gaf4b9173e7d3fd361c3c85e6def194123}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{simple\_xy\_coordinates}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pair\_table}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{X}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{Y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate nucleotide coordinates for secondary structure plot the \sphinxstyleemphasis{Simple way}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000201}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Consider switching to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple\_pt()}}}}} instead!

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab037d0de2e4c3d6a3f1d51b5b22315dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{make\_pair\_table()}}}}}, {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga5964c4581431b098b80027d6e14dcdd4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{rna\_plot\_type}}}}}, {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gac4ea13d35308f09940178d2b05a248c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{simple\_circplot\_coordinates()}}}}}, naview\_xy\_coordinates(), {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gae7853539b5df98f294b4af434e979304}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{svg\_rna\_plot()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pair\_table}} \textendash{} The pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{X}} \textendash{} a pointer to an array with enough allocated space to hold the x coordinates 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Y}} \textendash{} a pointer to an array with enough allocated space to hold the y coordinates 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
length of sequence on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{simple\_circplot\_coordinates (C function)@\spxentry{simple\_circplot\_coordinates}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.simple_circplot_coordinates}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gac4ea13d35308f09940178d2b05a248c2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{simple\_circplot\_coordinates}}}}
{\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pair\_table}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{float}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calculate nucleotide coordinates for \sphinxstyleemphasis{Circular Plot}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

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

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000202}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Consider switching to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular\_pt()}}}}} instead!

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab037d0de2e4c3d6a3f1d51b5b22315dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{make\_pair\_table()}}}}}, {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga5964c4581431b098b80027d6e14dcdd4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{rna\_plot\_type}}}}}, {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gaf4b9173e7d3fd361c3c85e6def194123}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{simple\_xy\_coordinates()}}}}}, naview\_xy\_coordinates(), {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot}}}}}, {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gae7853539b5df98f294b4af434e979304}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{svg\_rna\_plot()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
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 R$^{\text{2}}$ 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\).
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pair\_table}} \textendash{} The pair table of the secondary structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} a pointer to an array with enough allocated space to hold the x coordinates 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} a pointer to an array with enough allocated space to hold the y coordinates 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
length of sequence on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{PS\_color\_dot\_plot (C function)@\spxentry{PS\_color\_dot\_plot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.PS_color_dot_plot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gaa88c6a2455d08cecdb9d58ec2a366c46}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_color\_dot\_plot}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_cpair_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cpair\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pi}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{PS\_color\_dot\_plot\_turn (C function)@\spxentry{PS\_color\_dot\_plot\_turn}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.PS_color_dot_plot_turn}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga3afb175db9396ea4f7f7dd25950509fa}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_color\_dot\_plot\_turn}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_cpair_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cpair\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pi}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{winSize}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{PS\_dot\_plot\_turn (C function)@\spxentry{PS\_dot\_plot\_turn}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.PS_dot_plot_turn}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gaabe8e6cb31a52763c8549861b1022a96}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_dot\_plot\_turn}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pl}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{winSize}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{PS\_dot\_plot\_list (C function)@\spxentry{PS\_dot\_plot\_list}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.PS_dot_plot_list}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga4d3a807be24a9a60a90a82dbc3225f02}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_dot\_plot\_list}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pl}\sphinxparamcomma {\hyperref[\detokenize{utils/struct/plist:c.vrna_ep_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ep\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{mf}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{comment}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a postscript dot\sphinxhyphen{}plot from two pair lists. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function reads two plist structures (e.g. base pair probabilities and a secondary structure) as produced by {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1cc05aaa9b0e7df2d3887e98321c2030}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_pr()}}}}} and {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gab61df77cf7949cd516181fce0c3d7d78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_db()}}}}}
\sphinxAtStartPar
and produces a postscript “dot plot” that is written to ‘filename’.

\sphinxAtStartPar
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.


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1cc05aaa9b0e7df2d3887e98321c2030}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_pr()}}}}}, {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gab61df77cf7949cd516181fce0c3d7d78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_db()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} A filename for the postscript output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} \textendash{} The base pair probability pairlist 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mf}} \textendash{} The mfe secondary structure pairlist 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{comment}} \textendash{} A comment 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if postscript was successfully written, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{PS\_dot\_plot (C function)@\spxentry{PS\_dot\_plot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.PS_dot_plot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga689a97a7e3b8a2df14728b8204d9d57b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_dot\_plot}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce postscript dot\sphinxhyphen{}plot. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/probabilities.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Wrapper to PS\_dot\_plot\_list

\sphinxAtStartPar
Reads base pair probabilities produced by {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gadc3db3d98742427e7001a7fd36ef28c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold()}}}}} from the global array pr and the pair list base\_pair produced by {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{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 

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000203}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is deprecated and will be removed soon! Use {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga4d3a807be24a9a60a90a82dbc3225f02}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PS\_dot\_plot\_list()}}}}} instead! 

\end{fulllineitems}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
DO NOT USE THIS FUNCTION ANYMORE SINCE IT IS NOT THREADSAFE
\end{sphinxadmonition}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{rna\_plot\_type (C var)@\spxentry{rna\_plot\_type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.rna_plot_type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga5964c4581431b098b80027d6e14dcdd4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{rna\_plot\_type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Switch for changing the secondary structure layout algorithm. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Current possibility are 0 for a simple radial drawing or 1 for the modified radial drawing taken from the \sphinxstyleemphasis{naview} program of    Bruccoleri and Heinrich {[}\hyperlink{cite.bibliography:id15}{1988}{]} .

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gae6d17b9f0a53cf5205a9181e0f8422e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_SIMPLE}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga94d4c863ecac2f220f76658afb92f964}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_NAVIEW}}}}}, {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga8c9eac631348da92136c8363ecdd9fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_TYPE\_CIRCULAR}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
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!
\end{sphinxadmonition}

\end{fulllineitems}


\end{sphinxuseclass}\index{COORDINATE (C struct)@\spxentry{COORDINATE}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.COORDINATE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/deprecated:structCOORDINATE}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{COORDINATE}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/plotting/layouts.h\textgreater{}}
\sphinxAtStartPar
this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type {\hyperref[\detokenize{utils/plots/deprecated:structCOORDINATE}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{COORDINATE}}}}}

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{COORDINATE.X (C var)@\spxentry{COORDINATE.X}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.COORDINATE.X}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/deprecated:structCOORDINATE_1a1650ff457f1fcf1b29dfccf1cbe4c3e9}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{X}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{COORDINATE.Y (C var)@\spxentry{COORDINATE.Y}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots/deprecated:c.COORDINATE.Y}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots/deprecated:structCOORDINATE_1a827df1c548f95486abf6c6a94d6ce6b2}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Y}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/layouts.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_FILE\_FORMAT\_EPS (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_EPS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.VRNA_FILE_FORMAT_EPS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga871bcfde693d283f84f3c99b39a7eba1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_EPS}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_SVG (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_SVG}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.VRNA_FILE_FORMAT_SVG}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga7e6988112a13762629d263429249b8b4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_SVG}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_GML (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_GML}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.VRNA_FILE_FORMAT_GML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gab69c92149df9526af14095ecf0822540}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_GML}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_SSV (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_SSV}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.VRNA_FILE_FORMAT_SSV}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga6919ce89b337138f40f9850fd2128994}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_SSV}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_XRNA (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_XRNA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.VRNA_FILE_FORMAT_XRNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga17c33113d04ac5637a3d544492d0df8e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_XRNA}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_FILE\_FORMAT\_PLOT\_DEFAULT (C macro)@\spxentry{VRNA\_FILE\_FORMAT\_PLOT\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.VRNA_FILE_FORMAT_PLOT_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga55cacdf2c5a9170ba454c1229b4cfc38}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FILE\_FORMAT\_PLOT\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_plot\_data\_t (C type)@\spxentry{vrna\_plot\_data\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_data_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga201dbca535495a7727828cace23a9198}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/plots:c.vrna_plot_data_s}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_data\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_data\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_plot\_structure (C function)@\spxentry{vrna\_plot\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gae8f72f3e0062af6d6216f3936695140c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_structure}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{file\_format}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}\sphinxparamcomma {\hyperref[\detokenize{utils/plots:c.vrna_plot_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_data\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{aux\_data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_structure\_svg (C function)@\spxentry{vrna\_plot\_structure\_svg}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_structure_svg}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gaa4c4f2feb1b68519403a7d9b61bbf171}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_structure\_svg}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}\sphinxparamcomma {\hyperref[\detokenize{utils/plots:c.vrna_plot_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_data\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_structure\_eps (C function)@\spxentry{vrna\_plot\_structure\_eps}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_structure_eps}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gaed9aca968b794b27ea257044d753cc02}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_structure\_eps}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}\sphinxparamcomma {\hyperref[\detokenize{utils/plots:c.vrna_plot_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_data\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_structure\_gml (C function)@\spxentry{vrna\_plot\_structure\_gml}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_structure_gml}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga97471fe55c3cbb0ef7ca1e064d5d9ad0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_structure\_gml}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}\sphinxparamcomma {\hyperref[\detokenize{utils/plots:c.vrna_plot_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_data\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_structure\_ssv (C function)@\spxentry{vrna\_plot\_structure\_ssv}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_structure_ssv}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga6142b43d7e935204ae11619cd9421f5d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_structure\_ssv}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}\sphinxparamcomma {\hyperref[\detokenize{utils/plots:c.vrna_plot_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_data\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_structure\_xrna (C function)@\spxentry{vrna\_plot\_structure\_xrna}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_structure_xrna}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gac8ea43c46ff10a55d28f7b9f7428c34b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_structure\_xrna}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{filename}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}\sphinxparamcomma {\hyperref[\detokenize{utils/plots:c.vrna_plot_data_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_data\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_file\_PS\_rnaplot (C function)@\spxentry{vrna\_file\_PS\_rnaplot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_file_PS_rnaplot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_PS\_rnaplot}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript and write it to ‘filename’. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Note that this function has changed from previous versions and now expects the structure to be plotted in dot\sphinxhyphen{}bracket notation as an argument. It does not make use of the global base\_pair array anymore.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The filename of the postscript output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} \textendash{} Model parameters used to generate a commandline option string in the output (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_PS\_rnaplot\_a (C function)@\spxentry{vrna\_file\_PS\_rnaplot\_a}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_file_PS_rnaplot_a}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_PS\_rnaplot\_a}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pre}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{post}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript including additional annotation macros and write it to ‘filename’. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Same as {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot()}}}}} 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.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} \textendash{} The filename of the postscript output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pre}} \textendash{} PostScript code to appear before the secondary structure plot 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{post}} \textendash{} PostScript code to appear after the secondary structure plot 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} \textendash{} Model parameters used to generate a commandline option string in the output (Maybe NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_file\_PS\_rnaplot\_layout (C function)@\spxentry{vrna\_file\_PS\_rnaplot\_layout}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_file_PS_rnaplot_layout}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga170bae75ff28e84edd4d9c32b86083e9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_file\_PS\_rnaplot\_layout}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seq}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ssfile}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pre}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{post}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/plots/layouts:c.vrna_plot_layout_t}]{\sphinxcrossref{\DUrole{n}{vrna\_plot\_layout\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{layout}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{PS\_rna\_plot\_snoop\_a (C function)@\spxentry{PS\_rna\_plot\_snoop\_a}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.PS_rna_plot_snoop_a}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga6d0abe209468084b5a24c837e2d222a6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_rna\_plot\_snoop\_a}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ssfile}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{relative\_access}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{seqs}\DUrole{p}{{[}}\DUrole{p}{{]}}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{gmlRNA (C function)@\spxentry{gmlRNA}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.gmlRNA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga70834bc8c0aad4fe6824ff76ccb8f329}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{gmlRNA}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ssfile}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{option}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in Graph Meta Language (gml) and write it to a file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
If ‘option’ is an uppercase letter the RNA sequence is used to label nodes, if ‘option’ equals \sphinxstyleemphasis{‘X’} or \sphinxstyleemphasis{‘x’} the resulting file will coordinates for an initial layout of the graph.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} \textendash{} The filename of the gml output 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} \textendash{} The option flag 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{ssv\_rna\_plot (C function)@\spxentry{ssv\_rna\_plot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.ssv_rna_plot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gadd368528755f9a830727b680243541df}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ssv\_rna\_plot}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ssfile}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in SStructView format. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Write coord file for SStructView
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} \textendash{} The filename of the ssv output 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{svg\_rna\_plot (C function)@\spxentry{svg\_rna\_plot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.svg_rna_plot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1gae7853539b5df98f294b4af434e979304}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{svg\_rna\_plot}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ssfile}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure plot in SVG format and write it to a file. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} \textendash{} The filename of the svg output 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{xrna\_plot (C function)@\spxentry{xrna\_plot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.xrna_plot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga2f6d5953e6a323df898896b8d6614483}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{xrna\_plot}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ssfile}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure plot for further editing in XRNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The RNA sequence 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} \textendash{} The filename of the xrna output 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{PS\_rna\_plot (C function)@\spxentry{PS\_rna\_plot}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.PS_rna_plot}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga0873c7cc4cd7a11c9a2cea19dde7e9c9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_rna\_plot}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript and write it to ‘filename’. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000204}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot()}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{PS\_rna\_plot\_a (C function)@\spxentry{PS\_rna\_plot\_a}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.PS_rna_plot_a}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga47856b2504b566588785597b6ebb8271}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_rna\_plot\_a}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pre}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{post}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript including additional annotation macros and write it to ‘filename’. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000205}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{PS\_rna\_plot\_a\_gquad (C function)@\spxentry{PS\_rna\_plot\_a\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.PS_rna_plot_a_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/plots:group__plotting__utils_1ga32fa0f97625119e9d24dd2e7153abc4f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PS\_rna\_plot\_a\_gquad}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ssfile}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pre}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{post}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript including additional annotation macros and write it to ‘filename’ (detect and draw g\sphinxhyphen{}quadruplexes). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000206}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_plot\_data\_s (C struct)@\spxentry{vrna\_plot\_data\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_data_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:structvrna__plot__data__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plot\_data\_s}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_plot\_data\_s.pre (C var)@\spxentry{vrna\_plot\_data\_s.pre}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_data_s.pre}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:structvrna__plot__data__s_1aac4cb61b6b514f88e4b9e7b5c36e2026}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pre}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_data\_s.post (C var)@\spxentry{vrna\_plot\_data\_s.post}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_data_s.post}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:structvrna__plot__data__s_1ade97356863a5c4b01015ab0c86315038}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{post}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_data\_s.md (C var)@\spxentry{vrna\_plot\_data\_s.md}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_data_s.md}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:structvrna__plot__data__s_1a84c051f94d02017c3cb7c1939b1cf1c8}}{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{md}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_plot\_data\_s.options (C var)@\spxentry{vrna\_plot\_data\_s.options}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/plots:c.vrna_plot_data_s.options}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/plots:structvrna__plot__data__s_1a9dc875d06344c8e4a65304c50aa2fa38}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{options}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/plotting/structures.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Data Handling and Manipulation}
\label{\detokenize{utils/data:data-handling-and-manipulation}}\label{\detokenize{utils/data::doc}}
\sphinxAtStartPar
It is not unusual that data needs to be tranformed before
being used in any method or algorithm (\sphinxstyleemphasis{pre\sphinxhyphen{}processing}) or
after it has been generated (\sphinxstyleemphasis{post\sphinxhyphen{}processing}). Here, we
provide a generic implementation to transform an array of
data into another array of data of the same size. Our
implementation utilizes a callback mechanism that is responsible
to transform any source value to a specific target value.

\sphinxAtStartPar
We already provide a handful of useful transformation functions
through our {\hyperref[\detokenize{utils/math:mathematical-functions}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Mathematical Functions}}}}} API, e.g.
linear functions, logarithms, logistic functions, but also
bining and kernel density estimation (KDE). However, our
choice to implement callback mechanism based transformation
function(s) allows the users to implement any transformation function
themselfs. This enables a wide range of possible adaptations
of other methods throughout the ViennaRNA library that are build
on top of the transformation functions.

\sphinxAtStartPar
Below are all API symbols for the data transform implementation.


\subsubsection{Data Transform API}
\label{\detokenize{utils/data:data-transform-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_SOURCE (C macro)@\spxentry{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_SOURCE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_ENFORCE_DOMAIN_SOURCE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga36f0a5b889aafd5fe7ae0f662ea6198c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_SOURCE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to enforce source domain limits. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_TARGET (C macro)@\spxentry{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_TARGET}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_ENFORCE_DOMAIN_TARGET}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1gab611a93f10a243918c91829800444e7f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_TARGET}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to enforce target domain limits. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_ENFORCE\_DOMAINS (C macro)@\spxentry{VRNA\_TRANSFORM\_ENFORCE\_DOMAINS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_ENFORCE_DOMAINS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga9330be06bc6e577d4c4e3d334aba0f66}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_ENFORCE\_DOMAINS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to enforce source and target domain limits. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_MAP\_SOURCE\_LOW (C macro)@\spxentry{VRNA\_TRANSFORM\_MAP\_SOURCE\_LOW}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_MAP_SOURCE_LOW}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga65b5e5dfe172ccf5e947dbc19624947b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_MAP\_SOURCE\_LOW}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to map source values below the domain limit to the lower domain limit. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_MAP\_SOURCE\_HIGH (C macro)@\spxentry{VRNA\_TRANSFORM\_MAP\_SOURCE\_HIGH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_MAP_SOURCE_HIGH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga0be990162372438311640b8cf980bf7b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_MAP\_SOURCE\_HIGH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to map source values above the domain limit to the upper domain limit. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_MAP\_SOURCE (C macro)@\spxentry{VRNA\_TRANSFORM\_MAP\_SOURCE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_MAP_SOURCE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga527175a47181c235777a20e7e8f36639}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_MAP\_SOURCE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to map source values below and above the domain limits to the domain limits. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_MAP\_TARGET\_LOW (C macro)@\spxentry{VRNA\_TRANSFORM\_MAP\_TARGET\_LOW}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_MAP_TARGET_LOW}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga784a9ec67dd752ca94c038ba52507565}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_MAP\_TARGET\_LOW}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to map target values below the domain limit to the lower domain limit. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_MAP\_TARGET\_HIGH (C macro)@\spxentry{VRNA\_TRANSFORM\_MAP\_TARGET\_HIGH}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_MAP_TARGET_HIGH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga3d280c9e33c2aec8c9752f75c29f73a5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_MAP\_TARGET\_HIGH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to map target values above the domain limit to the upper domain limit. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_MAP\_TARGET (C macro)@\spxentry{VRNA\_TRANSFORM\_MAP\_TARGET}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_MAP_TARGET}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1gab090386263e09cd72cbf288a88e98c17}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_MAP\_TARGET}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to map target values below and above the domain limits to the domain limits. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_MAP (C macro)@\spxentry{VRNA\_TRANSFORM\_MAP}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_MAP}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1gabd1089d2cbdcfdae45587dd4b06774b2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_MAP}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data to map source and target values below and above the domain limits to the respective domain limits. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_TRANSFORM\_DEFAULT (C macro)@\spxentry{VRNA\_TRANSFORM\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.VRNA_TRANSFORM_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1gaf307a8f442a2544f12c3e92495a67a6a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_TRANSFORM\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data that indicates default settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_data\_lin\_transform (C function)@\spxentry{vrna\_data\_lin\_transform}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data:c.vrna_data_lin_transform}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_data\_lin\_transform}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{data\_size}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{transform\_cb}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{transform\_opt}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{domain}\DUrole{p}{{[}}\DUrole{m}{4}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{oob\_value}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Transform an array of linear data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/data/transform.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function transforms an array of linear data (\sphinxcode{\sphinxupquote{source}}) into another array of linear data of the same size (\sphinxcode{\sphinxupquote{target}}). For that purpose, it utilizes a callback mechanism that transforms each single value.

\sphinxAtStartPar
During data transform, the callback function (\sphinxcode{\sphinxupquote{transform\_cb}}) will be executed for each value of the linear data (\sphinxcode{\sphinxupquote{data}}) and is responsible to actually transform the data value. The \sphinxcode{\sphinxupquote{transform\_opt}} parameter will be simply passed\sphinxhyphen{}through to the callback function as second argument. The callback function has to return the transformed value.

\sphinxAtStartPar
This transformation function may enforce source and target domain limits if the corresponding flag ({\hyperref[\detokenize{utils/data:group__data__utils_1ga9330be06bc6e577d4c4e3d334aba0f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_ENFORCE\_DOMAINS}}}}}) is provided to the \sphinxcode{\sphinxupquote{options}} argument. This means that one has complete control over the accepted values of the source and target domains. The limits can be provided to this function through the \sphinxcode{\sphinxupquote{domain}} argument. Here, the order of the limits follows: \begin{equation*}
\begin{split} x_\text{min}, x_\text{max}, y_\text{min}, y_\text{max}. \end{split}
\end{equation*}

\sphinxAtStartPar
If \sphinxcode{\sphinxupquote{NULL}} is passed instead of an actual domain array, domain enforcement is deactivated and any value will pass. In case a domain enforcing is active and a source or target value doesn’t meet the respective limits, the function assigns it the out\sphinxhyphen{}of\sphinxhyphen{}bounds value \sphinxcode{\sphinxupquote{oob\_value}}. This behavior can be changed to a mapping of out\sphinxhyphen{}of\sphinxhyphen{}bounds values to the respetive domain limits. For that purpose, the \sphinxcode{\sphinxupquote{options}} argument requires the flag {\hyperref[\detokenize{utils/data:group__data__utils_1gabd1089d2cbdcfdae45587dd4b06774b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1gaf307a8f442a2544f12c3e92495a67a6a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga9330be06bc6e577d4c4e3d334aba0f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_ENFORCE\_DOMAINS}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga36f0a5b889aafd5fe7ae0f662ea6198c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_SOURCE}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1gab611a93f10a243918c91829800444e7f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_ENFORCE\_DOMAIN\_TARGET}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1gabd1089d2cbdcfdae45587dd4b06774b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga527175a47181c235777a20e7e8f36639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_SOURCE}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1gab090386263e09cd72cbf288a88e98c17}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_TARGET}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga65b5e5dfe172ccf5e947dbc19624947b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_SOURCE\_LOW}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga0be990162372438311640b8cf980bf7b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_SOURCE\_HIGH}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga784a9ec67dd752ca94c038ba52507565}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_TARGET\_LOW}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga3d280c9e33c2aec8c9752f75c29f73a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_TARGET\_HIGH}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaf841692e31e5fd2433b760b5ed14a483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Individual control for mapping out\sphinxhyphen{}of\sphinxhyphen{}bounds values to the four domain limits, i.e. low and high values of source and target can be gained by providing the \sphinxcode{\sphinxupquote{options}} argument the {\hyperref[\detokenize{utils/data:group__data__utils_1ga65b5e5dfe172ccf5e947dbc19624947b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_SOURCE\_LOW}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga0be990162372438311640b8cf980bf7b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_SOURCE\_HIGH}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga784a9ec67dd752ca94c038ba52507565}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_TARGET\_LOW}}}}}, and {\hyperref[\detokenize{utils/data:group__data__utils_1ga3d280c9e33c2aec8c9752f75c29f73a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRANSFORM\_MAP\_TARGET\_HIGH}}}}} flags. 
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
When \sphinxcode{\sphinxupquote{data}} is \sphinxcode{\sphinxupquote{NULL}} or \sphinxcode{\sphinxupquote{data\_size}} equals \sphinxcode{\sphinxupquote{0}}, the function returns \sphinxcode{\sphinxupquote{NULL}}. Moreover, the function simply provides a copy of the linear data if the transformation callback \sphinxcode{\sphinxupquote{transform\_cb}} is not provided, i.e. if it is \sphinxcode{\sphinxupquote{NULL}}. In this case, domain limits will still be enforced if the corresponding options are set.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to an array of linear data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_size}} \textendash{} The size of the array \sphinxcode{\sphinxupquote{data}} is pointing to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{transform\_cb}} \textendash{} The data transformation callback (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{transform\_opt}} \textendash{} The options that need to be passed through to the transformation callback \sphinxcode{\sphinxupquote{transform\_cb}} (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{domain}} \textendash{} The domain limits (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{oob\_value}} \textendash{} Out\sphinxhyphen{}of\sphinxhyphen{}bound value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the transformation function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to an array of transformed linear data (or \sphinxcode{\sphinxupquote{NULL}} on any error) 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Search Algorithms}
\label{\detokenize{utils/search:search-algorithms}}\label{\detokenize{utils/search::doc}}
\sphinxAtStartPar
Implementations of various search algorithms to detect strings of objects
within other strings of objects.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/search:group__search__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_search\_BMH\_num (C function)@\spxentry{vrna\_search\_BMH\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/search:c.vrna_search_BMH_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/search:group__search__utils_1gab7982880343a052452e102d40fd3eff6}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_search\_BMH\_num}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{needle}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{needle\_size}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{haystack}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{haystack\_size}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{badchars}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{cyclic}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Search for a string of elements in a larger string of elements using the Boyer\sphinxhyphen{}Moore\sphinxhyphen{}Horspool algorithm. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/search/BoyerMoore.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
To speed\sphinxhyphen{}up subsequent searches with this function, the Bad Character Table should be precomputed and passed as argument \sphinxcode{\sphinxupquote{badchars}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/search:group__search__utils_1ga66f96a54d0fd58fe86b5566528a1cc8f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BM\_BCT\_num()}}}}}, {\hyperref[\detokenize{utils/search:group__search__utils_1ga77ca780913c5f07d9a5c40bd325dc752}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BMH()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{needle}} \textendash{} The pattern of object representations to search for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{needle\_size}} \textendash{} The size (length) of the pattern provided in \sphinxcode{\sphinxupquote{needle}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{haystack}} \textendash{} The string of objects the search will be performed on 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{haystack\_size}} \textendash{} The size (length) of the \sphinxcode{\sphinxupquote{haystack}} string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The position within \sphinxcode{\sphinxupquote{haystack}} where to start the search 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{badchars}} \textendash{} A pre\sphinxhyphen{}computed Bad Character Table obtained from {\hyperref[\detokenize{utils/search:group__search__utils_1ga66f96a54d0fd58fe86b5566528a1cc8f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BM\_BCT\_num()}}}}} (If NULL, a Bad Character Table will be generated automatically) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cyclic}} \textendash{} Allow for cyclic matches if non\sphinxhyphen{}zero, stop search at end of haystack otherwise 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the first occurence of \sphinxcode{\sphinxupquote{needle}} within \sphinxcode{\sphinxupquote{haystack}} after position \sphinxcode{\sphinxupquote{start}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_search\_BMH (C function)@\spxentry{vrna\_search\_BMH}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/search:c.vrna_search_BMH}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/search:group__search__utils_1ga77ca780913c5f07d9a5c40bd325dc752}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_search\_BMH}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{needle}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{needle\_size}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{haystack}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{haystack\_size}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{badchars}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{cyclic}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Search for an ASCII pattern within a larger ASCII string using the Boyer\sphinxhyphen{}Moore\sphinxhyphen{}Horspool algorithm. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/search/BoyerMoore.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
To speed\sphinxhyphen{}up subsequent searches with this function, the Bad Character Table should be precomputed and passed as argument \sphinxcode{\sphinxupquote{badchars}}. Furthermore, both, the lengths of \sphinxcode{\sphinxupquote{needle}} and the length of \sphinxcode{\sphinxupquote{haystack}} should be pre\sphinxhyphen{}computed and must be passed along with each call.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/search:group__search__utils_1gae4d08bb27d9daaba2be2e59d1c7cf2ab}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BM\_BCT()}}}}}, {\hyperref[\detokenize{utils/search:group__search__utils_1gab7982880343a052452e102d40fd3eff6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BMH\_num()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{needle}} \textendash{} The NULL\sphinxhyphen{}terminated ASCII pattern to search for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{needle\_size}} \textendash{} The size (length) of the pattern provided in \sphinxcode{\sphinxupquote{needle}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{haystack}} \textendash{} The NULL\sphinxhyphen{}terminated ASCII string of the search will be performed on 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{haystack\_size}} \textendash{} The size (length) of the \sphinxcode{\sphinxupquote{haystack}} string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The position within \sphinxcode{\sphinxupquote{haystack}} where to start the search 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{badchars}} \textendash{} A pre\sphinxhyphen{}computed Bad Character Table obtained from {\hyperref[\detokenize{utils/search:group__search__utils_1gae4d08bb27d9daaba2be2e59d1c7cf2ab}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BM\_BCT()}}}}} (If NULL, a Bad Character Table will be generated automatically) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cyclic}} \textendash{} Allow for cyclic matches if non\sphinxhyphen{}zero, stop search at end of haystack otherwise 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the first occurence of \sphinxcode{\sphinxupquote{needle}} within \sphinxcode{\sphinxupquote{haystack}} after position \sphinxcode{\sphinxupquote{start}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_search\_BM\_BCT\_num (C function)@\spxentry{vrna\_search\_BM\_BCT\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/search:c.vrna_search_BM_BCT_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/search:group__search__utils_1ga66f96a54d0fd58fe86b5566528a1cc8f}}\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_search\_BM\_BCT\_num}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pattern}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{pattern\_size}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num\_max}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a Boyer\sphinxhyphen{}Moore Bad Character Table for a pattern of elements represented by natural numbers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/search/BoyerMoore.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/search:group__search__utils_1gab7982880343a052452e102d40fd3eff6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BMH\_num()}}}}}, {\hyperref[\detokenize{utils/search:group__search__utils_1gae4d08bb27d9daaba2be2e59d1c7cf2ab}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BM\_BCT()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
We store the maximum number representation of an element \sphinxcode{\sphinxupquote{num\_max}} at position \sphinxcode{\sphinxupquote{0}}. So the actual bad character table \sphinxcode{\sphinxupquote{T}} starts at \sphinxcode{\sphinxupquote{T}}{[}1{]} for an element represented by number \sphinxcode{\sphinxupquote{0}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pattern}} \textendash{} The pattern of element representations used in the subsequent search 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pattern\_size}} \textendash{} The size (length) of the pattern provided in \sphinxcode{\sphinxupquote{pattern}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_max}} \textendash{} The maximum number representation of an element, i.e. the size of the alphabet 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A Bad Character Table for use in our Boyer\sphinxhyphen{}Moore search algorithm implementation(s) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_search\_BM\_BCT (C function)@\spxentry{vrna\_search\_BM\_BCT}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/search:c.vrna_search_BM_BCT}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/search:group__search__utils_1gae4d08bb27d9daaba2be2e59d1c7cf2ab}}\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_search\_BM\_BCT}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{pattern}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a Boyer\sphinxhyphen{}Moore Bad Character Table for a NULL\sphinxhyphen{}terminated pattern of ASCII characters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/search/BoyerMoore.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/search:group__search__utils_1ga77ca780913c5f07d9a5c40bd325dc752}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BMH()}}}}}, {\hyperref[\detokenize{utils/search:group__search__utils_1ga66f96a54d0fd58fe86b5566528a1cc8f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_search\_BM\_BCT\_num()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
We store the maximum number representation of an element, i.e. \sphinxcode{\sphinxupquote{127}} at position \sphinxcode{\sphinxupquote{0}}. So the actual bad character table \sphinxcode{\sphinxupquote{T}} starts at \sphinxcode{\sphinxupquote{T}}{[}1{]} for an element represented by ASCII code \sphinxcode{\sphinxupquote{0}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pattern}} \textendash{} The NULL\sphinxhyphen{}terminated pattern of ASCII characters used in the subsequent search 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A Bad Character Table for use in our Boyer\sphinxhyphen{}Moore search algorithm implementation(s) 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Mathematical Functions}
\label{\detokenize{utils/math:mathematical-functions}}\label{\detokenize{utils/math::doc}}
\sphinxAtStartPar
Below you’ll find the API description for our mathematical functions.


\subsubsection{Scalar Mathematical Functions API}
\label{\detokenize{utils/math:scalar-mathematical-functions-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_MATH\_FUN\_BIN\_OPTION\_PROJECT (C macro)@\spxentry{VRNA\_MATH\_FUN\_BIN\_OPTION\_PROJECT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_BIN_OPTION_PROJECT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gab030a82b318754929df1ef0ed0b04c25}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_BIN\_OPTION\_PROJECT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for linear data binning to activate data projection (mapping) instead of actual binning. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_UPPERBOUND (C macro)@\spxentry{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_UPPERBOUND}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_BIN_OPTION_MAP_OUTOF_UPPERBOUND}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gab7b0967ba6639631b6d1447de510e73d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_UPPERBOUND}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for linear data binning to indicate that values out\sphinxhyphen{}of\sphinxhyphen{}upper\sphinxhyphen{}bound are to be mapped to the respective domain limit. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_LOWERBOUND (C macro)@\spxentry{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_LOWERBOUND}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_BIN_OPTION_MAP_OUTOF_LOWERBOUND}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gab22e352cebd3e8d00b1bc51cc6e6a672}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_LOWERBOUND}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for linear data binning to indicate that values out\sphinxhyphen{}of\sphinxhyphen{}lower\sphinxhyphen{}bound are to be mapped to the respective domain limit. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_BIN\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_MATH\_FUN\_BIN\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_BIN_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gafb1606ea2edde49f8d709db6a5230f26}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_BIN\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for linear data binning to indicate default settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_LOG (C macro)@\spxentry{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_LOG}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_LINEAR_OPTION_LOG}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga5e890f3cf4bfc8a47e354f4bebf21d67}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_LOG}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data using a linear function that enables log\sphinxhyphen{}transform of the source value. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_LINEAR_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga8e25afdcc662c6accbb21e28cd3ce4fc}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data using linear function that indicates default settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE (C macro)@\spxentry{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_LOG_OPTION_NONDEFAULT_BASE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga7c48f101dd70109bb71a3a7632a6a950}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data using log transform to use a non\sphinxhyphen{}default base. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_LOG\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_MATH\_FUN\_LOG\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_LOG_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga7cd1087906af31b97c0feccd41414233}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_LOG\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data using log transform that indicates default settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_LOGISTIC\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_MATH\_FUN\_LOGISTIC\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_LOGISTIC_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga21bb45958897eddb6282e118a4a313d8}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_LOGISTIC\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data using logistic function that indicates default settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga220d981d484b50a1ec23b84600faf28c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaf841692e31e5fd2433b760b5ed14a483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_KDE\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_MATH\_FUN\_KDE\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_KDE_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga401779ee387779908f369100bbfd0eff}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_KDE\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data using a kernel density estimate (KDE) that indicates default settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga76920f4485c1b63bea447f71fc76b53b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_MATH\_FUN\_GAUSSIAN\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_MATH\_FUN\_GAUSSIAN\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.VRNA_MATH_FUN_GAUSSIAN_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga9c3b4114b08efa1ef18360d99867c264}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MATH\_FUN\_GAUSSIAN\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Options flag for transforming linear data using a Gaussian function that indicates default settings. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_math\_fun\_dbl\_opt\_t (C type)@\spxentry{vrna\_math\_fun\_dbl\_opt\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option data structure type for mathematical functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_opt\_free\_f (C type)@\spxentry{vrna\_math\_fun\_dbl\_opt\_free\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga8a609e60df9775ae99eb5c29f9bfb7a8}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback function to release any memory occupied by the mathematical function option {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_f (C type)@\spxentry{vrna\_math\_fun\_dbl\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{value}\DUrole{p}{,}\DUrole{w}{ }{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{options}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback function prototype for scalar mathematical functions of the form \( y = f(x) \). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the prototype for callback functions used for scalar mathematical functions. Its main purpose is to encapsulate the options (arguments, such as constansts, etc.) for the mathematical function and can therefore be used in a more generalized way wherever different mathematical functions may be applied in the same manner. Functions of this type have to be provided two parameters: \sphinxcode{\sphinxupquote{value}} which is the value \( x \) that is about to be evaluated \sphinxcode{\sphinxupquote{options}}, which is a pointer to a data structure that holds any means required to ensure that the callback can evaluate the provide data. The callback function then returns the transformed value \( y \).

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000018}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback handles mathematical functions working on scalar \sphinxstyleemphasis{double} values. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaf841692e31e5fd2433b760b5ed14a483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param value}
\sphinxAtStartPar
The value \( x \) that is to be evaluated by the function \( f(x) \)

\sphinxlineitem{Param options}
\sphinxAtStartPar
A pointer to a data structure specific for the mathematical function 

\sphinxlineitem{Return}
\sphinxAtStartPar
The evaluated value \( y \)

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_math\_fun\_dbl\_bin (C function)@\spxentry{vrna\_math\_fun\_dbl\_bin}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_bin}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_bin}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{value}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\DUrole{n}{thresholds}\DUrole{p}{)}\DUrole{p}{{[}}\DUrole{m}{2}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{thresholds\_num}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{oolb\_value}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{ooub\_value}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Bin a scalar input value or project it from one domain into another. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function can be used to map continuous data from one domain (\sphinxstyleemphasis{source}) into discrete or continuous data of another domain (\sphinxstyleemphasis{target}). User\sphinxhyphen{}defined domain boundaries are provided by the \sphinxcode{\sphinxupquote{thresholds}} argument, which boils down to a list of pairs of values, where the first value is the boundary in the source domain. The second value is the corresponding boundary of the target domain. The first and last pair of domain boundaries denote the lower and the upper domain limits, respectively. Any value outside of these limits can either be discarded by assigning them a special out\sphinxhyphen{}of\sphinxhyphen{}bounds value (\sphinxcode{\sphinxupquote{oolb\_value}}, \sphinxcode{\sphinxupquote{ooub\_value}}), or they can be mapped directly to the domain limits. Control over this mapping is available through the \sphinxcode{\sphinxupquote{options}} argument by using the binary flags {\hyperref[\detokenize{utils/math:group__math__scalar_1gab7b0967ba6639631b6d1447de510e73d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_UPPERBOUND}}}}} and {\hyperref[\detokenize{utils/math:group__math__scalar_1gab22e352cebd3e8d00b1bc51cc6e6a672}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_LOWERBOUND}}}}}.

\sphinxAtStartPar
By default, the transformation maps any data within a source interval as specified by two consecutive entries in the \sphinxcode{\sphinxupquote{thresholds}} argument to the exact value of the second target boundary. This process is also called \sphinxcode{\sphinxupquote{binning}}. Alternatively, this implementation also allows for a continuous mapping (projection) of the source intervals into the target intervals. To activate this behavior, the {\hyperref[\detokenize{utils/math:group__math__scalar_1gab030a82b318754929df1ef0ed0b04c25}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_PROJECT}}}}} flag must be provided to the \sphinxcode{\sphinxupquote{options}} argument.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_data\_lin\_transform\_opt(), {\hyperref[\detokenize{utils/math:group__math__scalar_1gafb1606ea2edde49f8d709db6a5230f26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gab030a82b318754929df1ef0ed0b04c25}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_PROJECT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gab7b0967ba6639631b6d1447de510e73d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_UPPERBOUND}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gab22e352cebd3e8d00b1bc51cc6e6a672}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_LOWERBOUND}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga76920f4485c1b63bea447f71fc76b53b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} The input value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{thresholds}} \textendash{} A pointer to an array of data pairs holding the source and target domain boundaries 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{thresholds\_num}} \textendash{} The number of domain boundary pairs available in \sphinxcode{\sphinxupquote{thresholds}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{oolb\_value}} \textendash{} Out\sphinxhyphen{}of\sphinxhyphen{}lower\sphinxhyphen{}bound value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ooub\_value}} \textendash{} Out\sphinxhyphen{}of\sphinxhyphen{}upper\sphinxhyphen{}bound value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of this function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The projection of the input value into the target domain 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_bin\_opt (C function)@\spxentry{vrna\_math\_fun\_dbl\_bin\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_bin_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_bin\_opt}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\DUrole{n}{thresholds}\DUrole{p}{)}\DUrole{p}{{[}}\DUrole{m}{2}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{thresholds\_num}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{oolb\_value}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{ooub\_value}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a function pointer that performs (discrete) binning and more. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields a linear data transform callback and the associated transform options data structure suitable for usage in {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}. The transformation this callback performs can be described as (discrete) binning or data bucketing and essentially encapsulates the {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}} function.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{fun\_options\_p}} and \sphinxcode{\sphinxupquote{fun\_options\_free}} pointers are used as additional output to obtain the addresses of the transformation option data structure that has to be provided to the {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}} function and a function pointer to release the memory of the option data structure once it is not required anymore.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8a609e60df9775ae99eb5c29f9bfb7a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gafb1606ea2edde49f8d709db6a5230f26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gab030a82b318754929df1ef0ed0b04c25}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_PROJECT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gab7b0967ba6639631b6d1447de510e73d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_UPPERBOUND}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gab22e352cebd3e8d00b1bc51cc6e6a672}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_BIN\_OPTION\_MAP\_OUTOF\_LOWERBOUND}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{thresholds}} \textendash{} A pointer to an array of data pairs holding the source and target domain boundaries 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{thresholds\_num}} \textendash{} The number of domain boundary pairs available in \sphinxcode{\sphinxupquote{thresholds}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{oolb\_value}} \textendash{} Out\sphinxhyphen{}of\sphinxhyphen{}lower\sphinxhyphen{}bound value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ooub\_value}} \textendash{} Out\sphinxhyphen{}of\sphinxhyphen{}upper\sphinxhyphen{}bound value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_p}} \textendash{} A pointer to store the address of the options data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_free}} \textendash{} A pointer to store the address of the \sphinxcode{\sphinxupquote{free}} function that releases the memory of the options data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A callback function that performs (discrete) data binning 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_linear (C function)@\spxentry{vrna\_math\_fun\_dbl\_linear}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_linear}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_linear}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{slope}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{intercept}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Transform a scalar input value through a linear function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function can be used to transform an input value (parameter \sphinxcode{\sphinxupquote{x}}) into an output value by applying a linear function of the form \begin{equation*}
\begin{split} y = a + b \cdot f(x) \end{split}
\end{equation*} where \( x \) is the input value (\sphinxcode{\sphinxupquote{source}}), \( a \) and \( b \) are \sphinxstyleemphasis{intercept} and \sphinxstyleemphasis{slope}, and \( y \) is the output value (\sphinxcode{\sphinxupquote{target}}). By default, the function \( f(x) = x \) is the identity function. However, the callback can be instructed to apply a log\sphinxhyphen{}transform, \( f(x) = log x \), instead. Control over the behavior of \( f(x) \) can be gained by providing a corresponding option flag to the \sphinxcode{\sphinxupquote{options}} argument, e.g. {\hyperref[\detokenize{utils/math:group__math__scalar_1ga5e890f3cf4bfc8a47e354f4bebf21d67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_LOG}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8e25afdcc662c6accbb21e28cd3ce4fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga5e890f3cf4bfc8a47e354f4bebf21d67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_LOG}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga76920f4485c1b63bea447f71fc76b53b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The input value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{slope}} \textendash{} The slope of the linear function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{intercept}} \textendash{} The intercept of the linear function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The transformed output value \( y \)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_linear\_opt (C function)@\spxentry{vrna\_math\_fun\_dbl\_linear\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_linear_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_linear\_opt}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{slope}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{intercept}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a function pointer that applies a linear function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields a linear data transform callback and the associated transform options data structure suitable for usage in {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}. The callback applies a linear function \( y = a + b \cdot f(x) \) and essentially encapsulates the {\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}} function.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{fun\_options\_p}} and \sphinxcode{\sphinxupquote{fun\_options\_free}} pointers are used as additional output to obtain the addresses of the transformation option data structure that has to be provided to the {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}} function and a function pointer to release the memory of the option data structure once it is not required anymore.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8a609e60df9775ae99eb5c29f9bfb7a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8e25afdcc662c6accbb21e28cd3ce4fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga5e890f3cf4bfc8a47e354f4bebf21d67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LINEAR\_OPTION\_LOG}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{slope}} \textendash{} The slope of the linear function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{intercept}} \textendash{} The intercept of the linear function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_p}} \textendash{} A pointer to store the address of the options data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_free}} \textendash{} A pointer to store the address of the \sphinxcode{\sphinxupquote{free}} function that releases the memory of the options data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A callback function that performs transformation through a linear model 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_log (C function)@\spxentry{vrna\_math\_fun\_dbl\_log}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_log}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_log}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{base}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{oob\_value}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Transform a scalar input value through a logarithmic function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function transforms a scalar input value by computing the logarithm function \begin{equation*}
\begin{split} y = \log_b x \end{split}
\end{equation*} where \( x \) is the input value (\sphinxcode{\sphinxupquote{source}}), \( b \) is the base, and \( y \) is the output value (\sphinxcode{\sphinxupquote{target}}). By default, the \sphinxstyleemphasis{natural} logarithm is used, i.e. \( b = \mathrm{e} \). The \sphinxcode{\sphinxupquote{base}} argument in combination with the {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7c48f101dd70109bb71a3a7632a6a950}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE}}}}} flag supplied to the \sphinxcode{\sphinxupquote{options}} argument can be used to change the base to any other number.

\sphinxAtStartPar
The function returns the user\sphinxhyphen{}specified out\sphinxhyphen{}of\sphinxhyphen{}bounds value \sphinxcode{\sphinxupquote{oob\_value}} if \( x \le 0 \).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7cd1087906af31b97c0feccd41414233}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOG\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7c48f101dd70109bb71a3a7632a6a950}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga76920f4485c1b63bea447f71fc76b53b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The input value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{base}} \textendash{} The base \( b \) of the logarithm (only used if {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7c48f101dd70109bb71a3a7632a6a950}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE}}}}} is passed to \sphinxcode{\sphinxupquote{options}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{oob\_value}} \textendash{} Out\sphinxhyphen{}of\sphinxhyphen{}bound value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The transformed \sphinxstyleemphasis{target} value \( y \)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_log\_opt (C function)@\spxentry{vrna\_math\_fun\_dbl\_log\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_log_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_log\_opt}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{value\_shift}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{base}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{oob\_value}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a function pointer a logarithmic function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields a linear data transform callback and the associated transform options data structure suitable for usage in {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}. The callback applies a logarithmic function \( y = \log_b (x + c) \) and essentially encapsulates the {\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}} function. Note, that here, the \sphinxcode{\sphinxupquote{value\_shift}} argument corresponds to \( c \) in the above formula and in most cases should be \sphinxcode{\sphinxupquote{0}}. The callback then returns the out\sphinxhyphen{}of\sphinxhyphen{}bounds value \sphinxcode{\sphinxupquote{oob\_value}} if \( x + c \le 0 \).

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{fun\_options\_p}} and \sphinxcode{\sphinxupquote{fun\_options\_free}} pointers are used as additional output to obtain the addresses of the transformation option data structure that has to be provided to the {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}} function and a function pointer to release the memory of the option data structure once it is not required anymore.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8a609e60df9775ae99eb5c29f9bfb7a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7cd1087906af31b97c0feccd41414233}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOG\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7c48f101dd70109bb71a3a7632a6a950}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{value\_shift}} \textendash{} The shift value \( c \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{base}} \textendash{} The base \( b \) of the logarithm (only used if {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7c48f101dd70109bb71a3a7632a6a950}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOG\_OPTION\_NONDEFAULT\_BASE}}}}} is passed to \sphinxcode{\sphinxupquote{options}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{oob\_value}} \textendash{} Out\sphinxhyphen{}of\sphinxhyphen{}bound value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_p}} \textendash{} A pointer to store the address of the options data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_free}} \textendash{} A pointer to store the address of the \sphinxcode{\sphinxupquote{free}} function that releases the memory of the options data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A callback function that performs transformation through a linear model 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_logistic (C function)@\spxentry{vrna\_math\_fun\_dbl\_logistic}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_logistic}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga220d981d484b50a1ec23b84600faf28c}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_logistic}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{mid\_point}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{supremum}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{growth\_rate}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Transform a scalar input value through a logistic function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function transforms a scalar input value by applying a logistic function of the form \begin{equation*}
\begin{split} y = \frac{L}{1 + e^{-k \cdot (x - x_0)}}  \end{split}
\end{equation*} where \( x \) is the input value (\sphinxcode{\sphinxupquote{source}}), \( x_0 \) is the mid point (\sphinxcode{\sphinxupquote{mid\_point}}) of the function, \( k \) is the logistic growth rate (\sphinxcode{\sphinxupquote{growth\_rate}}), and \( L \) is the supremum (or carrying capacity) of the function (\sphinxcode{\sphinxupquote{supremum}}). The standard logistic function is defined as \( L = 1 \), \( k = 1 \). and \( x_0 = 0 \), i.e. \begin{equation*}
\begin{split} y = \frac{1}{1 + e^{-x}} \end{split}
\end{equation*}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1gaf841692e31e5fd2433b760b5ed14a483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga21bb45958897eddb6282e118a4a313d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOGISTIC\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga76920f4485c1b63bea447f71fc76b53b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The input value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mid\_point}} \textendash{} The midpoint of the function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{supremum}} \textendash{} The supremum of the function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{growth\_rate}} \textendash{} The growth rate of the function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The transformed \sphinxstyleemphasis{target} value \( y \)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_logistic\_opt (C function)@\spxentry{vrna\_math\_fun\_dbl\_logistic\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_logistic_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gaf841692e31e5fd2433b760b5ed14a483}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_logistic\_opt}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{mid\_point}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{supremum}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{growth\_rate}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a function pointer that applies a logistic function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields a linear data transform callback and the associated transform options data structure suitable for usage in {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}. The callback applies a logistic function of the form \begin{equation*}
\begin{split} y = \frac{L}{1 + e^{-k \cdot (x - x_0)}}  \end{split}
\end{equation*} and essentially encapsulates the {\hyperref[\detokenize{utils/math:group__math__scalar_1ga220d981d484b50a1ec23b84600faf28c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic()}}}}} function.

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{fun\_options\_p}} and \sphinxcode{\sphinxupquote{fun\_options\_free}} pointers are used as additional output to obtain the addresses of the transformation option data structure that has to be provided to the {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}} function and a function pointer to release the memory of the option data structure once it is not required anymore.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga220d981d484b50a1ec23b84600faf28c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic()}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8a609e60df9775ae99eb5c29f9bfb7a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga21bb45958897eddb6282e118a4a313d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_LOGISTIC\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mid\_point}} \textendash{} The midpoint of the function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{supremum}} \textendash{} The supremum of the function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{growth\_rate}} \textendash{} The growth rate of the function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_p}} \textendash{} A pointer to store the address of the options data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_free}} \textendash{} A pointer to store the address of the \sphinxcode{\sphinxupquote{free}} function that releases the memory of the options data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A callback function that performs transformation through a logistic function 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_kde (C function)@\spxentry{vrna\_math\_fun\_dbl\_kde}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_kde}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga76920f4485c1b63bea447f71fc76b53b}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_kde}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{samples}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{kernel}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{kernel\_data}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{bandwidth}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Estimate the probability density for a scalar input value through kernel density estimation (KDE). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function estimates the probability density function of a random input variable given a set of samples and a smoothing kernel. The estiamte of the probability density for a random variable \( x \) is then of the form \begin{equation*}
\begin{split} y = \hat{f}_h(x) = \frac{1}{n \cdot h} \sum_{i = 1}^{n} K \big( \frac{x - x_i}{h} \big) \end{split}
\end{equation*} with a set of \( n > 0 \) samples \( \{ x_1, x_2, \ldots, x_n \} \) (\sphinxcode{\sphinxupquote{samples}}), \( K \) (\sphinxcode{\sphinxupquote{kernel}}) as a non\sphinxhyphen{}negative kernel function, and \( h > 0 \) is the bandwidth (\sphinxcode{\sphinxupquote{bandwidth}}).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga401779ee387779908f369100bbfd0eff}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_KDE\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga7acf42960e8dafb7571181c0f4c77198}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga3132cc0f91336f5491d89bb7640214e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga956f3a76ad6d05dd9ebebdbc1c23a4e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga220d981d484b50a1ec23b84600faf28c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If no kernel is provided, i.e. \sphinxcode{\sphinxupquote{NULL}} is passed to \sphinxcode{\sphinxupquote{kernel}}, the KDE uses a standard Gaussian kernel by providing {\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}} with \( a = \frac{1}{\sqrt{2 \pi}}, b = 0, c = 1 \). In this case, the bandwidth (\sphinxcode{\sphinxupquote{bandwidth}}) will be automatically replaced by a rule\sphinxhyphen{}of\sphinxhyphen{}thumb bandwidth estimator \( h = ( \frac{4}{3n} )^{\frac{1}{5}} \)
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The input value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{samples}} \textendash{} The samples of the distribution to estimate \( \{ x_1, x_2, \ldots, x_n \} \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The number of samples ( \( n \)) provided by pointer \sphinxcode{\sphinxupquote{samples}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{kernel}} \textendash{} The kernel function \( K \) (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{kernel\_data}} \textendash{} The data that should be passed\sphinxhyphen{}through to the kernel function (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bandwidth}} \textendash{} The bandwidth \( h \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The estimated probability density \( \hat{f}_h(x) \)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_kde\_opt (C function)@\spxentry{vrna\_math\_fun\_dbl\_kde\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_kde_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gaa46fd02f82386a7472b02e4960c63bb0}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_kde\_opt}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{samples}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{num\_samples}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{kernel}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{kernel\_data}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{kernel\_data\_free}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{bandwidth}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a callback function that applies a kernel density estimation (KDE). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields a linear data transform callback and the associated transform options data structure suitable for usage in {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}. The callback applies a kernel density estimation (KDE) and essentially encapsulates the {\hyperref[\detokenize{utils/math:group__math__scalar_1ga76920f4485c1b63bea447f71fc76b53b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_kde()}}}}} function.

\sphinxAtStartPar

The \sphinxcode{\sphinxupquote{fun\_options\_p}} and \sphinxcode{\sphinxupquote{fun\_options\_free}} pointers are used as additional output to obtain the addresses of the transformation option data structure that has to be provided to the {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}} function and a function pointer to release the memory of the option data structure once it is not required anymore.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga220d981d484b50a1ec23b84600faf28c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic()}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8a609e60df9775ae99eb5c29f9bfb7a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga401779ee387779908f369100bbfd0eff}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_KDE\_OPTION\_DEFAULT}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga962c58ab7c8ebd6864715d91ee40667e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_bin\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga675b6bb517cfc29f92eca8942904f3e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_linear\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gae358be702661407cbbaaa3762ca89eb8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_log\_opt()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1gaf841692e31e5fd2433b760b5ed14a483}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_logistic\_opt}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Whenever the \sphinxcode{\sphinxupquote{fun\_options\_free}} callback will be called, this function also releases the memory occupied by \sphinxcode{\sphinxupquote{kernel\_data}} through the \sphinxcode{\sphinxupquote{kernel\_data\_free}} function if it is provided, i.e. not \sphinxcode{\sphinxupquote{NULL}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{samples}} \textendash{} The samples of the distribution to estimate \( \{ x_1, x_2, \ldots, x_n \} \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} \textendash{} The number of samples ( \( n \)) provided by pointer \sphinxcode{\sphinxupquote{samples}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{kernel}} \textendash{} The kernel function \( K \) (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{kernel\_data}} \textendash{} The data that should be passed\sphinxhyphen{}through to the kernel function (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{kernel\_data\_free}} \textendash{} A function to free the memory occupied by the data for the kernel function (maybe \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bandwidth}} \textendash{} The bandwidth \( h \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_p}} \textendash{} A pointer to store the address of the options data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_free}} \textendash{} A pointer to store the address of the \sphinxcode{\sphinxupquote{free}} function that releases the memory of the options data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A callback function that performs transformation through kernel density estimation 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_gaussian (C function)@\spxentry{vrna\_math\_fun\_dbl\_gaussian}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_gaussian}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_gaussian}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{a}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{c}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Evaluate a Gaussian function for a scalar input value. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function applies a Gaussian function of the form \begin{equation*}
\begin{split} y = f(x) = a \cdot \exp(- \frac{(x - b)^2}{2 c^2}) \end{split}
\end{equation*} with arbitrary constants \( a, b \) and non\sphinxhyphen{}zero \( c \) to a scalar input value \( x \).

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian\_opt()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The input value \( x \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{a}} \textendash{} The arbitrary constant \( a \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The arbitrary constant \( b \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{c}} \textendash{} The arbitrary non\sphinxhyphen{}zero constant \( c \)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The evaluation for the Gaussian function \( y = f(x) \)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_gaussian\_opt (C function)@\spxentry{vrna\_math\_fun\_dbl\_gaussian\_opt}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_gaussian_opt}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga33634f12b5bfe5f101941a5f013e7ac9}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_gaussian\_opt}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{a}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma \DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{c}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a function pointer that applies Gaussian function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields a linear data transform callback and the associated transform options data structure suitable for usage in {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}. The callback applies a Gaussian function of the form \begin{equation*}
\begin{split} y = a \cdot \exp(- \frac{(x - b)^2}{2 c^2}) \end{split}
\end{equation*} with arbitrary constants \( a, b \) and non\sphinxhyphen{}zero \( c \) and \( x \) being the input value (\sphinxcode{\sphinxupquote{source}}).

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{fun\_options\_p}} and \sphinxcode{\sphinxupquote{fun\_options\_free}} pointers are used as additional output to obtain the addresses of the transformation option data structure that has to be provided to the {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}} function and a function pointer to release the memory of the option data structure once it is not required anymore.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/math:group__math__scalar_1gae655d1c9d9b987ccec4653de67c10aaa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_gaussian()}}}}}, {\hyperref[\detokenize{utils/data:group__data__utils_1ga5d49c7cddf8e50aec0b0921bb735fff0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_data\_lin\_transform()}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga8a609e60df9775ae99eb5c29f9bfb7a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}}, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga9c3b4114b08efa1ef18360d99867c264}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MATH\_FUN\_GAUSSIAN\_OPTION\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{a}} \textendash{} The arbitrary constant \( a \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} The arbitrary constant \( b \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{c}} \textendash{} The arbitrary non\sphinxhyphen{}zero constant \( c \)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Additional options that change the behavior of the callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_p}} \textendash{} A pointer to store the address of the options data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fun\_options\_free}} \textendash{} A pointer to store the address of the \sphinxcode{\sphinxupquote{free}} function that releases the memory of the options data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A callback function that performs transformation through a Gaussian function 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_chain (C function)@\spxentry{vrna\_math\_fun\_dbl\_chain}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_chain}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga958315ca0155754b043b55c092c2cd1c}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_chain}}}}
{{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{first\_f}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{first\_f\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{first\_f\_opt\_free}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_chain\_append (C function)@\spxentry{vrna\_math\_fun\_dbl\_chain\_append}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_chain_append}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga90d5519e97f6c66dee14644e0376010b}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_chain\_append}}}}
{{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{chain\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\DUrole{n}{f}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{f\_opt}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{f\_opt\_free}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_chain\_size (C function)@\spxentry{vrna\_math\_fun\_dbl\_chain\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_chain_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1ga3ba2a54b0e501f7a30915311ae8393a6}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_chain\_size}}}}
{{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{chain}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_math\_fun\_dbl\_chain\_at (C function)@\spxentry{vrna\_math\_fun\_dbl\_chain\_at}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/math:c.vrna_math_fun_dbl_chain_at}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/math:group__math__scalar_1gabb5b3b74363250bc122b7aa9af1ebe03}}{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_f}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_math\_fun\_dbl\_chain\_at}}}}
{{\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{n}{chain}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{pos}\sphinxparamcomma {\hyperref[\detokenize{utils/math:c.vrna_math_fun_dbl_opt_t}]{\sphinxcrossref{\DUrole{n}{vrna\_math\_fun\_dbl\_opt\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fun\_options\_p}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/math/functions.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Combinatorics Algorithms}
\label{\detokenize{utils/combinatorics:combinatorics-algorithms}}\label{\detokenize{utils/combinatorics::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils}}}
\pysigstopsignatures
\sphinxAtStartPar
Implementations to solve various combinatorial aspects for strings of objects. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_enumerate\_necklaces (C function)@\spxentry{vrna\_enumerate\_necklaces}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_enumerate_necklaces}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1gae081ac655a76bd5c4b3d86c60b096b75}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_enumerate\_necklaces}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{type\_counts}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Enumerate all necklaces with fixed content. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function implements \sphinxstyleemphasis{A fast algorithm to generate necklaces with fixed content} as published by    Sawada {[}\hyperlink{cite.bibliography:id36}{2003}{]} .

\sphinxAtStartPar
The function receives a list of counts (the elements on the necklace) for each type of object within a necklace. The list starts at index 0 and ends with an entry that has a count of 0. The algorithm then enumerates all non\sphinxhyphen{}cyclic permutations of the content, returned as a list of necklaces. This list, again, is zero\sphinxhyphen{}terminated, i.e. the last entry of the list is a \sphinxcode{\sphinxupquote{NULL}} pointer.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000024}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{enumerate\_necklaces()}} which accepts lists input, an produces list of lists output. See, e.g.    {\hyperref[\detokenize{api_python:RNA.enumerate_necklaces}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.enumerate\_necklaces()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type\_counts}} \textendash{} A 0\sphinxhyphen{}terminated list of entity counts 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of all non\sphinxhyphen{}cyclic permutations of the entities

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_rotational\_symmetry\_num (C function)@\spxentry{vrna\_rotational\_symmetry\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_rotational_symmetry_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1gac51464b5281833a58c25f9447252c495}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_rotational\_symmetry\_num}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{string\_length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a string of objects represented by natural numbers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The algorithm applies a fast search of the provided string within itself, assuming the end of the string wraps around to connect with it’s start. For example, a string of the form \sphinxcode{\sphinxupquote{011011}} has rotational symmetry of order \sphinxcode{\sphinxupquote{2}}

\sphinxAtStartPar
This is a simplified version of {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga95b5a6ac35da982e2a766f8d2f98a2e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos\_num()}}}}} that may be useful if one is only interested in the degree of rotational symmetry but not the actual set of rotational symmetric strings.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000025}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}} for details. Note, that in the target language the length of the list \sphinxcode{\sphinxupquote{string}} is always known a\sphinxhyphen{}priori, so the parameter \sphinxcode{\sphinxupquote{string\_length}} must be omitted. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga95b5a6ac35da982e2a766f8d2f98a2e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos\_num()}}}}}, vrna\_rotationa\_symmetry()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The string of elements encoded as natural numbers 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string\_length}} \textendash{} The length of the string 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The order of rotational symmetry

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_rotational\_symmetry\_pos\_num (C function)@\spxentry{vrna\_rotational\_symmetry\_pos\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_rotational_symmetry_pos_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1ga95b5a6ac35da982e2a766f8d2f98a2e1}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_rotational\_symmetry\_pos\_num}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{string\_length}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{positions}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a string of objects represented by natural numbers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The algorithm applies a fast search of the provided string within itself, assuming the end of the string wraps around to connect with it’s start. For example, a string of the form \sphinxcode{\sphinxupquote{011011}} has rotational symmetry of order \sphinxcode{\sphinxupquote{2}}

\sphinxAtStartPar
If the argument \sphinxcode{\sphinxupquote{positions}} is not \sphinxcode{\sphinxupquote{NULL}}, the function stores an array of string start positions for rotational shifts that map the string back onto itself. This array has length of order of rotational symmetry, i.e. the number returned by this function. The first element \sphinxcode{\sphinxupquote{positions}}{[}0{]} always contains a shift value of \sphinxcode{\sphinxupquote{0}} representing the trivial rotation.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000026}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}} for details. Note, that in the target language the length of the list \sphinxcode{\sphinxupquote{string}} is always known a\sphinxhyphen{}priori, so the parameter \sphinxcode{\sphinxupquote{string\_length}} must be omitted. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gac51464b5281833a58c25f9447252c495}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_num()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gae1dec02c4b63f303ce06a9293d316762}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not forget to release the memory occupied by \sphinxcode{\sphinxupquote{positions}} after a successful execution of this function.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} The string of elements encoded as natural numbers 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string\_length}} \textendash{} The length of the string 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{positions}} \textendash{} A pointer to an (undefined) list of alternative string start positions that lead to an identity mapping (may be NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The order of rotational symmetry

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_rotational\_symmetry (C function)@\spxentry{vrna\_rotational\_symmetry}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_rotational_symmetry}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1gae1dec02c4b63f303ce06a9293d316762}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_rotational\_symmetry}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a NULL\sphinxhyphen{}terminated string of ASCII characters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The algorithm applies a fast search of the provided string within itself, assuming the end of the string wraps around to connect with it’s start. For example, a string of the form \sphinxcode{\sphinxupquote{AABAAB}} has rotational symmetry of order \sphinxcode{\sphinxupquote{2}}

\sphinxAtStartPar
This is a simplified version of {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}} that may be useful if one is only interested in the degree of rotational symmetry but not the actual set of rotational symmetric strings.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000027}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}} for details. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}}, vrna\_rotationa\_symmetry\_num()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} A NULL\sphinxhyphen{}terminated string of characters 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The order of rotational symmetry

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_rotational\_symmetry\_pos (C function)@\spxentry{vrna\_rotational\_symmetry\_pos}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_rotational_symmetry_pos}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_rotational\_symmetry\_pos}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{positions}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a NULL\sphinxhyphen{}terminated string of ASCII characters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The algorithm applies a fast search of the provided string within itself, assuming the end of the string wraps around to connect with it’s start. For example, a string of the form \sphinxcode{\sphinxupquote{AABAAB}} has rotational symmetry of order \sphinxcode{\sphinxupquote{2}}

\sphinxAtStartPar
If the argument \sphinxcode{\sphinxupquote{positions}} is not \sphinxcode{\sphinxupquote{NULL}}, the function stores an array of string start positions for rotational shifts that map the string back onto itself. This array has length of order of rotational symmetry, i.e. the number returned by this function. The first element \sphinxcode{\sphinxupquote{positions}}{[}0{]} always contains a shift value of \sphinxcode{\sphinxupquote{0}} representing the trivial rotation.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000028}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. It merges the functionalities of {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gae1dec02c4b63f303ce06a9293d316762}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gac51464b5281833a58c25f9447252c495}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_num()}}}}}, and {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga95b5a6ac35da982e2a766f8d2f98a2e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos\_num()}}}}}. In contrast to our C\sphinxhyphen{}implementation, this function doesn’t return the order of rotational symmetry as a single value, but returns a list of cyclic permutation shifts that result in a rotationally symmetric string. The length of the list then determines the order of rotational symmetry. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gae1dec02c4b63f303ce06a9293d316762}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gac51464b5281833a58c25f9447252c495}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_num()}}}}}, vrna\_rotational\_symmetry\_num\_pos()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not forget to release the memory occupied by \sphinxcode{\sphinxupquote{positions}} after a successful execution of this function.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} A NULL\sphinxhyphen{}terminated string of characters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{positions}} \textendash{} A pointer to an (undefined) list of alternative string start positions that lead to an identity mapping (may be NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The order of rotational symmetry

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_rotational\_symmetry\_db (C function)@\spxentry{vrna\_rotational\_symmetry\_db}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_rotational_symmetry_db}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1gad42ffd53025bed9d636d811748db7c5a}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_rotational\_symmetry\_db}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a dot\sphinxhyphen{}bracket structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a (permutation of multiple) RNA strand(s) and a particular secondary structure in dot\sphinxhyphen{}bracket notation, compute the degree of rotational symmetry. In case there is only a single linear RNA strand, the structure always has degree 1, as there are no rotational symmetries due to the direction of the nucleic acid sequence and the fixed positions of 5’ and 3’ ends. However, for circular RNAs, rotational symmetries might arise if the sequence consists of a concatenation of \(k\) identical subsequences.

\sphinxAtStartPar
This is a simplified version of {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga2a4227ebe28dbc7ad55444a3a1bf7119}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_db\_pos()}}}}} that may be useful if one is only interested in the degree of rotational symmetry but not the actual set of rotational symmetric strings.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000029}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{rotational\_symmetry\_db()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} (i.e. {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}). See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga2a4227ebe28dbc7ad55444a3a1bf7119}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_db\_pos()}}}}} for details. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.rotational_symmetry_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.rotational\_symmetry\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga2a4227ebe28dbc7ad55444a3a1bf7119}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_db\_pos()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gae1dec02c4b63f303ce06a9293d316762}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gac51464b5281833a58c25f9447252c495}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_num()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A fold\_compound data structure containing the nucleic acid sequence(s), their order, and model settings 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The dot\sphinxhyphen{}bracket structure the degree of rotational symmetry is checked for 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The degree of rotational symmetry of the \sphinxcode{\sphinxupquote{structure}} (0 in case of any errors)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_rotational\_symmetry\_db\_pos (C function)@\spxentry{vrna\_rotational\_symmetry\_db\_pos}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_rotational_symmetry_db_pos}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1ga2a4227ebe28dbc7ad55444a3a1bf7119}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_rotational\_symmetry\_db\_pos}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{positions}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a dot\sphinxhyphen{}bracket structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Given a (permutation of multiple) RNA strand(s) and a particular secondary structure in dot\sphinxhyphen{}bracket notation, compute the degree of rotational symmetry. In case there is only a single linear RNA strand, the structure always has degree 1, as there are no rotational symmetries due to the direction of the nucleic acid sequence and the fixed positions of 5’ and 3’ ends. However, for circular RNAs, rotational symmetries might arise if the sequence consists of a concatenation of \(k\) identical subsequences.

\sphinxAtStartPar
If the argument \sphinxcode{\sphinxupquote{positions}} is not \sphinxcode{\sphinxupquote{NULL}}, the function stores an array of string start positions for rotational shifts that map the string back onto itself. This array has length of order of rotational symmetry, i.e. the number returned by this function. The first element \sphinxcode{\sphinxupquote{positions}}{[}0{]} always contains a shift value of \sphinxcode{\sphinxupquote{0}} representing the trivial rotation.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000030}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{rotational\_symmetry\_db()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} (i.e. {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}). Thus, the first argument must be omitted. In contrast to our C\sphinxhyphen{}implementation, this function doesn’t simply return the order of rotational symmetry of the secondary structure, but returns the list \sphinxcode{\sphinxupquote{position}} of cyclic permutation shifts that result in a rotationally symmetric structure. The length of the list then determines the order of rotational symmetry. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.rotational_symmetry_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.rotational\_symmetry\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gad42ffd53025bed9d636d811748db7c5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_db()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga95b5a6ac35da982e2a766f8d2f98a2e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos\_num()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not forget to release the memory occupied by \sphinxcode{\sphinxupquote{positions}} after a successful execution of this function.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} A fold\_compound data structure containing the nucleic acid sequence(s), their order, and model settings 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} \textendash{} The dot\sphinxhyphen{}bracket structure the degree of rotational symmetry is checked for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{positions}} \textendash{} A pointer to an (undefined) list of alternative string start positions that lead to an identity mapping (may be NULL) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The degree of rotational symmetry of the \sphinxcode{\sphinxupquote{structure}} (0 in case of any errors)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_n\_multichoose\_k (C function)@\spxentry{vrna\_n\_multichoose\_k}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_n_multichoose_k}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1ga1eabc2f2017426376016554f09bb64a5}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_n\_multichoose\_k}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{k}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain a list of k\sphinxhyphen{}combinations with repetition (n multichoose k). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function compiles a list of k\sphinxhyphen{}combinations, or k\sphinxhyphen{}multicombination, i.e. a list of multisubsets of size k from a set of integer values from 0 to n \sphinxhyphen{} 1. For that purpose, we enumerate n + k \sphinxhyphen{} 1 choose k and decrease each index position i by i to obtain n multichoose k.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} Maximum number to choose from (interval of integers from 0 to \sphinxcode{\sphinxupquote{n}} \sphinxhyphen{} 1) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{k}} \textendash{} Number of elements to choose, i.e. size of each multisubset 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of lists of elements of combinations (last entry is terminated by \sphinxstylestrong{NULL}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_boustrophedon (C function)@\spxentry{vrna\_boustrophedon}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_boustrophedon}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1gad07a7bdc53226e00cdcadb50160873d9}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_boustrophedon}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{end}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Generate a sequence of Boustrophedon distributed numbers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function generates a sequence of positive natural numbers within the interval \( [start, end] \) in a Boustrophedon fashion. That is, the numbers \( start, \ldots, end \) in the resulting list are alternating between left and right ends of the interval while progressing to the inside, i.e. the list consists of a sequence of natural numbers of the form:

\sphinxAtStartPar
\begin{equation*}
\begin{split} start, end, start + 1, end - 1, start + 2, end - 2, \ldots \end{split}
\end{equation*}

\sphinxAtStartPar
The resulting list is 1\sphinxhyphen{}based and contains the length of the sequence of numbers at it’s 0\sphinxhyphen{}th position.

\sphinxAtStartPar
Upon failure, the function returns \sphinxstylestrong{NULL}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000032}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded global function \sphinxcode{\sphinxupquote{boustrophedon()}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.boustrophedon}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.boustrophedon()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga9093b53bb7eaaa9b5a8972ac87082d32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_boustrophedon\_pos()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The first number of the list (left side of the interval) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The last number of the list (right side of the interval) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of alternating numbers from the interval \( [start, end] \) (or \sphinxstylestrong{NULL} on error)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_boustrophedon\_pos (C function)@\spxentry{vrna\_boustrophedon\_pos}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/combinatorics:c.vrna_boustrophedon_pos}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/combinatorics:group__combinatorics__utils_1ga9093b53bb7eaaa9b5a8972ac87082d32}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_boustrophedon\_pos}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{start}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{end}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{pos}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Obtain the i\sphinxhyphen{}th element in a Boustrophedon distributed interval of natural numbers. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/combinatorics/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000031}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as overloaded global function \sphinxcode{\sphinxupquote{boustrophedon()}}. Omitting the \sphinxcode{\sphinxupquote{pos}} argument yields the entire sequence from \sphinxcode{\sphinxupquote{start}} to \sphinxcode{\sphinxupquote{end}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.boustrophedon}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.boustrophedon()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} . 

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gad07a7bdc53226e00cdcadb50160873d9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_boustrophedon()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} \textendash{} The first number of the list (left side of the interval) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} \textendash{} The last number of the list (right side of the interval) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pos}} \textendash{} The index of the number within the Boustrophedon distributed sequence (1\sphinxhyphen{}based) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{pos\sphinxhyphen{}th}} element in the Boustrophedon distributed sequence of natural numbers of the interval

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{(Abstract) Data Structures}
\label{\detokenize{utils/data_structures:abstract-data-structures}}\label{\detokenize{utils/data_structures::doc}}
\sphinxAtStartPar
All datastructures and typedefs shared among the ViennaRNA Package
can be found here.

\sphinxstepscope


\subsubsection{The Fold Compound}
\label{\detokenize{utils/datastructures/fold_compound:the-fold-compound}}\label{\detokenize{utils/datastructures/fold_compound::doc}}
\sphinxAtStartPar
This module provides interfaces that deal with the most basic data structure used
in structure predicting and energy evaluating function of the RNAlib.

\sphinxAtStartPar
Throughout the entire RNAlib, the {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}}, is used to group
information and data that is required for structure prediction and energy evaluation.
Here, you’ll find interface functions to create, modify, and delete {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}}
data structures.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_STATUS\_MFE\_PRE (C macro)@\spxentry{VRNA\_STATUS\_MFE\_PRE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_STATUS_MFE_PRE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1a5053dc8acbb0111e852988726f07d6}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STATUS\_MFE\_PRE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Status message indicating that MFE computations are about to begin. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aef282a5d126e0038f3855e59a99ef360}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t.stat\_cb}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga17a1be7490468c29c335ba9bffacba53}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circalifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga9ef3a297201dbf838a8daff2b45c0c82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cofold()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STATUS\_MFE\_POST (C macro)@\spxentry{VRNA\_STATUS\_MFE\_POST}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_STATUS_MFE_POST}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga47c900ca76e56e59e2e83a06e0bde641}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STATUS\_MFE\_POST}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Status message indicating that MFE computations are finished. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aef282a5d126e0038f3855e59a99ef360}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t.stat\_cb}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga17a1be7490468c29c335ba9bffacba53}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circalifold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga9ef3a297201dbf838a8daff2b45c0c82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cofold()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STATUS\_PF\_PRE (C macro)@\spxentry{VRNA\_STATUS\_PF\_PRE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_STATUS_PF_PRE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga91795d35ebdb6f32be50459f24b3d114}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STATUS\_PF\_PRE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Status message indicating that Partition function computations are about to begin. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aef282a5d126e0038f3855e59a99ef360}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t.stat\_cb}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_STATUS\_PF\_POST (C macro)@\spxentry{VRNA\_STATUS\_PF\_POST}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_STATUS_PF_POST}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1c6fa243533fd026e50f7d595eaaa565}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STATUS\_PF\_POST}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Status message indicating that Partition function computations are finished. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aef282a5d126e0038f3855e59a99ef360}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t.stat\_cb}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to specify default settings/requirements. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_OPTION\_MFE (C macro)@\spxentry{VRNA\_OPTION\_MFE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_MFE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gae63be9127fe7dcc1f9bb14f5bb1064ee}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_MFE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to specify requirement of Minimum Free Energy (MFE) DP matrices and corresponding set of energy parameters. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga61469c423131552c8483229f8b6c7e0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_EVAL\_ONLY}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_OPTION\_PF (C macro)@\spxentry{VRNA\_OPTION\_PF}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_PF}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_PF}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to specify requirement of Partition Function (PF) DP matrices and corresponding set of Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga61469c423131552c8483229f8b6c7e0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_EVAL\_ONLY}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_OPTION\_HYBRID (C macro)@\spxentry{VRNA\_OPTION\_HYBRID}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_HYBRID}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga8f681fa12b8d4b348bf58415fd1fc82f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_HYBRID}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to specify requirement of dimer DP matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_OPTION\_EVAL\_ONLY (C macro)@\spxentry{VRNA\_OPTION\_EVAL\_ONLY}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_EVAL_ONLY}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga61469c423131552c8483229f8b6c7e0e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_EVAL\_ONLY}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to specify that neither MFE, nor PF DP matrices are required. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this flag in conjuntion with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gae63be9127fe7dcc1f9bb14f5bb1064ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_MFE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_PF}}}}} to save memory for a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} obtained from {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, or {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}} in cases where only energy evaluation but no structure prediction is required.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_OPTION\_WINDOW (C macro)@\spxentry{VRNA\_OPTION\_WINDOW}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_WINDOW}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga2b2a8009ccdccc3eb1571556261aee8e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_WINDOW}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Option flag to specify requirement of DP matrices for local folding approaches. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_OPTION\_F5 (C macro)@\spxentry{VRNA\_OPTION\_F5}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga10fd4c73c91557495f1a41d6cc72e595}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_OPTION\_F3 (C macro)@\spxentry{VRNA\_OPTION\_F3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabca873cc37c26910db8b37bf864db252}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_OPTION\_WINDOW\_F5 (C macro)@\spxentry{VRNA\_OPTION\_WINDOW\_F5}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_WINDOW_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gaf4c7bf371bdb153d8c2955a7b4cffe8b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_WINDOW\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_OPTION\_WINDOW\_F3 (C macro)@\spxentry{VRNA\_OPTION\_WINDOW\_F3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.VRNA_OPTION_WINDOW_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga371ddcb556d7578433661dd7591a787c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_OPTION\_WINDOW\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_fold\_compound\_t (C type)@\spxentry{vrna\_fold\_compound\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s}]{\sphinxcrossref{\DUrole{n}{vrna\_fc\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the fold\_compound data structure {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_auxdata\_free\_f (C type)@\spxentry{vrna\_auxdata\_free\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_auxdata\_free\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to free memory allocated for auxiliary user\sphinxhyphen{}provided data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This type of user\sphinxhyphen{}implemented function usually deletes auxiliary data structures. The user must take care to free all the memory occupied by the data structure passed.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This callback is supposed to free memory occupied by an auxiliary data structure. It will be called when the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} is erased from memory through a call to {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} and will be passed the address of memory previously bound to the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} via {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gad6c0747712712bda6d94702e0de895a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_auxdata()}}}}}. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gad6c0747712712bda6d94702e0de895a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_auxdata()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga579952cc017127b81e89a186c0d6b9c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_callback()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param data}
\sphinxAtStartPar
The data that needs to be free’d 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_auxdata\_prepare\_f (C type)@\spxentry{vrna\_auxdata\_prepare\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_prepare_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_auxdata\_prepare\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{event}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{event\_data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to prepare user\sphinxhyphen{}provided data based on some event. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound the event was emitted from 

\sphinxlineitem{Param data}
\sphinxAtStartPar
The user\sphinxhyphen{}defined data that may be prepared according to the event 

\sphinxlineitem{Param event}
\sphinxAtStartPar
The event 

\sphinxlineitem{Param event\_data}
\sphinxAtStartPar
Some additional data corresponding to the event 

\sphinxlineitem{Return}
\sphinxAtStartPar
non\sphinxhyphen{}zero if the preparation was successful, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_free\_auxdata (C type)@\spxentry{vrna\_callback\_free\_auxdata}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_callback_free_auxdata}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga771d6af505144fbfa79af58c5c46f689}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_free\_auxdata}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to free memory allocated for auxiliary user\sphinxhyphen{}provided data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000072}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f(void *data)}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{vrna\_recursion\_status\_f (C type)@\spxentry{vrna\_recursion\_status\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_recursion_status_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_recursion\_status\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{status}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback to perform specific user\sphinxhyphen{}defined actions before, or after recursive computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{callbacks:callbacks_1_callbacks000002}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Notes on Callback Functions:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function will be called to notify a third\sphinxhyphen{}party implementation about the status of a currently ongoing recursion. The purpose of this callback mechanism is to provide users with a simple way to ensure pre\sphinxhyphen{} and post conditions for auxiliary mechanisms attached to our implementations. 

\end{fulllineitems}



\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gad6c0747712712bda6d94702e0de895a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_auxdata()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga579952cc017127b81e89a186c0d6b9c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_callback()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}, {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1a5053dc8acbb0111e852988726f07d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_MFE\_PRE}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga47c900ca76e56e59e2e83a06e0bde641}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_MFE\_POST}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga91795d35ebdb6f32be50459f24b3d114}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_PF\_PRE}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1c6fa243533fd026e50f7d595eaaa565}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_PF\_POST}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param fc}
\sphinxAtStartPar
The fold compound emitting the status 

\sphinxlineitem{Param status}
\sphinxAtStartPar
The status indicator 

\sphinxlineitem{Param data}
\sphinxAtStartPar
The data structure that was assigned with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gad6c0747712712bda6d94702e0de895a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_auxdata()}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_recursion\_status (C type)@\spxentry{vrna\_callback\_recursion\_status}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_callback_recursion_status}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1edba201472caef00b7cef954341e1b9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_recursion\_status}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{status}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Enums}
\index{vrna\_fc\_type\_e (C enum)@\spxentry{vrna\_fc\_type\_e}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_type_e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga01a4ff86fa71deaaa5d1abbd95a1447d}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fc\_type\_e}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An enumerator that is used to specify the type of a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{vrna\_fc\_type\_e.VRNA\_FC\_TYPE\_SINGLE (C enumerator)@\spxentry{vrna\_fc\_type\_e.VRNA\_FC\_TYPE\_SINGLE}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_type_e.VRNA_FC_TYPE_SINGLE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FC\_TYPE\_SINGLE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Type is suitable for single, and hybridizing sequences 

\end{fulllineitems}

\index{vrna\_fc\_type\_e.VRNA\_FC\_TYPE\_COMPARATIVE (C enumerator)@\spxentry{vrna\_fc\_type\_e.VRNA\_FC\_TYPE\_COMPARATIVE}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_type_e.VRNA_FC_TYPE_COMPARATIVE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Type is suitable for sequence alignments (consensus structure prediction) 

\end{fulllineitems}


\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_fold\_compound (C function)@\spxentry{vrna\_fold\_compound}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure for single sequences and hybridizing sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function provides an easy interface to obtain a prefilled {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} by passing a single sequence, or two contatenated sequences as input. For the latter, sequences need to be seperated by an ‘\&’ character like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{char} \PYG{o}{*}\PYG{n}{sequence} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{GGGG\PYGZam{}CCCC}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{;}
\end{sphinxVerbatim}


\sphinxAtStartPar
The optional parameter \sphinxcode{\sphinxupquote{md\_p}} can be used to specify the model details for successive computations based on the content of the generated {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. Passing NULL will instruct the function to use default model details. The third parameter \sphinxcode{\sphinxupquote{options}} may be used to specify dynamic programming (DP) matrix requirements.

\sphinxAtStartPar
\sphinxstyleemphasis{Options}

\sphinxAtStartPar
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}} \sphinxhyphen{}   Option flag to specify default settings/requirements.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gae63be9127fe7dcc1f9bb14f5bb1064ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_MFE}}}}} \sphinxhyphen{}   Option flag to specify requirement of Minimum Free Energy (MFE) DP matrices and corresponding set of energy parameters.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_PF}}}}} \sphinxhyphen{}   Option flag to specify requirement of Partition Function (PF) DP matrices and corresponding set of Boltzmann factors.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga2b2a8009ccdccc3eb1571556261aee8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_WINDOW}}}}} \sphinxhyphen{}   Option flag to specify requirement of DP matrices for local folding approaches.   

\end{itemize}


\sphinxAtStartPar
The above options may be OR\sphinxhyphen{}ed together.

\sphinxAtStartPar
If you just need the folding compound serving as a container for your data, you can simply pass {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}} to the \sphinxcode{\sphinxupquote{option}} parameter. This creates a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} without DP matrices, thus saving memory. Subsequent calls of any structure prediction function will then take care of allocating the memory required for the DP matrices. If you only intend to evaluate structures instead of actually predicting them, you may use the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga61469c423131552c8483229f8b6c7e0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_EVAL\_ONLY}}}}} macro. This will seriously speedup the creation of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The sequence string must be uppercase, and should contain only RNA (resp. DNA) alphabet depending on what energy parameter set is used
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} \textendash{} A single sequence, or two concatenated sequences seperated by an ‘\&’ character 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} \textendash{} An optional set of model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options for DP matrices memory allocation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A prefilled {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} ready to be used for computations (may be \sphinxcode{\sphinxupquote{NULL}} on error) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_fold\_compound\_comparative (C function)@\spxentry{vrna\_fold\_compound\_comparative}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_comparative}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_comparative}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure for sequence alignments. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function provides an easy interface to obtain a prefilled {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} by passing an alignment of sequences.

\sphinxAtStartPar
The optional parameter \sphinxcode{\sphinxupquote{md\_p}} can be used to specify the model details for successive computations based on the content of the generated {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. Passing NULL will instruct the function to use default model details. The third parameter \sphinxcode{\sphinxupquote{options}} may be used to specify dynamic programming (DP) matrix requirements.

\sphinxAtStartPar
\sphinxstyleemphasis{Options}

\sphinxAtStartPar
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}} \sphinxhyphen{}   Option flag to specify default settings/requirements.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gae63be9127fe7dcc1f9bb14f5bb1064ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_MFE}}}}} \sphinxhyphen{}   Option flag to specify requirement of Minimum Free Energy (MFE) DP matrices and corresponding set of energy parameters.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_PF}}}}} \sphinxhyphen{}   Option flag to specify requirement of Partition Function (PF) DP matrices and corresponding set of Boltzmann factors.   

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga2b2a8009ccdccc3eb1571556261aee8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_WINDOW}}}}} \sphinxhyphen{}   Option flag to specify requirement of DP matrices for local folding approaches.   

\end{itemize}


\sphinxAtStartPar
The above options may be OR\sphinxhyphen{}ed together.

\sphinxAtStartPar
If you just need the folding compound serving as a container for your data, you can simply pass {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}} to the \sphinxcode{\sphinxupquote{option}} parameter. This creates a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} without DP matrices, thus saving memory. Subsequent calls of any structure prediction function will then take care of allocating the memory required for the DP matrices. If you only intend to evaluate structures instead of actually predicting them, you may use the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga61469c423131552c8483229f8b6c7e0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_EVAL\_ONLY}}}}} macro. This will seriously speedup the creation of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gae63be9127fe7dcc1f9bb14f5bb1064ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_MFE}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_PF}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga61469c423131552c8483229f8b6c7e0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_EVAL\_ONLY}}}}}, read\_clustal()


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The sequence strings must be uppercase, and should contain only RNA (resp. DNA) alphabet including gap characters depending on what energy parameter set is used.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} \textendash{} A sequence alignment including ‘gap’ characters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} \textendash{} An optional set of model details 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The options for DP matrices memory allocation 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A prefilled {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} ready to be used for computations (may be \sphinxcode{\sphinxupquote{NULL}} on error) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_fold\_compound\_comparative2 (C function)@\spxentry{vrna\_fold\_compound\_comparative2}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_comparative2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga249143e997e79cec842a2bad2b8bd02e}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_comparative2}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{sequences}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{names}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{orientation}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{start}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{genome\_size}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fold\_compound\_TwoD (C function)@\spxentry{vrna\_fold\_compound\_TwoD}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_TwoD}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga5186f53af9c11edab6e0269c2c6f6231}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_TwoD}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{sequence}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s1}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s2}\sphinxparamcomma {\hyperref[\detokenize{grammar/model_details:c.vrna_md_t}]{\sphinxcrossref{\DUrole{n}{vrna\_md\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{md\_p}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fold\_compound\_prepare (C function)@\spxentry{vrna\_fold\_compound\_prepare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_prepare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga051b4bb675cc11b8ced15a6780fd26b7}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_prepare}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fold\_compound\_free (C function)@\spxentry{vrna\_fold\_compound\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gaf429b1838e68cb677db6aef7e8f0ffc8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_mfe\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gab9d4eaceb36345b71d349b12787c5e0a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_pf\_free()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} that is to be erased from memory 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_fold\_compound\_add\_auxdata (C function)@\spxentry{vrna\_fold\_compound\_add\_auxdata}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_add_auxdata}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gad6c0747712712bda6d94702e0de895a7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_add\_auxdata}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{f}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add auxiliary data to the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function allows one to bind arbitrary data to a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} which may later on be used by one of the callback functions, e.g. {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f()}}}}}. To allow for proper cleanup of the memory occupied by this auxiliary data, the user may also provide a pointer to a cleanup function that free’s the corresponding memory. This function will be called automatically when the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} is free’d with {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Before attaching the arbitrary data pointer, this function will call the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f()}}}}} on any pre\sphinxhyphen{}existing data that is already attached.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the arbitrary data pointer should be associated with 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} A pointer to an arbitrary data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} \textendash{} A pointer to function that free’s memory occupied by the arbitrary data (May be NULL) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_fold\_compound\_add\_callback (C function)@\spxentry{vrna\_fold\_compound\_add\_callback}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_add_callback}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga579952cc017127b81e89a186c0d6b9c2}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fold\_compound\_add\_callback}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_recursion_status_f}]{\sphinxcrossref{\DUrole{n}{vrna\_recursion\_status\_f}}}}\DUrole{w}{ }\DUrole{n}{f}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add a recursion status callback to the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Binding a recursion status callback function to a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} allows one to perform arbitrary operations just before, or after an actual recursive computations, e.g. MFE prediction, is performed by the RNAlib. The callback function will be provided with a pointer to its {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, and a status message. Hence, it has complete access to all variables that incluence the recursive computations.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1a5053dc8acbb0111e852988726f07d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_MFE\_PRE}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga47c900ca76e56e59e2e83a06e0bde641}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_MFE\_POST}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga91795d35ebdb6f32be50459f24b3d114}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_PF\_PRE}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1c6fa243533fd026e50f7d595eaaa565}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STATUS\_PF\_POST}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The fold\_compound the callback function should be attached to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} \textendash{} The pointer to the recursion status callback function 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_fc\_s (C struct)@\spxentry{vrna\_fc\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_fc\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/fold\_compound.h\textgreater{}}
\sphinxAtStartPar
The most basic data structure required by many functions throughout the RNAlib. 

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000099}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar

\sphinxAtStartPar


\sphinxAtStartPar
This data structure is wrapped as class \sphinxcode{\sphinxupquote{fold\_compound}} with several related functions attached as methods.

\sphinxAtStartPar
A new \sphinxcode{\sphinxupquote{fold\_compound}} can be obtained by calling one of its constructors:

\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{fold\_compound(seq)}} \sphinxhyphen{} Initialize with a single sequence, or two concatenated sequences separated by an ampersand character \sphinxcode{\sphinxupquote{\&}} (for cofolding)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{fold\_compound(aln)}} \sphinxhyphen{} Initialize with a sequence alignment \sphinxstyleemphasis{aln} stored as a list of sequences (with gap characters).

\end{itemize}


\sphinxAtStartPar
The resulting object has a list of attached methods which in most cases directly correspond to functions that mainly operate on the corresponding \sphinxcode{\sphinxupquote{C}} data structure:

\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a391bcf8ac5997784aaf780cdd251c464}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{type()}}}}}}} \sphinxhyphen{} Get the type of the \sphinxstyleemphasis{fold\_compound} (See {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga01a4ff86fa71deaaa5d1abbd95a1447d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_type\_e}}}}})

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a95fbfed770b858e50c766505dc4bf998}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{length()}}}}}}} \sphinxhyphen{} Get the length of the {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a87f6abcda89cfb7a486c97e1f5371525}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{sequence(s)}}}}} or alignment stored within the \sphinxcode{\sphinxupquote{fold\_compound}}.

\end{itemize}


\sphinxAtStartPar
See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a391bcf8ac5997784aaf780cdd251c464}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t.type}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Please read the documentation of this data structure carefully! Some attributes are only available for specific types this data structure can adopt.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Reading/Writing from/to attributes that are not within the scope of the current type usually result in undefined behavior!
\end{sphinxadmonition}

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Common data fields}
\index{vrna\_fc\_s.type (C var)@\spxentry{vrna\_fc\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a391bcf8ac5997784aaf780cdd251c464}}\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fc_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_fc\_type\_e}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The type of the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Currently possible values are {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447da7e264dd3cf2dc9b6448caabcb7763cd6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_SINGLE}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gga01a4ff86fa71deaaa5d1abbd95a1447dab821ce46ea3cf665be97df22a76f5023}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FC\_TYPE\_COMPARATIVE}}}}} 

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Do not edit this attribute, it will be automagically set by the corresponding get() methods for the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. The value specified in this attribute dictates the set of other attributes to use within this data structure. 
\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.length (C var)@\spxentry{vrna\_fc\_s.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a95fbfed770b858e50c766505dc4bf998}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The length of the sequence (or sequence alignment). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.cutpoint (C var)@\spxentry{vrna\_fc\_s.cutpoint}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.cutpoint}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ae1a7bbff0256577e2b22709bac11fdb4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cutpoint}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The position of the (cofold) cutpoint within the provided sequence. If there is no cutpoint, this field will be set to \sphinxhyphen{}1. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.strand\_number (C var)@\spxentry{vrna\_fc\_s.strand\_number}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.strand_number}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a23304c5186dfae97bc69dc19d37f70c3}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{strand\_number}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The strand number a particular nucleotide is associated with. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.strand\_order (C var)@\spxentry{vrna\_fc\_s.strand\_order}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.strand_order}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a3bf15e0e44539f9f622fd09227bf3de1}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{strand\_order}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The strand order, i.e. permutation of current concatenated sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.strand\_order\_uniq (C var)@\spxentry{vrna\_fc\_s.strand\_order\_uniq}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.strand_order_uniq}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1af698d79085056aa9a9075e834b0748ed}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{strand\_order\_uniq}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The strand order array where identical sequences have the same ID. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.strand\_start (C var)@\spxentry{vrna\_fc\_s.strand\_start}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.strand_start}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a571ee9a932f633c7d9167ae029573935}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{strand\_start}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The start position of a particular strand within the current concatenated sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.strand\_end (C var)@\spxentry{vrna\_fc\_s.strand\_end}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.strand_end}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aaa1b51bc6eb47cc661fea834d7175a54}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{strand\_end}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The end (last) position of a particular strand within the current concatenated sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.strands (C var)@\spxentry{vrna\_fc\_s.strands}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.strands}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ad8962b97f5e5e233d9bfb5b16a691d26}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{strands}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Number of interacting strands. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.nucleotides (C var)@\spxentry{vrna\_fc\_s.nucleotides}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.nucleotides}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a855b503aefd052430bf463d8518d2ff5}}{\hyperref[\detokenize{utils/alphabet:c.vrna_seq_t}]{\sphinxcrossref{\DUrole{n}{vrna\_seq\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{nucleotides}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set of nucleotide sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.alignment (C var)@\spxentry{vrna\_fc\_s.alignment}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.alignment}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a0387efd460429ca0847c8009d327c0fb}}{\hyperref[\detokenize{utils/alphabet:c.vrna_msa_t}]{\sphinxcrossref{\DUrole{n}{vrna\_msa\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{alignment}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set of alignments. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.hc (C var)@\spxentry{vrna\_fc\_s.hc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.hc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aceaa904dbf50092d403ca99422e8f824}}{\hyperref[\detokenize{grammar/constraints/hard:c.vrna_hc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{hc}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The hard constraints data structure used for structure prediction. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.matrices (C var)@\spxentry{vrna\_fc\_s.matrices}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.matrices}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aca8be7bdc65bafe2172c6ee777f18568}}{\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_mfe\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{matrices}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The MFE DP matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.exp\_matrices (C var)@\spxentry{vrna\_fc\_s.exp\_matrices}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.exp_matrices}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1afc38ed5a1028a2712d2365274bf49727}}{\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_t}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_matrices}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The PF DP matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.params (C var)@\spxentry{vrna\_fc\_s.params}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.params}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a19b8720c2c5321c1b97c830bd17566ea}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{params}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The precomputed free energy contributions for each type of loop. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.exp\_params (C var)@\spxentry{vrna\_fc\_s.exp\_params}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.exp_params}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a7052a5d24f6091b9c5f79edcc9456a12}}{\hyperref[\detokenize{eval/energy_parameters:c.vrna_exp_param_t}]{\sphinxcrossref{\DUrole{n}{vrna\_exp\_param\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{exp\_params}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The precomputed free energy contributions as Boltzmann factors. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.iindx (C var)@\spxentry{vrna\_fc\_s.iindx}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.iindx}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1afdead4cf55c882d3497e779573e17e03}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{iindx}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
DP matrix accessor. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.jindx (C var)@\spxentry{vrna\_fc\_s.jindx}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.jindx}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a5037235dee512efd85ca543780bbca1a}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{jindx}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
DP matrix accessor. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{User\sphinxhyphen{}defined data fields}
\index{vrna\_fc\_s.stat\_cb (C var)@\spxentry{vrna\_fc\_s.stat\_cb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.stat_cb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aef282a5d126e0038f3855e59a99ef360}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_recursion_status_f}]{\sphinxcrossref{\DUrole{n}{vrna\_recursion\_status\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{stat\_cb}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Recursion status callback (usually called just before, and after recursive computations in the library. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga579952cc017127b81e89a186c0d6b9c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_callback()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_fc\_s.auxdata (C var)@\spxentry{vrna\_fc\_s.auxdata}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.auxdata}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a20048e0c369e9f24b55423d600037c68}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{auxdata}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A pointer to auxiliary, user\sphinxhyphen{}defined data. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gad6c0747712712bda6d94702e0de895a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_auxdata()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a02b2bfc9d563b4748f933308de09791c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t.free\_auxdata}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_fc\_s.free\_auxdata (C var)@\spxentry{vrna\_fc\_s.free\_auxdata}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.free_auxdata}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a02b2bfc9d563b4748f933308de09791c}}{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_auxdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_auxdata\_free\_f}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{free\_auxdata}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A callback to free auxiliary user data whenever the fold\_compound itself is free’d. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a20048e0c369e9f24b55423d600037c68}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t.auxdata}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Secondary Structure Decomposition (grammar) related data fields}
\index{vrna\_fc\_s.domains\_struc (C var)@\spxentry{vrna\_fc\_s.domains\_struc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.domains_struc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ac25a84f2658de0d7a54cd710c16198b1}}\DUrole{n}{vrna\_sd\_t}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{domains\_struc}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Additional structured domains. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.domains\_up (C var)@\spxentry{vrna\_fc\_s.domains\_up}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.domains_up}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a4f70b6d32681fc8ca061236f21819ae7}}{\hyperref[\detokenize{grammar/domains_up:c.vrna_ud_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ud\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{domains\_up}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Additional unstructured domains. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.aux\_grammar (C var)@\spxentry{vrna\_fc\_s.aux\_grammar}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.aux_grammar}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a4dbcba59425e0d4b222adae148e3041a}}{\hyperref[\detokenize{grammar:c.vrna_gr_aux_t}]{\sphinxcrossref{\DUrole{n}{vrna\_gr\_aux\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{aux\_grammar}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Additional decomposition grammar rules. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Data fields available for single/hybrid structure prediction}
\index{vrna\_fc\_s.sequence (C var)@\spxentry{vrna\_fc\_s.sequence}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.sequence}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a87f6abcda89cfb7a486c97e1f5371525}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sequence}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The input sequence string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}SINGLE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.sequence\_encoding (C var)@\spxentry{vrna\_fc\_s.sequence\_encoding}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.sequence_encoding}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a9934bdb695d35a3544285cbcc19f9763}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sequence\_encoding}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Numerical encoding of the input sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_sequence\_encode() 


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}SINGLE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.encoding5 (C var)@\spxentry{vrna\_fc\_s.encoding5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.encoding5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a7a230013f7a1ccbd0345e9fc56ca4982}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{encoding5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.encoding3 (C var)@\spxentry{vrna\_fc\_s.encoding3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.encoding3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ae38ca011ec0e06fbff139b885d7f476e}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{encoding3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.sequence\_encoding2 (C var)@\spxentry{vrna\_fc\_s.sequence\_encoding2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.sequence_encoding2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aaf9064092f674882e78665e1646ffdbf}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sequence\_encoding2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.ptype (C var)@\spxentry{vrna\_fc\_s.ptype}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.ptype}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a3fbea559f1d1976b2d67c215cdeee0b2}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{ptype}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pair type array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Contains the numerical encoding of the pair type for each pair (i,j) used in MFE, Partition function and Evaluation computations. 

\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga93a00c17b7644d1e755943d01664cae0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_idx\_col\_wise()}}}}}, {\hyperref[\detokenize{utils/alphabet:group__alphabet__utils_1ga495e6f5c88129128114fcb437b1fddeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptypes()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This array is always indexed via jindx, in contrast to previously different indexing between mfe and pf variants! 
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}SINGLE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.ptype\_pf\_compat (C var)@\spxentry{vrna\_fc\_s.ptype\_pf\_compat}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.ptype_pf_compat}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a7fe1235ce3d41287695f1ae1e283e8fc}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{ptype\_pf\_compat}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
ptype array indexed via iindx 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000073}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This attribute will vanish in the future! It’s meant for backward compatibility only! 

\end{fulllineitems}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}SINGLE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.sc (C var)@\spxentry{vrna\_fc\_s.sc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.sc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ac7089e90460ad3990a308808c8044c9f}}{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sc}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The soft constraints for usage in structure prediction and evaluation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}SINGLE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Data fields for consensus structure prediction}
\index{vrna\_fc\_s.sequences (C var)@\spxentry{vrna\_fc\_s.sequences}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.sequences}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a965dbb42f2e13cace5aa3bbab4396530}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{sequences}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The aligned sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The end of the alignment is indicated by a NULL pointer in the second dimension 
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.n\_seq (C var)@\spxentry{vrna\_fc\_s.n\_seq}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.n_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a614702ab74478e786272be44f8cebfe3}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{n\_seq}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The number of sequences in the alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.cons\_seq (C var)@\spxentry{vrna\_fc\_s.cons\_seq}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.cons_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ac472afde64d8b3c8b84e4809fda7d814}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{cons\_seq}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The consensus sequence of the aligned sequences. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.S\_cons (C var)@\spxentry{vrna\_fc\_s.S\_cons}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.S_cons}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aa3fab7ae38ebfed2028375221d295686}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{S\_cons}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Numerical encoding of the consensus sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.S (C var)@\spxentry{vrna\_fc\_s.S}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.S}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aebb37297f92c7bd22aac6343f8f61d61}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{S}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Numerical encoding of the sequences in the alignment. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.S5 (C var)@\spxentry{vrna\_fc\_s.S5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.S5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a78d089b475e2230bd536b9a6ed8bb17c}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{S5}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
S5{[}s{]}{[}i{]} holds next base 5’ of i in sequence s. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.S3 (C var)@\spxentry{vrna\_fc\_s.S3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.S3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1af6ab2a25b84d2308ee23f6b11b5fd52d}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{S3}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Sl{[}s{]}{[}i{]} holds next base 3’ of i in sequence s. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.Ss (C var)@\spxentry{vrna\_fc\_s.Ss}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.Ss}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1abf4a526147da57db63990892987fea29}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Ss}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.a2s (C var)@\spxentry{vrna\_fc\_s.a2s}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.a2s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a1e8ab3e7d0ba41bdd86e12044903881a}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{a2s}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.pscore (C var)@\spxentry{vrna\_fc\_s.pscore}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.pscore}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a14dc7755af6019ddbd0cf94b209e89dd}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pscore}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Precomputed array of pair types expressed as pairing scores. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.pscore\_local (C var)@\spxentry{vrna\_fc\_s.pscore\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.pscore_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ad966c15907e6c2e32b0910c7a3154509}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pscore\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Precomputed array of pair types expressed as pairing scores. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.pscore\_pf\_compat (C var)@\spxentry{vrna\_fc\_s.pscore\_pf\_compat}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.pscore_pf_compat}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1abf5e82d14649b6179ae60ed7da6e4fc0}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pscore\_pf\_compat}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Precomputed array of pair types expressed as pairing scores indexed via iindx. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This attribute will vanish in the future! 

\end{fulllineitems}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.scs (C var)@\spxentry{vrna\_fc\_s.scs}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.scs}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ac2b047fddabc51a76a96511174e47db1}}{\hyperref[\detokenize{grammar/constraints/soft:c.vrna_sc_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sc\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{scs}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A set of soft constraints (for each sequence in the alignment). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{type}\PYG{o}{==}\PYG{n}{VRNA\PYGZus{}FC\PYGZus{}TYPE\PYGZus{}COMPARATIVE}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}

\index{vrna\_fc\_s.oldAliEn (C var)@\spxentry{vrna\_fc\_s.oldAliEn}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.oldAliEn}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ac539df9233472dd76d070f4a821185a9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{oldAliEn}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Additional data fields for Distance Class Partitioning}

\sphinxAtStartPar
These data fields are typically populated with meaningful data only if used in the context of Distance Class Partitioning 
\index{vrna\_fc\_s.maxD1 (C var)@\spxentry{vrna\_fc\_s.maxD1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.maxD1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a426305721b16023f2f3247f7354d2c46}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{maxD1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum allowed base pair distance to first reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.maxD2 (C var)@\spxentry{vrna\_fc\_s.maxD2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.maxD2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a38695774fd396c892f9a70d39978b231}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{maxD2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum allowed base pair distance to second reference. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.reference\_pt1 (C var)@\spxentry{vrna\_fc\_s.reference\_pt1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.reference_pt1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aa279ba4bd0ff541d435d3a049687f3ac}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{reference\_pt1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A pairtable of the first reference structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.reference\_pt2 (C var)@\spxentry{vrna\_fc\_s.reference\_pt2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.reference_pt2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a926ad253f5f0eed642bc227493d0278d}}\DUrole{kt}{short}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{reference\_pt2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A pairtable of the second reference structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.referenceBPs1 (C var)@\spxentry{vrna\_fc\_s.referenceBPs1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.referenceBPs1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a62a8d4ab8dadffbf09da917adff6c71e}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{referenceBPs1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing number of basepairs of reference structure1 in interval {[}i,j{]}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.referenceBPs2 (C var)@\spxentry{vrna\_fc\_s.referenceBPs2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.referenceBPs2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a19187f33433e84683730dedff8544f71}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{referenceBPs2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing number of basepairs of reference structure2 in interval {[}i,j{]}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.bpdist (C var)@\spxentry{vrna\_fc\_s.bpdist}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.bpdist}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a5c53e55583ce096148075bc240fc2bce}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{bpdist}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing base pair distance of reference structure 1 and 2 on interval {[}i,j{]}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.mm1 (C var)@\spxentry{vrna\_fc\_s.mm1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.mm1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a0af5a888bac2ae32107da32776144504}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{mm1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum matching matrix, reference struct 1 disallowed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.mm2 (C var)@\spxentry{vrna\_fc\_s.mm2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.mm2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a54c0b979274b285a7e093ed54aa3252e}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{mm2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Maximum matching matrix, reference struct 2 disallowed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Additional data fields for local folding}

\sphinxAtStartPar
These data fields are typically populated with meaningful data only if used in the context of local folding 
\index{vrna\_fc\_s.window\_size (C var)@\spxentry{vrna\_fc\_s.window\_size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.window_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1adacbf7cdfb47d3072683ab509de735f6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{window\_size}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
window size for local folding sliding window approach 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.ptype\_local (C var)@\spxentry{vrna\_fc\_s.ptype\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.ptype_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a2ecb8ff5e21190936a8a146be7a251ff}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{ptype\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pair type array (for local folding). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_fc\_s.zscore\_data (C var)@\spxentry{vrna\_fc\_s.zscore\_data}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/fold_compound:c.vrna_fc_s.zscore_data}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1ab9e9e3fd24c960c6e2390be1a070e4c5}}\DUrole{n}{vrna\_zsc\_dat\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{zscore\_data}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Data structure with settings for z\sphinxhyphen{}score computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1aad0e944111aa7280683876be90ebba87}}\sphinxbfcode{\sphinxupquote{union~vrna\_fc\_s}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{The Dynamic Programming Matrices}
\label{\detokenize{utils/datastructures/dp_matrices:the-dynamic-programming-matrices}}\label{\detokenize{utils/datastructures/dp_matrices::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices}}}
\pysigstopsignatures
\sphinxAtStartPar
This module provides interfaces that deal with creation and destruction of dynamic programming matrices used within the RNAlib. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_MX\_FLAG\_F5 (C macro)@\spxentry{VRNA\_MX\_FLAG\_F5}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gaa797b9c111d5c468629029911d933c40}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_F3 (C macro)@\spxentry{VRNA\_MX\_FLAG\_F3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga76151f2c1b5a3c0155c341f346a7ceb1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_C (C macro)@\spxentry{VRNA\_MX\_FLAG\_C}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga5334d5e321bc9a096e126145752aa11f}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_M (C macro)@\spxentry{VRNA\_MX\_FLAG\_M}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga1c521f69d87df6bc5fc332280a2c1f5b}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_M2 (C macro)@\spxentry{VRNA\_MX\_FLAG\_M2}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga60499f7396d732778305679be66787b1}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_M1 (C macro)@\spxentry{VRNA\_MX\_FLAG\_M1}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gae8642a41d6ea120ab6621981695e40cd}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_MS5 (C macro)@\spxentry{VRNA\_MX\_FLAG\_MS5}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_MS5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gadef396bf2d97171ee41b941637c4777a}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_MS5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_MS3 (C macro)@\spxentry{VRNA\_MX\_FLAG\_MS3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_MS3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga3536e4dc8a51b05e14ce1b7722836fae}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_MS3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_G (C macro)@\spxentry{VRNA\_MX\_FLAG\_G}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_G}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga4d7aba42cdaadc24467c79c53e430702}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_G}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_MX\_FLAG\_MAX (C macro)@\spxentry{VRNA\_MX\_FLAG\_MAX}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.VRNA_MX_FLAG_MAX}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga99cc7324644e78d92c7090ff462fa2ad}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_FLAG\_MAX}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_mx\_mfe\_t (C type)@\spxentry{vrna\_mx\_mfe\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gae5aef35d016475e758f619b7bcb534f9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_mfe\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_mfe\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the Minimum Free Energy (MFE) DP matrices data structure {\hyperref[\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_mfe\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_t (C type)@\spxentry{vrna\_mx\_pf\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga68729ab3fed26bdd1806fa814f172fc1}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_pf\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_pf\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the Partition Function (PF) DP matrices data structure {\hyperref[\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_pf\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Enums}
\index{vrna\_mx\_type\_e (C enum)@\spxentry{vrna\_mx\_type\_e}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga6042ea1d58d01931e959791be6d89343}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_type\_e}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An enumerator that is used to specify the type of a polymorphic Dynamic Programming (DP) matrix data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gae5aef35d016475e758f619b7bcb534f9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_mfe\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga68729ab3fed26bdd1806fa814f172fc1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_pf\_t}}}}}


\end{sphinxseealso}



\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{vrna\_mx\_type\_e.VRNA\_MX\_DEFAULT (C enumerator)@\spxentry{vrna\_mx\_type\_e.VRNA\_MX\_DEFAULT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e.VRNA_MX_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gga6042ea1d58d01931e959791be6d89343aafa2568956dab79595521e20c49a5f75}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default DP matrices. 

\end{fulllineitems}

\index{vrna\_mx\_type\_e.VRNA\_MX\_WINDOW (C enumerator)@\spxentry{vrna\_mx\_type\_e.VRNA\_MX\_WINDOW}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e.VRNA_MX_WINDOW}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gga6042ea1d58d01931e959791be6d89343a2ea5d5947f6ec02544934b0ff2785e99}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_WINDOW}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
DP matrices suitable for local structure prediction using window approach. 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}}, {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}}, {\hyperref[\detokenize{partfunc/window_deprecated:group__part__func__window__deprecated_1gaf6d77f10775c1d58c8199d5ec95d4228}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pfl\_fold()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_mx\_type\_e.VRNA\_MX\_2DFOLD (C enumerator)@\spxentry{vrna\_mx\_type\_e.VRNA\_MX\_2DFOLD}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e.VRNA_MX_2DFOLD}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gga6042ea1d58d01931e959791be6d89343ae656f8391445ff71bed8a597a0a19417}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_MX\_2DFOLD}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
DP matrices suitable for distance class partitioned structure prediction. 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_mx\_add (C function)@\spxentry{vrna\_mx\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga87ffa61e95e5dd3ad34d8c6fa95d4514}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_add}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_type\_e}}}}\DUrole{w}{ }\DUrole{n}{type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add Dynamic Programming (DP) matrices (allocate memory). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function adds DP matrices of a specific type to the provided {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}, such that successive DP recursion can be applied. The function caller has to specify which type of DP matrix is requested, see {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga6042ea1d58d01931e959791be6d89343}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_type\_e}}}}}, and what kind of recursive algorithm will be applied later on, using the parameters type, and options, respectively. For the latter, Minimum free energy (MFE), and Partition function (PF) computations are distinguished. A third option that may be passed is {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga8f681fa12b8d4b348bf58415fd1fc82f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_HYBRID}}}}}, indicating that auxiliary DP arrays are required for RNA\sphinxhyphen{}RNA interaction prediction.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
vrna\_mx\_mfe\_add(), vrna\_mx\_pf\_add(), {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gab9d4eaceb36345b71d349b12787c5e0a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_pf\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gaf429b1838e68cb677db6aef7e8f0ffc8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_mfe\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga6042ea1d58d01931e959791be6d89343}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_type\_e}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gae63be9127fe7dcc1f9bb14f5bb1064ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_MFE}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_PF}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga8f681fa12b8d4b348bf58415fd1fc82f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_HYBRID}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga61469c423131552c8483229f8b6c7e0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_EVAL\_ONLY}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Usually, there is no need to call this function, since the constructors of {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} are handling all the DP matrix memory allocation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} that holds pointers to the DP matrices 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} \textendash{} The type of DP matrices requested 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} Option flags that specify the kind of DP matrices, such as MFE or PF arrays, and auxiliary requirements 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if DP matrices were properly allocated and attached, 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_add (C function)@\spxentry{vrna\_mx\_mfe\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gadc9f35c77623d8a20401f8993940aef3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_mfe\_add}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_type\_e}}}}\DUrole{w}{ }\DUrole{n}{mx\_type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_add (C function)@\spxentry{vrna\_mx\_pf\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga4adb243d6ca034254e183877308a9aee}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_pf\_add}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_type\_e}}}}\DUrole{w}{ }\DUrole{n}{mx\_type}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_prepare (C function)@\spxentry{vrna\_mx\_prepare}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_prepare}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga09585cfd149c9a20f0f13ad2ec3825ea}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_prepare}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_free (C function)@\spxentry{vrna\_mx\_mfe\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gaf429b1838e68cb677db6aef7e8f0ffc8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_mfe\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by the Minimum Free Energy (MFE) Dynamic Programming (DP) matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gab9d4eaceb36345b71d349b12787c5e0a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_pf\_free()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} storing the MFE DP matrices that are to be erased from memory 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_mx\_pf\_free (C function)@\spxentry{vrna\_mx\_pf\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gab9d4eaceb36345b71d349b12787c5e0a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_pf\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\DUrole{n}{vrna\_fold\_compound\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fc}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by the Partition Function (PF) Dynamic Programming (DP) matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabbaffe56b1a37f6ed1a31e9e4f5613f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_comparative()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1gaf429b1838e68cb677db6aef7e8f0ffc8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_mfe\_free()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fc}} \textendash{} The {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} storing the PF DP matrices that are to be erased from memory 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_mx\_mfe\_s (C struct)@\spxentry{vrna\_mx\_mfe\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_mfe\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/dp\_matrices.h\textgreater{}}
\sphinxAtStartPar
Minimum Free Energy (MFE) Dynamic Programming (DP) matrices data structure required within the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Common fields for MFE matrices}
\index{vrna\_mx\_mfe\_s.type (C var)@\spxentry{vrna\_mx\_mfe\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a9292754662fd36235ee949c6849932f5}}\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_type\_e}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Type of the DP matrices 

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.length (C var)@\spxentry{vrna\_mx\_mfe\_s.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a1f92a8406fc1fb721dbf9193c34ad826}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Length of the sequence, therefore an indicator of the size of the DP matrices. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.strands (C var)@\spxentry{vrna\_mx\_mfe\_s.strands}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.strands}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a913f00490cd92f47cd726060743baeb8}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{strands}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Number of strands 

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Default DP matrices}

\sphinxAtStartPar

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
These data fields are available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}mx\PYGZus{}mfe\PYGZus{}t}\PYG{o}{.}\PYG{n}{type} \PYG{o}{==} \PYG{n}{VRNA\PYGZus{}MX\PYGZus{}DEFAULT} 
\end{sphinxVerbatim}

\end{sphinxadmonition}

\index{vrna\_mx\_mfe\_s.c (C var)@\spxentry{vrna\_mx\_mfe\_s.c}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.c}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a60a511fd42905ee4f046c56a76865bf9}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{c}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy array, given that i\sphinxhyphen{}j pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.f5 (C var)@\spxentry{vrna\_mx\_mfe\_s.f5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.f5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1abebad693be987c2701d64477ab858039}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{f5}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy of 5’ end. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.f3 (C var)@\spxentry{vrna\_mx\_mfe\_s.f3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.f3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a4ea4595a93733adef047ece8e6f5da52}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{f3}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy of 3’ end. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fms5 (C var)@\spxentry{vrna\_mx\_mfe\_s.fms5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fms5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ae4f5e14d105d8e8dc3509c8e837f6a5c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fms5}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy for connected interstrand configurations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fms3 (C var)@\spxentry{vrna\_mx\_mfe\_s.fms3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fms3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ac2a7cc51cf8c069259faf8d923a8f02d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fms3}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
nergy for connected interstrand configurations 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fML (C var)@\spxentry{vrna\_mx\_mfe\_s.fML}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fML}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a103995e4ab8e21e7f8bc36a6edcb1331}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fML}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Multi\sphinxhyphen{}loop auxiliary energy array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fM1 (C var)@\spxentry{vrna\_mx\_mfe\_s.fM1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fM1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ae4e598d601f5ece6b8b4ffffcae2db06}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fM1}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Second ML array, only for unique multibrnach loop decomposition. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fM2 (C var)@\spxentry{vrna\_mx\_mfe\_s.fM2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fM2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ad29106e37d485b3f20b7be468e6c179c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fM2}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy for a multibranch loop region with exactly two stems, extending to 3’ end. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fM1\_new (C var)@\spxentry{vrna\_mx\_mfe\_s.fM1\_new}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fM1_new}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a355bf57576fd63bea0bb95482802b667}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fM1\_new}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
ML array with exactly one component within 5’end and i, ending at i (for circRNA). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fM2\_real (C var)@\spxentry{vrna\_mx\_mfe\_s.fM2\_real}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fM2_real}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1af4724eeb875323dd41fbad8391a0aa2d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fM2\_real}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy for a multibranch loop region with at least two stems. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.Fc (C var)@\spxentry{vrna\_mx\_mfe\_s.Fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.Fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ac6a22d71c6a0eccedf978372b19b458a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Minimum Free Energy of entire circular RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.FcH (C var)@\spxentry{vrna\_mx\_mfe\_s.FcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.FcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a1ba03c53ee2a32eaf8b46c0eb259e0c4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Minimum Free Energy of hairpin loop cases in circular RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.FcI (C var)@\spxentry{vrna\_mx\_mfe\_s.FcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.FcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a96ac173770c9745a30823fa17fe0b7f4}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Minimum Free Energy of internal loop cases in circular RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.FcM (C var)@\spxentry{vrna\_mx\_mfe\_s.FcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.FcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a9a4bf70926f79372388eccc7e73759e9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Minimum Free Energy of multibranch loop cases in circular RNA. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Local Folding DP matrices using window approach}

\sphinxAtStartPar

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
These data fields are available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}mx\PYGZus{}mfe\PYGZus{}t}\PYG{o}{.}\PYG{n}{type} \PYG{o}{==} \PYG{n}{VRNA\PYGZus{}MX\PYGZus{}WINDOW} 
\end{sphinxVerbatim}

\end{sphinxadmonition}

\index{vrna\_mx\_mfe\_s.c\_local (C var)@\spxentry{vrna\_mx\_mfe\_s.c\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.c_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a116c677ece0832e6ab9cc2fd1ebfe452}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{c\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy array, given that i\sphinxhyphen{}j pair. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.f3\_local (C var)@\spxentry{vrna\_mx\_mfe\_s.f3\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.f3_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a6eae0a2b696b0c63bbaa78a70b950600}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{f3\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy of 5’ end. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.fML\_local (C var)@\spxentry{vrna\_mx\_mfe\_s.fML\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.fML_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ad37d705240a8e6b1e9a4e4ea19e74003}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{fML\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Multi\sphinxhyphen{}loop auxiliary energy array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.ggg\_local (C var)@\spxentry{vrna\_mx\_mfe\_s.ggg\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.ggg_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1afd3ea65bc8f06559f7f1ea79072fa385}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{ggg\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energies of g\sphinxhyphen{}quadruplexes. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.ggg\_local\_shift (C var)@\spxentry{vrna\_mx\_mfe\_s.ggg\_local\_shift}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.ggg_local_shift}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1aacd92cb242d1a2e53b9cbbdf7be70ad7}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ggg\_local\_shift}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Distance Class DP matrices}

\sphinxAtStartPar

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
These data fields are available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}mx\PYGZus{}mfe\PYGZus{}t}\PYG{o}{.}\PYG{n}{type} \PYG{o}{==} \PYG{n}{VRNA\PYGZus{}MX\PYGZus{}2DFOLD} 
\end{sphinxVerbatim}

\end{sphinxadmonition}

\index{vrna\_mx\_mfe\_s.E\_F5 (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_F5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ab917aa1e2b069af7fb5d11c5d067cdf0}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_F5 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_F5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a4035d3c6a9e23e388ddec18a9fdc2315}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_F5 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_F5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a794ba42ca5afa5320a2da88554928516}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_F5 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_F5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1aad6fc641a5815149b8d938ca277019a5}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_F5 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_F5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_F5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a321a00180a1d046796328d0a9b66ec81}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_F5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_F3 (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_F3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a4d055707928eb6f3147c962141cc70e8}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_F3 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_F3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1abf0389ece58e97652f580d7dc1e133d8}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_F3 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_F3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1afadce4435141575c7275b1e0b75e8eba}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_F3 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_F3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a063fb9477172048bd24786ef363315db}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_F3 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_F3}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_F3}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a1e20cd5b9d422f547b3366e74b59b1bd}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_F3}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_C (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_C}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1af7007bfa68981a0d7a7a2186c357eb4f}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_C (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_C}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a33f9c476304c568c78918a5bcc3e2c2f}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_C (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_C}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1afb0db136ff9fd3c78ad30816aa276ed3}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_C (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_C}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a37d2df63ba2ae973059279f325b0e617}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_C (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_C}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a9bb98ec849469ab7dda8042384a0114e}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_M (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1aace1bc1fb8f3e0e83296a91e40bda7a5}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_M (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a48afd9784e58e427fcbe4694d4670c57}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_M (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a59641489689bf8ba2236466b4a9be82a}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_M (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a7a723bdda23a431fa498b6e46f71de05}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_M (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a45f8584d5a51e734de9376889e9a890e}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_M1 (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a2a0eccd64e94962e9ec7c0652c5adcf2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_M1 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a83ceae2cd2fa2a478fbc917419f4f43c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_M1 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1abacc2eb5bd2798188191693d562941fe}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_M1 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a31b0f5d774d868d3723b0e98a64ab4c2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_M1 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ad7aa8ad7e4246927b79f0e69cfdb20b2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_M2 (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a84f072a7e5a9d1dc978e92b3a78f53f8}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_M2 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a0ee034810d6ece4cd0f4604ec4c94c22}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_M2 (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a0d78bbbc4621247d97f00160803a05b0}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_M2 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a27eede8de57b179fc24839bc25e96be0}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_M2 (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ac3bc074f2b291247b65d34e336ef064f}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_Fc (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_Fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_Fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ac81b8edd7d1297b43af1c163214ec95b}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_Fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_Fc (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_Fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_Fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a64f1fdc523370d4d27f4e74db37ec3f2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_Fc (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_Fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_Fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a253b64237c811ef8587de8a714658365}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_Fc (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_Fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_Fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a3b381c1a816112c9557056a52db5d104}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_Fc (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_Fc}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_Fc}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a2aa2123340602899bd7a61d82db95a3f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Fc}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_FcH (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_FcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_FcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a366499237acdae5e4f422e4bc82bfc0d}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_FcH (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_FcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_FcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a5d0a6a5cd45a42d23fc0eabf0763caa8}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_FcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_FcH (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_FcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_FcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a89192a2ab2c8de9f5b702edc9fe68613}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_FcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_FcH (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_FcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_FcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1aa3f7198e3c6207737934088d27639911}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_FcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_FcH (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_FcH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_FcH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a8e94d63c103c7effce55652619b3b469}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_FcH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_FcI (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_FcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_FcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a3e9793de5245f038ed83c2a607b37970}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_FcI (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_FcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_FcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1abc4dd9942f140f91adb52d2719e78bc4}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_FcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_FcI (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_FcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_FcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a41cb6dbbda30f5d7bafd6b0ea62bca8c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_FcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_FcI (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_FcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_FcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1acbf5d0bd27435ad5328482f9b4b32833}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_FcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_FcI (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_FcI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_FcI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a6b13abef4bee7a08fd28b0780535373e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_FcI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_FcM (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_FcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_FcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1aad18f800b7bc0f26d012b9bc36aa5382}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_min\_FcM (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_min\_FcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_min_FcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a7ee24b747cf1d4ecc1cdc7380cf39594}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_FcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.l\_max\_FcM (C var)@\spxentry{vrna\_mx\_mfe\_s.l\_max\_FcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.l_max_FcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a0d419ae5a7e10b98734d42f5391d25f5}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_FcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_min\_FcM (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_min\_FcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_min_FcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a36089cee4d38f465f79db7e3589693a7}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_FcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.k\_max\_FcM (C var)@\spxentry{vrna\_mx\_mfe\_s.k\_max\_FcM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.k_max_FcM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1aa5a4d2fd78e38c82ee666f9bdc911e66}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_FcM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_F5\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_F5\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_F5_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1af286d9ea990a98a33c065b4e16eaa311}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F5\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_F3\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_F3\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_F3_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1afa8e42da47467e098bab0c6f1c16bea4}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_F3\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_C\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_C\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_C_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a00f20c8bd9eda2ebcd99267cce52909c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_C\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_M\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_M\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_M_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a92b0234e1e3cdaba2dea416e37904a09}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_M1\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_M1\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_M1_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a89dddd61f360292fddcc9b25e7cbc699}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M1\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_M2\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_M2\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_M2_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a5fc042fba42b3676226b64fb4ab80ad2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_M2\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_Fc\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_Fc\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_Fc_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1aec03a4d7538bfa0e1113ba2825175428}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_Fc\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_FcH\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_FcH\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_FcH_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a120dc87d9b5f452b12ab796046a0f704}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcH\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_FcI\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_FcI\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_FcI_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1add53b23599a083140d0ddbd158a84d1d}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcI\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_mfe\_s.E\_FcM\_rem (C var)@\spxentry{vrna\_mx\_mfe\_s.E\_FcM\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_mfe_s.E_FcM_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1ad821cb861e772e1c0fd4efddb44380c7}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{E\_FcM\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__mfe__s_1a21206d890fac67a230492e70bff47f2a}}\sphinxbfcode{\sphinxupquote{union~vrna\_mx\_mfe\_s}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_mx\_pf\_s (C struct)@\spxentry{vrna\_mx\_pf\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_mx\_pf\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/dp\_matrices.h\textgreater{}}
\sphinxAtStartPar
Partition function (PF) Dynamic Programming (DP) matrices data structure required within the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Common fields for DP matrices}
\index{vrna\_mx\_pf\_s.type (C var)@\spxentry{vrna\_mx\_pf\_s.type}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.type}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1af3ef433500adebc8ca0a35b5e2bfccfa}}\DUrole{k}{const}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_type_e}]{\sphinxcrossref{\DUrole{n}{vrna\_mx\_type\_e}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{type}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Type of the DP matrices 

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.length (C var)@\spxentry{vrna\_mx\_pf\_s.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a798f72ece3f3f970bb0de2120600ad63}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Size of the DP matrices (i.e. sequence length) 

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.scale (C var)@\spxentry{vrna\_mx\_pf\_s.scale}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.scale}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a133ac57938cb0969da254a594572baf8}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{scale}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Boltzmann factor scaling 

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.expMLbase (C var)@\spxentry{vrna\_mx\_pf\_s.expMLbase}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.expMLbase}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ae18e83833416f62943d5dd7be1cc038f}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{expMLbase}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Boltzmann factors for unpaired bases in multibranch loop 

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Default PF matrices}

\sphinxAtStartPar

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
These data fields are available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}mx\PYGZus{}pf\PYGZus{}t}\PYG{o}{.}\PYG{n}{type} \PYG{o}{==} \PYG{n}{VRNA\PYGZus{}MX\PYGZus{}DEFAULT} 
\end{sphinxVerbatim}

\end{sphinxadmonition}

\index{vrna\_mx\_pf\_s.q (C var)@\spxentry{vrna\_mx\_pf\_s.q}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.q}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a033a0277ac33736256c6a13f13d75879}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{q}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qb (C var)@\spxentry{vrna\_mx\_pf\_s.qb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1abd5ea8aa63458625d0c8b2a868fcfa28}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qb}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qm (C var)@\spxentry{vrna\_mx\_pf\_s.qm}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qm}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a612e774309a7fd0b6812200aa31f87d5}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qm}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qm1 (C var)@\spxentry{vrna\_mx\_pf\_s.qm1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qm1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ad60e1fd6fa490ae72cdd899c37a52165}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qm1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.probs (C var)@\spxentry{vrna\_mx\_pf\_s.probs}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.probs}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1aee4b900811aa012ab135838e2e5868f2}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{probs}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.q1k (C var)@\spxentry{vrna\_mx\_pf\_s.q1k}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.q1k}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a6ee76a2c5cefd1a9d6addf0a32071124}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{q1k}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qln (C var)@\spxentry{vrna\_mx\_pf\_s.qln}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qln}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ae3a10b81e574b966d062e705b4ad8168}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qln}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qo (C var)@\spxentry{vrna\_mx\_pf\_s.qo}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qo}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a160e39f74bfcd3f94c77bdf334070782}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qo}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qm2 (C var)@\spxentry{vrna\_mx\_pf\_s.qm2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qm2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a0a4ff1fd1b71810ccab242a862cfdf8c}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qm2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qm2\_real (C var)@\spxentry{vrna\_mx\_pf\_s.qm2\_real}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qm2_real}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a68bde9cc2d4218b7b4fc3c267fd3fece}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qm2\_real}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qm1\_new (C var)@\spxentry{vrna\_mx\_pf\_s.qm1\_new}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qm1_new}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a375088c4077fc23fe3b8f844d8f71416}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qm1\_new}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qho (C var)@\spxentry{vrna\_mx\_pf\_s.qho}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qho}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a0841b18e38c22bb92df7efee9caaabb0}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qho}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qio (C var)@\spxentry{vrna\_mx\_pf\_s.qio}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qio}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ac9c23d0dd3a0bb150c389399afe119eb}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qio}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qmo (C var)@\spxentry{vrna\_mx\_pf\_s.qmo}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qmo}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a970e8f6dfdf874185a9d4f77a942f61c}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qmo}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Local Folding DP matrices using window approach}

\sphinxAtStartPar

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
These data fields are available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}mx\PYGZus{}mfe\PYGZus{}t}\PYG{o}{.}\PYG{n}{type} \PYG{o}{==} \PYG{n}{VRNA\PYGZus{}MX\PYGZus{}WINDOW} 
\end{sphinxVerbatim}

\end{sphinxadmonition}

\index{vrna\_mx\_pf\_s.q\_local (C var)@\spxentry{vrna\_mx\_pf\_s.q\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.q_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a742126d3bbd599a459660e78ea150564}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{q\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qb\_local (C var)@\spxentry{vrna\_mx\_pf\_s.qb\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qb_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a8676136222e69b430a7a4fcbbf27c65c}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qb\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qm\_local (C var)@\spxentry{vrna\_mx\_pf\_s.qm\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qm_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1adc05b79fd8df7a618a7dfdc852c9703d}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qm\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.pR (C var)@\spxentry{vrna\_mx\_pf\_s.pR}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.pR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a401780fdba30145d0e3af22c36b432d6}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pR}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qm2\_local (C var)@\spxentry{vrna\_mx\_pf\_s.qm2\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qm2_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a24af2da1539a28f43f1c557f7d7ec1bf}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qm2\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.QI5 (C var)@\spxentry{vrna\_mx\_pf\_s.QI5}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.QI5}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a1398df7d88fef9aac386d24ee4cb9d17}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{QI5}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.q2l (C var)@\spxentry{vrna\_mx\_pf\_s.q2l}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.q2l}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ab0cbf800f6a85a2d3f8a45ffcd08d7a8}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{q2l}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.qmb (C var)@\spxentry{vrna\_mx\_pf\_s.qmb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.qmb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a3eb1defdbdc5494a392a7c2c5eaf63b1}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{qmb}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.G\_local (C var)@\spxentry{vrna\_mx\_pf\_s.G\_local}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.G_local}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1abecae05445c9fcf21081b7a8e2f8b395}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{G\_local}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Distance Class DP matrices}

\sphinxAtStartPar

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
These data fields are available if 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}mx\PYGZus{}pf\PYGZus{}t}\PYG{o}{.}\PYG{n}{type} \PYG{o}{==} \PYG{n}{VRNA\PYGZus{}MX\PYGZus{}2DFOLD} 
\end{sphinxVerbatim}

\end{sphinxadmonition}

\index{vrna\_mx\_pf\_s.Q (C var)@\spxentry{vrna\_mx\_pf\_s.Q}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a29678f1d17a805ce2c80d765e00f694d}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a13ccc584739950bcd6de23925a9afe0e}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ac136ef6871aad05b013aaec2a4cc9298}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1aa09c7b59d39b4b669173330976ae4798}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a6405e58faa7aac0d7fd7bf6fc2821b99}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_B (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_B}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_B}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a7bf41bf6ce96a6a6ffad912a6bb9f023}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_B}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_B (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_B}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_B}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1aa6ab6ade9a4f4aa347ea1ac3d780bbf4}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_B}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_B (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_B}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_B}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a7a6b46c40f038de8798e009ead7e5c81}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_B}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_B (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_B}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_B}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a32a61364685e55e2cb90c3bef635fe9e}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_B}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_B (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_B}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_B}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a4bb8b8fc4b39dbf163584164575253e4}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_B}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_M (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a283eb582a89f62cf7d12bb6afc774ba7}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_M (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1acdb695807092c9fa8ba32b4c033881b2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_M (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a0e46adc65e479d671aed00097b8f162a}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_M (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ab3375971ac859512a745d6eec99244d2}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_M (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a9b9d2a9a7a25929605437af8fe3e7f47}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_M}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_M1 (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a3ebab8245e0d6747c8cb4068fcb2f14c}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_M1 (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a798dd2cc60f5af4b93dac4cba0459683}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_M1 (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1afec22c55d9cdea707596702ce40221ec}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_M1 (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a89548e61d9fbf7936f9e46aed2296813}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_M1 (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_M1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_M1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1abb96656ec2020302fb1e1c9394ff2519}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_M1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_M2 (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a4271859f583cc0b27d0bfb6951c050f5}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_M2 (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ad23a0e61af82fdf8243c10000d418a8f}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_M2 (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a8182f4fd762fcb853a78ae818e275114}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_M2 (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ac76826db329f701f0abf43d9e1a4446c}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_M2 (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_M2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_M2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a9dc7897463d929ff56198e3cd79aa531}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_M2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_c (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_c}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_c}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a50d4c30dd0d535cd3a00c29e2b77c81e}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_c}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_c (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_c}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_c}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a1a165b9e68b552abd6970e7b79398e68}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_c}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_c (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_c}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_c}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ad16c8bacc50d9ad75fc4d3aad18b3c74}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_c}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_c (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_c}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_c}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1aca9ff00550c75057c3f0796526eaa3fd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_c}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_c (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_c}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_c}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ac5cdf53876b9ea8060b7c0fc12b2bdca}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_c}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_cH (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_cH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_cH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1aba4db9bf16cbe37199838b8ed1ba096c}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_cH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_cH (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_cH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_cH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a08f5bfd11886731ebb3a9f0ba97a0b6b}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_cH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_cH (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_cH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_cH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a1ac1d79977932e1b7131b47948b3915a}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_cH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_cH (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_cH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_cH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a763eab70c62986a630fd0013d1931ea8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_cH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_cH (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_cH}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_cH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a8093a0a48f24c26e575b18e5d59b1e5c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_cH}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_cI (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_cI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_cI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a1db737927aabceddad13832191c5fa27}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_cI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_cI (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_cI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_cI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a9e0b38f8272badd75df592524e383973}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_cI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_cI (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_cI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_cI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a852c2d9450a188cc49d72150f7647e48}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_cI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_cI (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_cI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_cI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1addf9d5e7d009a936651fa1b98421e2bd}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_cI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_cI (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_cI}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_cI}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1abc3dd1b2bf0f90647e8c73c93432b154}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_cI}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_cM (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_cM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_cM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ae8e6bc3de40ebe54c7c36677cdc38df8}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_cM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_min\_Q\_cM (C var)@\spxentry{vrna\_mx\_pf\_s.l\_min\_Q\_cM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_min_Q_cM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1aef4bfb509acba7441d9ace1e0a7e4b93}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_min\_Q\_cM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.l\_max\_Q\_cM (C var)@\spxentry{vrna\_mx\_pf\_s.l\_max\_Q\_cM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.l_max_Q_cM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a57c50e60f1679e2d1add5b48d67b4ad4}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{l\_max\_Q\_cM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_min\_Q\_cM (C var)@\spxentry{vrna\_mx\_pf\_s.k\_min\_Q\_cM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_min_Q_cM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1ab014ff37700866fd2be6139b3ec470c6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_min\_Q\_cM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.k\_max\_Q\_cM (C var)@\spxentry{vrna\_mx\_pf\_s.k\_max\_Q\_cM}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.k_max_Q_cM}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a10c73fd5be9a9bbd350f929d758ac8cf}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k\_max\_Q\_cM}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a9d0f5ad230b36b3553ddf7585c1ae2ec}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_B\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_B\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_B_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a3e398f1778086b00deb05a3990d533ab}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_B\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_M\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_M\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_M_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a07d9c31f3205d96e094104971b8a85a6}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_M\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_M1\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_M1\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_M1_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a7d77708c602e982af5a6c1f340d329f4}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_M1\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_M2\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_M2\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_M2_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a6480ac40d5405af825dee74e3518d6ae}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_M2\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_c\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_c\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_c_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a0ce7f4b73a6df939f79dfd2f21de80b8}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_c\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_cH\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_cH\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_cH_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1aff841b24d39a4f162ba1d10e5109cbe3}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_cH\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_cI\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_cI\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_cI_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a844916b65f091b27e89547f7a51a2dea}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_cI\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_mx\_pf\_s.Q\_cM\_rem (C var)@\spxentry{vrna\_mx\_pf\_s.Q\_cM\_rem}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:c.vrna_mx_pf_s.Q_cM_rem}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a6f6bad095f31114e990d68af46d2eda5}}{\hyperref[\detokenize{utils/data_structures:c.FLT_OR_DBL}]{\sphinxcrossref{\DUrole{n}{FLT\_OR\_DBL}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Q\_cM\_rem}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/dp_matrices:structvrna__mx__pf__s_1a55be60cf7cae35277851058d2d4279c3}}\sphinxbfcode{\sphinxupquote{union~vrna\_mx\_pf\_s}}}
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/dp\PYGZus{}matrices.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Hash Tables}
\label{\detokenize{utils/datastructures/hash_tables:hash-tables}}\label{\detokenize{utils/datastructures/hash_tables::doc}}
\sphinxAtStartPar
Various implementations of hash table functions.

\sphinxAtStartPar
Hash tables are common data structures that allow for fast random
access to the data that is stored within.

\sphinxAtStartPar
Here, we provide an abstract implementation of a hash table interface
and a concrete implementation for pairs of secondary structure and
corresponding free energy value.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Abstract interface}
\index{vrna\_hash\_table\_t (C type)@\spxentry{vrna\_hash\_table\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gabc7c6f41b718c8e23929e528891a89c4}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_hash\_table\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_hash\_table\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A hash table object. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga479db024c70437aa2576d60b373c5262}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_free()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_ht\_cmp\_f (C type)@\spxentry{vrna\_ht\_cmp\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_cmp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga746d82b4363fda6a7997b83f49b7478d}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_cmp\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{y}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback function to compare two hash table entries. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gac4ec0b8372d50d7347a63f140f340962}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_comp()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param x}
\sphinxAtStartPar
A hash table entry 

\sphinxlineitem{Param y}
\sphinxAtStartPar
A hash table entry 

\sphinxlineitem{Return}
\sphinxAtStartPar
\sphinxhyphen{}1 if x is smaller, +1 if x is larger than y. 0 if \(x == y \)

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_ht\_compare\_entries (C type)@\spxentry{vrna\_callback\_ht\_compare\_entries}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_callback_ht_compare_entries}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga670f1a5c31aec72aa7bf8da08dc3957b}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_ht\_compare\_entries}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ht\_hashfunc\_f (C type)@\spxentry{vrna\_ht\_hashfunc\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_hashfunc_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaf6e2d97e439b129651c95f28232215fb}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_hashfunc\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{n}{hashtable\_size}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback function to generate a hash key, i.e. hash function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gad133721a3cd2f8ca259fe315d86035a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_hash\_func()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param x}
\sphinxAtStartPar
A hash table entry 

\sphinxlineitem{Param hashtable\_size}
\sphinxAtStartPar
The size of the hash table 

\sphinxlineitem{Return}
\sphinxAtStartPar
The hash table key for entry \sphinxcode{\sphinxupquote{x}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_ht\_hash\_function (C type)@\spxentry{vrna\_callback\_ht\_hash\_function}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_callback_ht_hash_function}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaf8d9ef458a24374103ff23a6851fa975}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_ht\_hash\_function}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{n}{hashtable\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ht\_free\_f (C type)@\spxentry{vrna\_ht\_free\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_free_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga306abe71fe6a6515b6f2eba5e27187ca}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_free\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Callback function to free a hash table entry. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gabcdcd0d070b3dfd2634a09e7838acf66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_free\_entry()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param x}
\sphinxAtStartPar
A hash table entry 

\sphinxlineitem{Return}
\sphinxAtStartPar
0 on success 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_ht\_free\_entry (C type)@\spxentry{vrna\_callback\_ht\_free\_entry}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_callback_ht_free_entry}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gab6e52ca06c3867e85ee754807c23923e}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_ht\_free\_entry}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ht\_init (C function)@\spxentry{vrna\_ht\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}}{\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hash\_table\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_init}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{b}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_ht_cmp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ht\_cmp\_f}}}}\DUrole{w}{ }\DUrole{n}{compare\_function}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_ht_hashfunc_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ht\_hashfunc\_f}}}}\DUrole{w}{ }\DUrole{n}{hash\_function}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_ht_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_ht\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{free\_hash\_entry}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an initialized hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function returns a ready\sphinxhyphen{}to\sphinxhyphen{}use hash table with pre\sphinxhyphen{}allocated memory for a particular number of entries.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar

\sphinxAtStartPar
If all function pointers are \sphinxcode{\sphinxupquote{NULL}}, this function initializes the hash table with \sphinxstyleemphasis{default functions}, i.e.\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gac4ec0b8372d50d7347a63f140f340962}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_comp()}}}}} for the \sphinxcode{\sphinxupquote{compare\_function}},

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gad133721a3cd2f8ca259fe315d86035a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_hash\_func()}}}}} for the \sphinxcode{\sphinxupquote{hash\_function}}, and

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gabcdcd0d070b3dfd2634a09e7838acf66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_free\_entry()}}}}} for the \sphinxcode{\sphinxupquote{free\_hash\_entry}}

\end{itemize}


\sphinxAtStartPar
arguments. 

\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
If \sphinxcode{\sphinxupquote{hash\_bits}} is larger than 27 you have to compile it with the flag gcc \sphinxhyphen{}mcmodel=large.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} \textendash{} Number of bits for the hash table. This determines the size ( \(2^b -1\)). 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{compare\_function}} \textendash{} A function pointer to compare any two entries in the hash table (may be \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{hash\_function}} \textendash{} A function pointer to retrieve the hash value of any entry (may be \sphinxcode{\sphinxupquote{NULL}}) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{free\_hash\_entry}} \textendash{} A function pointer to free the memory occupied by any entry (may be \sphinxcode{\sphinxupquote{NULL}}) 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An initialized, empty hash table, or \sphinxcode{\sphinxupquote{NULL}} on any error 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_size (C function)@\spxentry{vrna\_ht\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga1d7a50bb20b32275e742ec575966412b}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_size}}}}
{{\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hash\_table\_t}}}}\DUrole{w}{ }\DUrole{n}{ht}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the size of the hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ht}} \textendash{} The hash table 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The size of the hash table, i.e. the maximum number of entries 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_collisions (C function)@\spxentry{vrna\_ht\_collisions}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_collisions}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga928e7a27a9d34d254ce3855f1ab1d190}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_collisions}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_hash\_table\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{ht}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the number of collisions in the hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ht}} \textendash{} The hash table 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of collisions in the hash table 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_get (C function)@\spxentry{vrna\_ht\_get}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_get}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gab26d769afd466d93e042fa9c29334edf}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_get}}}}
{{\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hash\_table\_t}}}}\DUrole{w}{ }\DUrole{n}{ht}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an element from the hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function takes an object \sphinxcode{\sphinxupquote{x}} and performs a look\sphinxhyphen{}up whether the object is stored within the hash table \sphinxcode{\sphinxupquote{ht}}. If the object is already stored in \sphinxcode{\sphinxupquote{ht}}, the function simply returns the entry, otherwise it returns \sphinxcode{\sphinxupquote{NULL}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga4d2189ce8048f031a15ca5e4b290d494}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_insert()}}}}}, vrna\_hash\_delete(), {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ht}} \textendash{} The hash table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The hash entry to look\sphinxhyphen{}up 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The entry \sphinxcode{\sphinxupquote{x}} if it is stored in \sphinxcode{\sphinxupquote{ht}}, \sphinxcode{\sphinxupquote{NULL}} otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_insert (C function)@\spxentry{vrna\_ht\_insert}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_insert}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga4d2189ce8048f031a15ca5e4b290d494}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_insert}}}}
{{\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hash\_table\_t}}}}\DUrole{w}{ }\DUrole{n}{ht}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Insert an object into a hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Writes the pointer to your hash entry into the table.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, vrna\_hash\_delete(), {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gab90583f8f7395e735c865ad2ebdb3c29}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_clear()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
In case of collisions, this function simply increments the hash key until a free entry in the hash table is found.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ht}} \textendash{} The hash table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The hash entry 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 on success, 1 if the value is already in the hash table, \sphinxhyphen{}1 on error. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_remove (C function)@\spxentry{vrna\_ht\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga1162aa0d1bd82af7420bb727a87d3e2f}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_remove}}}}
{{\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hash\_table\_t}}}}\DUrole{w}{ }\DUrole{n}{ht}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove an object from the hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Deletes the pointer to your hash entry from the table.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function doesn’t free any memory occupied by the hash entry.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ht}} \textendash{} The hash table 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} The hash entry 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_clear (C function)@\spxentry{vrna\_ht\_clear}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_clear}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gab90583f8f7395e735c865ad2ebdb3c29}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_clear}}}}
{{\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hash\_table\_t}}}}\DUrole{w}{ }\DUrole{n}{ht}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Clear the hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes all entries from the hash table and automatically free’s the memory occupied by each entry using the bound {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga306abe71fe6a6515b6f2eba5e27187ca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_free\_f()}}}}} function.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga479db024c70437aa2576d60b373c5262}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ht}} \textendash{} The hash table 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_free (C function)@\spxentry{vrna\_ht\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga479db024c70437aa2576d60b373c5262}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/hash_tables:c.vrna_hash_table_t}]{\sphinxcrossref{\DUrole{n}{vrna\_hash\_table\_t}}}}\DUrole{w}{ }\DUrole{n}{ht}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free all memory occupied by the hash table. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes all entries from the hash table by calling the {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1ga306abe71fe6a6515b6f2eba5e27187ca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_free\_f()}}}}} function for each entry. Finally, the memory occupied by the hash table itself is free’d as well.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ht}} \textendash{} The hash table 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Dot\sphinxhyphen{}Bracket / Free Energy entries}
\index{vrna\_ht\_db\_comp (C function)@\spxentry{vrna\_ht\_db\_comp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_db_comp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gac4ec0b8372d50d7347a63f140f340962}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_db\_comp}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{y}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default hash table entry comparison. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the default comparison function for hash table entries. It assumes the both entries \sphinxcode{\sphinxupquote{x}} and \sphinxcode{\sphinxupquote{y}} are of type {\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}} and compares the \sphinxcode{\sphinxupquote{structure}} attribute of both entries

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gad133721a3cd2f8ca259fe315d86035a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_hash\_func()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gabcdcd0d070b3dfd2634a09e7838acf66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_free\_entry()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} A hash table entry of type {\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} \textendash{} A hash table entry of type {\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
\sphinxhyphen{}1 if x is smaller, +1 if x is larger than y. 0 if both are equal. 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_db\_hash\_func (C function)@\spxentry{vrna\_ht\_db\_hash\_func}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_db_hash_func}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gad133721a3cd2f8ca259fe315d86035a7}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_db\_hash\_func}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{x}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{long}\DUrole{w}{ }\DUrole{n}{hashtable\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default hash function. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the default hash function for hash table insertion/lookup. It assumes that entries are of type {\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}} and uses the Bob Jenkins 1996 mix function to create a hash key from the \sphinxcode{\sphinxupquote{structure}} attribute of the hash entry.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gac4ec0b8372d50d7347a63f140f340962}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_comp()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gabcdcd0d070b3dfd2634a09e7838acf66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_free\_entry()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} \textendash{} A hash table entry to compute the key for 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{hashtable\_size}} \textendash{} The size of the hash table 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The hash key for entry \sphinxcode{\sphinxupquote{x}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ht\_db\_free\_entry (C function)@\spxentry{vrna\_ht\_db\_free\_entry}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_db_free_entry}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gabcdcd0d070b3dfd2634a09e7838acf66}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_db\_free\_entry}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{hash\_entry}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default function to free memory occupied by a hash entry. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function assumes that hash entries are of type {\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}} and free’s the memory occupied by that entry.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_entry\_db\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gac4ec0b8372d50d7347a63f140f340962}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_comp()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gad133721a3cd2f8ca259fe315d86035a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_hash\_func()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{hash\_entry}} \textendash{} The hash entry to remove from memory 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 on success 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_ht\_entry\_db\_t (C struct)@\spxentry{vrna\_ht\_entry\_db\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_entry_db_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ht\_entry\_db\_t}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/hash\_tables.h\textgreater{}}
\sphinxAtStartPar
Default hash table entry. 

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gaa15b43574b54d1e8d4309b18c29834d6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gac4ec0b8372d50d7347a63f140f340962}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_comp()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gad133721a3cd2f8ca259fe315d86035a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_hash\_func()}}}}}, {\hyperref[\detokenize{utils/datastructures/hash_tables:group__hash__table__utils_1gabcdcd0d070b3dfd2634a09e7838acf66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ht\_db\_free\_entry()}}}}}


\end{sphinxseealso}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_ht\_entry\_db\_t.structure (C var)@\spxentry{vrna\_ht\_entry\_db\_t.structure}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_entry_db_t.structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t_1a094ce43244eced065ea0e5fa50287a25}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{structure}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
A secondary structure in dot\sphinxhyphen{}bracket notation 

\end{fulllineitems}

\index{vrna\_ht\_entry\_db\_t.energy (C var)@\spxentry{vrna\_ht\_entry\_db\_t.energy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/hash_tables:c.vrna_ht_entry_db_t.energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/hash_tables:structvrna__ht__entry__db__t_1afffab6040a5cfc3ac465d94d8538d88a}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/hash\PYGZus{}tables.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The free energy of \sphinxcode{\sphinxupquote{structure}}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Heaps}
\label{\detokenize{utils/datastructures/heaps:heaps}}\label{\detokenize{utils/datastructures/heaps::doc}}
\sphinxAtStartPar
Interface for an abstract implementation of a heap data structure.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_heap\_t (C type)@\spxentry{vrna\_heap\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga341ea87a651145b986792f6eb3e679c3}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_heap\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An abstract heap data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga91cf0042c894de44c4eb7b47707260a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_insert()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga42cc55c50cff314b8ea91a6d98314aea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_pop()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f436eb3365af1a0a17fc764b44c92b8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_top()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_remove()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7a924ee5b2c2af93cf80b6e1b1f8b830}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_update()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_heap\_cmp\_f (C type)@\spxentry{vrna\_heap\_cmp\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_cmp_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7e091ad5eab4e27f7dc47a2c122afea9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_cmp\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{a}\DUrole{p}{,}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{b}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Heap compare function prototype. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use this prototype to design the compare function for the heap implementation. The arbitrary data pointer \sphinxcode{\sphinxupquote{data}} may be used to get access to further information required to actually compare the two values \sphinxcode{\sphinxupquote{a}} and \sphinxcode{\sphinxupquote{b}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The heap implementation acts as a \sphinxstyleemphasis{min\sphinxhyphen{}heap}, therefore, the minimum element will be present at the heap’s root. In case a \sphinxstyleemphasis{max\sphinxhyphen{}heap} is required, simply reverse the logic of this compare function.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Param a}
\sphinxAtStartPar
The first object to compare 

\sphinxlineitem{Param b}
\sphinxAtStartPar
The second object to compare 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary data pointer passed through from the heap implementation 

\sphinxlineitem{Return}
\sphinxAtStartPar
A value less than zero if \sphinxcode{\sphinxupquote{a}} \textless{} \sphinxcode{\sphinxupquote{b}}, a value greater than zero if \sphinxcode{\sphinxupquote{a}} \textgreater{} \sphinxcode{\sphinxupquote{b}}, and 0 otherwise 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_heap\_cmp (C type)@\spxentry{vrna\_callback\_heap\_cmp}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_callback_heap_cmp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga9d757bbb2fe9c58017b27ba6eb81be86}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_heap\_cmp}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{a}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{b}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_heap\_get\_pos\_f (C type)@\spxentry{vrna\_heap\_get\_pos\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_get_pos_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f39bc991252c2d250d30547b909ef19}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_get\_pos\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{a}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve the position of a particular heap entry within the heap. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Param a}
\sphinxAtStartPar
The object to look\sphinxhyphen{}up within the heap 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary data pointer passed through from the heap implementation 

\sphinxlineitem{Return}
\sphinxAtStartPar
The position of the element \sphinxcode{\sphinxupquote{a}} within the heap, or 0 if it is not in the heap 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_heap\_get\_pos (C type)@\spxentry{vrna\_callback\_heap\_get\_pos}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_callback_heap_get_pos}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga4d1033a7aaea416dd7dce1d20197b8c1}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_heap\_get\_pos}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{a}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_heap\_set\_pos\_f (C type)@\spxentry{vrna\_heap\_set\_pos\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_set_pos_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga399faec12dbb22acea63af8dbce91345}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_set\_pos\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{a}\DUrole{p}{,}\DUrole{w}{ }\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{pos}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Store the position of a particular heap entry within the heap. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Param a}
\sphinxAtStartPar
The object whose position shall be stored 

\sphinxlineitem{Param pos}
\sphinxAtStartPar
The current position of \sphinxcode{\sphinxupquote{a}} within the heap, or 0 if a was deleted 

\sphinxlineitem{Param data}
\sphinxAtStartPar
An arbitrary data pointer passed through from the heap implementation 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_heap\_set\_pos (C type)@\spxentry{vrna\_callback\_heap\_set\_pos}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_callback_heap_set_pos}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1gaabcb3686d0b3ab4d9f165b023750625b}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_heap\_set\_pos}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{a}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{pos}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_heap\_init (C function)@\spxentry{vrna\_heap\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}}{\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_init}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{n}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_cmp_f}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_cmp\_f}}}}\DUrole{w}{ }\DUrole{n}{cmp}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_get_pos_f}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_get\_pos\_f}}}}\DUrole{w}{ }\DUrole{n}{get\_entry\_pos}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_set_pos_f}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_set\_pos\_f}}}}\DUrole{w}{ }\DUrole{n}{set\_entry\_pos}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Initialize a heap data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function initializes a heap data structure. The implementation is based on a \sphinxstyleemphasis{min\sphinxhyphen{}heap}, i.e. the minimal element is located at the root of the heap. However, by reversing the logic of the compare function, one can easily transform this into a \sphinxstyleemphasis{max\sphinxhyphen{}heap} implementation.

\sphinxAtStartPar
Beside the regular operations on a heap data structure, we implement removal and update of arbitrary elements within the heap. For that purpose, however, one requires a reverse\sphinxhyphen{}index lookup system that, (i) for a given element stores the current position in the heap, and (ii) allows for fast lookup of an elements current position within the heap. The corresponding getter\sphinxhyphen{} and setter\sphinxhyphen{} functions may be provided through the arguments \sphinxcode{\sphinxupquote{get\_entry\_pos}} and \sphinxcode{\sphinxupquote{set\_entry\_pos}}, respectively.

\sphinxAtStartPar
Sometimes, it is difficult to simply compare two data structures without any context. Therefore, the compare function is provided with a user\sphinxhyphen{}defined data pointer that can hold any context required.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga91cf0042c894de44c4eb7b47707260a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_insert()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga42cc55c50cff314b8ea91a6d98314aea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_pop()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f436eb3365af1a0a17fc764b44c92b8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_top()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_remove()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7a924ee5b2c2af93cf80b6e1b1f8b830}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_update()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga341ea87a651145b986792f6eb3e679c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_t}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7e091ad5eab4e27f7dc47a2c122afea9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_cmp\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f39bc991252c2d250d30547b909ef19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_get\_pos\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga399faec12dbb22acea63af8dbce91345}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_set\_pos\_f}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
If any of the arguments \sphinxcode{\sphinxupquote{get\_entry\_pos}} or \sphinxcode{\sphinxupquote{set\_entry\_pos}} is NULL, the operations {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7a924ee5b2c2af93cf80b6e1b1f8b830}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_update()}}}}} and {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_remove()}}}}} won’t work.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The initial size of the heap, i.e. the number of elements to store 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cmp}} \textendash{} The address of a compare function that will be used to fullfill the partial order requirement 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{get\_entry\_pos}} \textendash{} The address of a function that retrieves the position of an element within the heap (or NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{set\_entry\_pos}} \textendash{} The address of a function that stores the position of an element within the heap (or NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} An arbitrary data pointer passed through to the compare function \sphinxcode{\sphinxupquote{cmp}}, and the set/get functions \sphinxcode{\sphinxupquote{get\_entry\_pos}} / \sphinxcode{\sphinxupquote{set\_entry\_pos}}

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An initialized heap data structure, or NULL on error 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heap\_free (C function)@\spxentry{vrna\_heap\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_t}}}}\DUrole{w}{ }\DUrole{n}{h}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by a heap data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_init()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{h}} \textendash{} The heap that should be free’d 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heap\_size (C function)@\spxentry{vrna\_heap\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga5d84774d7d7f000ab05724d54984c2ed}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_size}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_heap\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{h}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the size of a heap data structure, i.e. the number of stored elements. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{h}} \textendash{} The heap data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of elements currently stored in the heap, or 0 upon any error 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heap\_insert (C function)@\spxentry{vrna\_heap\_insert}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_insert}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga91cf0042c894de44c4eb7b47707260a8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_insert}}}}
{{\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_t}}}}\DUrole{w}{ }\DUrole{n}{h}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{v}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Insert an element into the heap. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga42cc55c50cff314b8ea91a6d98314aea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_pop()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f436eb3365af1a0a17fc764b44c92b8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_top()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_remove()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7a924ee5b2c2af93cf80b6e1b1f8b830}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_update()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{h}} \textendash{} The heap data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{v}} \textendash{} A pointer to the object that is about to be inserted into the heap 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heap\_pop (C function)@\spxentry{vrna\_heap\_pop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_pop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga42cc55c50cff314b8ea91a6d98314aea}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_pop}}}}
{{\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_t}}}}\DUrole{w}{ }\DUrole{n}{h}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pop (remove and return) the object at the root of the heap. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes the root from the heap and returns it to the caller.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f436eb3365af1a0a17fc764b44c92b8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_top()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga91cf0042c894de44c4eb7b47707260a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_insert()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_free()}}}}} {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_remove()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7a924ee5b2c2af93cf80b6e1b1f8b830}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_update()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{h}} \textendash{} The heap data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The object at the root of the heap, i.e. the minimal element (or NULL if (a) the heap is empty or (b) any error occurred) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heap\_top (C function)@\spxentry{vrna\_heap\_top}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_top}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f436eb3365af1a0a17fc764b44c92b8}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_top}}}}
{{\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_t}}}}\DUrole{w}{ }\DUrole{n}{h}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the object at the root of the heap. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga42cc55c50cff314b8ea91a6d98314aea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_pop()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga91cf0042c894de44c4eb7b47707260a8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_insert()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_free()}}}}} {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_remove()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7a924ee5b2c2af93cf80b6e1b1f8b830}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_update()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{h}} \textendash{} The heap data structure 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The object at the root of the heap, i.e. the minimal element (or NULL if (a) the heap is empty or (b) any error occurred) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heap\_remove (C function)@\spxentry{vrna\_heap\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_remove}}}}
{{\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_t}}}}\DUrole{w}{ }\DUrole{n}{h}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{v}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove an arbitrary element within the heap. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f39bc991252c2d250d30547b909ef19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_get\_pos\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga399faec12dbb22acea63af8dbce91345}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_set\_pos\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga42cc55c50cff314b8ea91a6d98314aea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_pop()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_free()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function won’t work if the heap was not properly initialized with callback functions for fast reverse\sphinxhyphen{}index mapping!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{h}} \textendash{} The heap data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{v}} \textendash{} The object to remove from the heap 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The object that was removed from the heap (or NULL if (a) it wasn’t found or (b) any error occurred) 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_heap\_update (C function)@\spxentry{vrna\_heap\_update}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/heaps:c.vrna_heap_update}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/heaps:group__heap__utils_1ga7a924ee5b2c2af93cf80b6e1b1f8b830}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_heap\_update}}}}
{{\hyperref[\detokenize{utils/datastructures/heaps:c.vrna_heap_t}]{\sphinxcrossref{\DUrole{n}{vrna\_heap\_t}}}}\DUrole{w}{ }\DUrole{n}{h}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{v}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Update an arbitrary element within the heap. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/heap.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga1fdc31a1d0e15bcbf2a9122983bee001}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2f39bc991252c2d250d30547b909ef19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_get\_pos\_f}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga399faec12dbb22acea63af8dbce91345}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_set\_pos\_f}}}}} {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga42cc55c50cff314b8ea91a6d98314aea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_pop()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1gabd08ad0cb1b5e2781bc9c2eb6e355b41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_remove()}}}}}, {\hyperref[\detokenize{utils/datastructures/heaps:group__heap__utils_1ga2a4915c6e66b8831644857df0715c3ce}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heap\_free()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If the object that is to be updated is not currently stored in the heap, it will be inserted. In this case, the function returns NULL.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function won’t work if the heap was not properly initialized with callback functions for fast reverse\sphinxhyphen{}index mapping!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{h}} \textendash{} The heap data structure 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{v}} \textendash{} The object to update 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ‘previous’ object within the heap that now got replaced by \sphinxcode{\sphinxupquote{v}} (or NULL if (a) it wasn’t found or (b) any error occurred) 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsubsection{Arrays}
\label{\detokenize{utils/datastructures/arrays:arrays}}\label{\detokenize{utils/datastructures/arrays::doc}}
\sphinxAtStartPar
Interface for an abstract implementation of an array data structure.

\sphinxAtStartPar
Arrays of a particular \sphinxcode{\sphinxupquote{Type}} are defined and initialized using the following code:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}array}\PYG{p}{(}\PYG{n}{Type}\PYG{p}{)}\PYG{+w}{  }\PYG{n}{my\PYGZus{}array}\PYG{p}{;}
\PYG{n}{vrna\PYGZus{}array\PYGZus{}init}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
or equivalently:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}array\PYGZus{}make}\PYG{p}{(}\PYG{n}{Type}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{my\PYGZus{}array}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
Dynamic arrays can be used like regular pointers, i.e. elements are simply
addressed using the \sphinxcode{\sphinxupquote{{[}{]}}} operator, e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{my\PYGZus{}array}\PYG{p}{[}\PYG{l+m+mi}{1}\PYG{p}{]}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{42}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
Using the {\hyperref[\detokenize{utils/datastructures/arrays:c.vrna_array_append}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_array\_append}}}}} macro, items can be safely appended and the
array will grow accordingly if required:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}array\PYGZus{}append}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{item}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
Finally, memory occupied by an array must be released using the {\hyperref[\detokenize{utils/datastructures/arrays:c.vrna_array_free}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_array\_free}}}}}
macro:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{vrna\PYGZus{}array\PYGZus{}free}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
Use the {\hyperref[\detokenize{utils/datastructures/arrays:c.vrna_array_size}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_array\_size}}}}} macro to get the number of items stored in an array,
e.g. for looping over its elements:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+c1}{// define and initialize}
\PYG{n}{vrna\PYGZus{}array\PYGZus{}make}\PYG{p}{(}\PYG{k+kt}{int}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{my\PYGZus{}array}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// append some items}
\PYG{n}{vrna\PYGZus{}array\PYGZus{}append}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{,}\PYG{+w}{ }\PYG{l+m+mi}{42}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{vrna\PYGZus{}array\PYGZus{}append}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{,}\PYG{+w}{ }\PYG{l+m+mi}{23}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{vrna\PYGZus{}array\PYGZus{}append}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{,}\PYG{+w}{ }\PYG{l+m+mi}{5}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// loop over items and print}
\PYG{k}{for}\PYG{+w}{ }\PYG{p}{(}\PYG{k+kt}{size\PYGZus{}t}\PYG{+w}{ }\PYG{n}{i}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+m+mi}{0}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{i}\PYG{+w}{ }\PYG{o}{\PYGZlt{}}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}array\PYGZus{}size}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{)}\PYG{p}{;}\PYG{+w}{ }\PYG{n}{i}\PYG{o}{+}\PYG{o}{+}\PYG{p}{)}
\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}d}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{my\PYGZus{}array}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{p}{)}\PYG{p}{;}

\PYG{c+c1}{// release memory of the array}
\PYG{n}{vrna\PYGZus{}array\PYGZus{}free}\PYG{p}{(}\PYG{n}{my\PYGZus{}array}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
Under the hood, arrays are preceded by a header that actually stores the
number of items they contain and the capacity of elements they are able
to store.  The general ideas for this implementation are taken from
\sphinxhref{https://github.com/gingerBill/gb}{Ginger Bill’s C Helper Library} (public domain).


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{vrna\_array (C macro)@\spxentry{vrna\_array}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1ga97302e41c5c33faae998eb956c8f1f91}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array}}}}
{\DUrole{n}{Type}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Define an array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_make (C macro)@\spxentry{vrna\_array\_make}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_make}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1ga163bb41feb9b5e3a3a64272c29aff02e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_make}}}}
{\DUrole{n}{Type}\sphinxparamcomma \DUrole{n}{Name}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Make an array \sphinxcode{\sphinxupquote{Name}} of type \sphinxcode{\sphinxupquote{Type}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_ARRAY\_GROW\_FORMULA (C macro)@\spxentry{VRNA\_ARRAY\_GROW\_FORMULA}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.VRNA_ARRAY_GROW_FORMULA}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1ga8b6225c59d71c3e7db577c64144a8c33}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ARRAY\_GROW\_FORMULA}}}}
{\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The default growth formula for array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_ARRAY\_HEADER (C macro)@\spxentry{VRNA\_ARRAY\_HEADER}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.VRNA_ARRAY_HEADER}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1gaad964f70514d8ff3a8c1ebab4ffca148}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_ARRAY\_HEADER}}}}
{\DUrole{n}{input}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve a pointer to the header of an array \sphinxcode{\sphinxupquote{input}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_size (C macro)@\spxentry{vrna\_array\_size}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1ga19c467225b21d15618d8b2d436f88572}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_size}}}}
{\DUrole{n}{input}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the number of elements of an array \sphinxcode{\sphinxupquote{input}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_capacity (C macro)@\spxentry{vrna\_array\_capacity}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_capacity}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1gac41fc88614162b63643bcd0b6cf59eda}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_capacity}}}}
{\DUrole{n}{input}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the size of an array \sphinxcode{\sphinxupquote{input}}, i.e. its actual capacity. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_set\_capacity (C macro)@\spxentry{vrna\_array\_set\_capacity}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_set_capacity}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1gae10b43a9d87c9dbc32674b3d89a28580}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_set\_capacity}}}}
{\DUrole{n}{a}\sphinxparamcomma \DUrole{n}{capacity}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Explicitely set the capacity of an array \sphinxcode{\sphinxupquote{a}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_init\_size (C macro)@\spxentry{vrna\_array\_init\_size}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_init_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1ga6dc975fd556e2bb40d7ca420b3288249}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_init\_size}}}}
{\DUrole{n}{a}\sphinxparamcomma \DUrole{n}{init\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Initialize an array \sphinxcode{\sphinxupquote{a}} with a particular pre\sphinxhyphen{}allocated size \sphinxcode{\sphinxupquote{init\_size}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_init (C macro)@\spxentry{vrna\_array\_init}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1gae89f7b8409aea39fa43c95cb9f9fbffe}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_init}}}}
{\DUrole{n}{a}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Initialize an array \sphinxcode{\sphinxupquote{a}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_free (C macro)@\spxentry{vrna\_array\_free}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1gac6464c225211e87eafb15f39f224cc99}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_free}}}}
{\DUrole{n}{a}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Release memory of an array \sphinxcode{\sphinxupquote{a}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_append (C macro)@\spxentry{vrna\_array\_append}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_append}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1ga6fb843579e27a1c998d3f4eda8873099}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_append}}}}
{\DUrole{n}{a}\sphinxparamcomma \DUrole{n}{item}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Safely append an item to an array \sphinxcode{\sphinxupquote{a}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_grow (C macro)@\spxentry{vrna\_array\_grow}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_grow}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1ga280582bd20255a079653906546ba8ac2}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_grow}}}}
{\DUrole{n}{a}\sphinxparamcomma \DUrole{n}{min\_capacity}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Grow an array \sphinxcode{\sphinxupquote{a}} to provide a minimum capacity \sphinxcode{\sphinxupquote{min\_capacity}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_array\_header\_t (C type)@\spxentry{vrna\_array\_header\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_header_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1gae5058b15eb7d97c5a5aadda15957c3c5}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/arrays:c.vrna_array_header_s}]{\sphinxcrossref{\DUrole{n}{vrna\_array\_header\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_header\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The header of an array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_\_array\_set\_capacity (C function)@\spxentry{vrna\_\_array\_set\_capacity}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna__array_set_capacity}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/arrays:group__array__utils_1gac476667891b09a95b8b43ef73657c8ae}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_\_array\_set\_capacity}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{array}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{capacity}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{element\_size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Explicitely set the capacity of an array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not use this function. Rather resort to the {\hyperref[\detokenize{utils/datastructures/arrays:group__array__utils_1gae10b43a9d87c9dbc32674b3d89a28580}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_array\_set\_capacity}}}}} macro 
\end{sphinxadmonition}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_array\_header\_s (C struct)@\spxentry{vrna\_array\_header\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_header_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/arrays:structvrna__array__header__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_array\_header\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/array.h\textgreater{}}
\sphinxAtStartPar
The header of an array. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_array\_header\_s.num (C var)@\spxentry{vrna\_array\_header\_s.num}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_header_s.num}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/arrays:structvrna__array__header__s_1a0dedd91d1cee78a7298f30da37117036}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{num}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The number of elements in an array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_array\_header\_s.size (C var)@\spxentry{vrna\_array\_header\_s.size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/arrays:c.vrna_array_header_s.size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/arrays:structvrna__array__header__s_1a1cce2f7b1524bf509eeedb6feef73dbc}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{size}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The actual capacity of an array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/array.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Strings}
\label{\detokenize{utils/datastructures/strings:strings}}\label{\detokenize{utils/datastructures/strings::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_STRING\_HEADER (C macro)@\spxentry{VRNA\_STRING\_HEADER}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.VRNA_STRING_HEADER}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1ga1456fceddd16a68837c0f669101c7567}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_STRING\_HEADER}}}}
{\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_string\_t (C type)@\spxentry{vrna\_string\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1gab1bbbae54050e1185ab3e6878c576c69}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_header\_t (C type)@\spxentry{vrna\_string\_header\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_header_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1ga3ac5bc0fda4678d5ae7e72234327a14d}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_header_s}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_header\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_header\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The header of an array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_string\_make (C function)@\spxentry{vrna\_string\_make}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_make}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1gacf2793b70387680d0cf91f7cb13b6969}}{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_make}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{str}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_free (C function)@\spxentry{vrna\_string\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1ga5a533c1c6bdde82e6ab39740aa784a82}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{n}{str}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_length (C function)@\spxentry{vrna\_string\_length}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_length}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1ga94252344d4fd3196ce2a04bb363b6040}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_length}}}}
{{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{n}{str}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_size (C function)@\spxentry{vrna\_string\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1ga37075d2a35421533766d58deec06dd6b}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_size}}}}
{{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{n}{str}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_append (C function)@\spxentry{vrna\_string\_append}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_append}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1gaaa51605c41bc345c48c95361297a923d}}{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_append}}}}
{{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{n}{str}\sphinxparamcomma {\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{n}{other}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_append\_cstring (C function)@\spxentry{vrna\_string\_append\_cstring}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_append_cstring}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1ga815c1b00eba57d93538e1417cddf770e}}{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_append\_cstring}}}}
{{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{n}{str}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{other}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_make\_space\_for (C function)@\spxentry{vrna\_string\_make\_space\_for}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_make_space_for}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1ga27f6175592ddc29e7fff85190a587425}}{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_make\_space\_for}}}}
{{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{n}{str}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{add\_len}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_available\_space (C function)@\spxentry{vrna\_string\_available\_space}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_available_space}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/strings:group__strings_1gaafbf62a855ad60a38812a7405eb710ff}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_available\_space}}}}
{{\hyperref[\detokenize{utils/datastructures/strings:c.vrna_string_t}]{\sphinxcrossref{\DUrole{n}{vrna\_string\_t}}}}\DUrole{w}{ }\DUrole{k}{const}\DUrole{w}{ }\DUrole{n}{str}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_string\_header\_s (C struct)@\spxentry{vrna\_string\_header\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_header_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:structvrna__string__header__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_string\_header\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/string.h\textgreater{}}
\sphinxAtStartPar
The header of an array. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_string\_header\_s.len (C var)@\spxentry{vrna\_string\_header\_s.len}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_header_s.len}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:structvrna__string__header__s_1aa71536dc4f6f3e2a384e23654908eb95}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{len}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The length of the string. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_header\_s.size (C var)@\spxentry{vrna\_string\_header\_s.size}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_header_s.size}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:structvrna__string__header__s_1a5a5fa7bff5fb875cf80a633068fec2a4}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{size}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The actual capacity of an array. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_header\_s.shift\_post (C var)@\spxentry{vrna\_string\_header\_s.shift\_post}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_header_s.shift_post}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:structvrna__string__header__s_1aa7f4463c660a9cd0376981281896c434}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{shift\_post}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_string\_header\_s.backup (C var)@\spxentry{vrna\_string\_header\_s.backup}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/strings:c.vrna_string_header_s.backup}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/strings:structvrna__string__header__s_1acd6dcb617a20ee6a0bef3906955aee21}}\DUrole{kt}{char}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{backup}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/string.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsubsection{Buffers}
\label{\detokenize{utils/datastructures/buffers:buffers}}\label{\detokenize{utils/datastructures/buffers::doc}}
\sphinxAtStartPar
Functions that provide dynamically buffered stream\sphinxhyphen{}like data structures.


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_cstr\_t (C type)@\spxentry{vrna\_cstr\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga445bbbcfca238a956bbc11862892adc8}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ostream\_t (C type)@\spxentry{vrna\_ostream\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_ostream_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga8da189552af21ab6e4e88bdcc240870c}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_ordered\_stream\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ostream\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
An ordered output stream structure with unordered insert capabilities. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_stream\_output\_f (C type)@\spxentry{vrna\_stream\_output\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_stream_output_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga587647e75f26bdf830b4a5f291e5fdc2}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_stream\_output\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{auxdata}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Ordered stream processing callback. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This callback will be processed in sequential order as soon as sequential data in the output stream becomes available.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The callback must also release the memory occupied by the data passed since the stream will lose any reference to it after the callback has been executed.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Param auxdata}
\sphinxAtStartPar
A shared pointer for all calls, as provided by the second argument to {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga64421b7126cc1b17a472e6f5e878ba9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_init()}}}}}

\sphinxlineitem{Param i}
\sphinxAtStartPar
The index number of the data passed to \sphinxcode{\sphinxupquote{data}}

\sphinxlineitem{Param data}
\sphinxAtStartPar
A block of data ready for processing 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_callback\_stream\_output (C type)@\spxentry{vrna\_callback\_stream\_output}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_callback_stream_output}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaba9820b61a72583ca553497e2d122885}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_callback\_stream\_output}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{auxdata}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_cstr (C function)@\spxentry{vrna\_cstr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gadb2818f368e10a3b60a96bb3c80228d2}}{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{size}\sphinxparamcomma \DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{output}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Create a dynamic char * stream data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga7ec48ec280f699928c70428cc245dc77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga5a3f6a0a73b3d2d38fe011cdaed0ad28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_close()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gab59ad4781f7de960bdd1af5b1965c94b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_fflush()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gacf6e3934e61bea12bdc38a8f97b0c75d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_discard()}}}}}, vrna\_cstr\_printf()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The initial size of the buffer in characters 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{output}} \textendash{} An optional output file stream handle that is used to write the collected data to (defaults to \sphinxstyleemphasis{stdout} if \sphinxstyleemphasis{NULL}) 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cstr\_discard (C function)@\spxentry{vrna\_cstr\_discard}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_discard}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gacf6e3934e61bea12bdc38a8f97b0c75d}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_discard}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Discard the current content of the dynamic char * stream data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga7ec48ec280f699928c70428cc245dc77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga5a3f6a0a73b3d2d38fe011cdaed0ad28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_close()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gab59ad4781f7de960bdd1af5b1965c94b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_fflush()}}}}}, vrna\_cstr\_printf()


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{buf}} \textendash{} The dynamic char * stream data structure to free 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cstr\_free (C function)@\spxentry{vrna\_cstr\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga7ec48ec280f699928c70428cc245dc77}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free the memory occupied by a dynamic char * stream data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function first flushes any remaining character data within the stream and then free’s the memory occupied by the data structure.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga5a3f6a0a73b3d2d38fe011cdaed0ad28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_close()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gab59ad4781f7de960bdd1af5b1965c94b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_fflush()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gadb2818f368e10a3b60a96bb3c80228d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{buf}} \textendash{} The dynamic char * stream data structure to free 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cstr\_close (C function)@\spxentry{vrna\_cstr\_close}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_close}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga5a3f6a0a73b3d2d38fe011cdaed0ad28}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_close}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free the memory occupied by a dynamic char * stream and close the output stream. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function first flushes any remaining character data within the stream then closes the attached output file stream (if any), and finally free’s the memory occupied by the data structure.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga7ec48ec280f699928c70428cc245dc77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gab59ad4781f7de960bdd1af5b1965c94b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_fflush()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gadb2818f368e10a3b60a96bb3c80228d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{buf}} \textendash{} The dynamic char * stream data structure to free 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cstr\_fflush (C function)@\spxentry{vrna\_cstr\_fflush}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_fflush}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gab59ad4781f7de960bdd1af5b1965c94b}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_fflush}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Flush the dynamic char * output stream. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function flushes the collected char * stream, either by writing to the attached file handle, or simply by writing to \sphinxstyleemphasis{stdout} if no file handle has been attached upon construction using {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gadb2818f368e10a3b60a96bb3c80228d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr()}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gadb2818f368e10a3b60a96bb3c80228d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga5a3f6a0a73b3d2d38fe011cdaed0ad28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_close()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga7ec48ec280f699928c70428cc245dc77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cstr\_free()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{buf}} \textendash{} The dynamic char * stream data structure to flush 

\end{itemize}

\sphinxlineitem{Post}
\sphinxAtStartPar
The stream buffer is empty after execution of this function

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_cstr\_string (C function)@\spxentry{vrna\_cstr\_string}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga2da94823776195dd1d7ba21ef1d07ca6}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_string}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_vprintf (C function)@\spxentry{vrna\_cstr\_vprintf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_vprintf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga35fdc69cf004aa57784f1764a31b20a6}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_vprintf}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_printf (C function)@\spxentry{vrna\_cstr\_printf}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_printf}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga3c7eaa46b1e74c4641e4fa5927079462}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_printf}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_message\_info (C function)@\spxentry{vrna\_cstr\_message\_info}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_message_info}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaa0da077cf03f29808229ab8c0e1e63eb}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_message\_info}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_message\_vinfo (C function)@\spxentry{vrna\_cstr\_message\_vinfo}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_message_vinfo}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga791a25424f0bc9769ec16a22794c7137}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_message\_vinfo}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_message\_warning (C function)@\spxentry{vrna\_cstr\_message\_warning}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_message_warning}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gab6bfc368a0647080c602c1f00ab39cc7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_message\_warning}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_message\_vwarning (C function)@\spxentry{vrna\_cstr\_message\_vwarning}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_message_vwarning}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga8a901b135bd17f1485f35f508161bf3d}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_message\_vwarning}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_fasta\_header (C function)@\spxentry{vrna\_cstr\_print\_fasta\_header}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_fasta_header}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga0a320b027c942dc85c508788272dd861}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_fasta\_header}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_cstr_t}]{\sphinxcrossref{\DUrole{n}{vrna\_cstr\_t}}}}\DUrole{w}{ }\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{head}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_printf\_structure (C function)@\spxentry{vrna\_cstr\_printf\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_printf_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga29af50810807da04d6a244f8801728f9}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_printf\_structure}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_vprintf\_structure (C function)@\spxentry{vrna\_cstr\_vprintf\_structure}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_vprintf_structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gad4cd97b8943fdb83652cb6b46d91bb44}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_vprintf\_structure}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{structure}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_printf\_comment (C function)@\spxentry{vrna\_cstr\_printf\_comment}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_printf_comment}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga31409fdd5c038ee488bdf1ffcc630253}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_printf\_comment}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_vprintf\_comment (C function)@\spxentry{vrna\_cstr\_vprintf\_comment}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_vprintf_comment}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga9824160bbe620784fcca5f10c4ff247c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_vprintf\_comment}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_printf\_thead (C function)@\spxentry{vrna\_cstr\_printf\_thead}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_printf_thead}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gae5e551ba77b488a728d7e1700ecb0df8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_printf\_thead}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_vprintf\_thead (C function)@\spxentry{vrna\_cstr\_vprintf\_thead}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_vprintf_thead}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga6455c968e6190156267d5afdb8f211a0}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_vprintf\_thead}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_printf\_tbody (C function)@\spxentry{vrna\_cstr\_printf\_tbody}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_printf_tbody}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga525e2673039eb2967cfcb118281ece3c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_printf\_tbody}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_vprintf\_tbody (C function)@\spxentry{vrna\_cstr\_vprintf\_tbody}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_vprintf_tbody}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gab10cb243cdf925c41d6d84a5a1df9760}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_vprintf\_tbody}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_sd\_corr (C function)@\spxentry{vrna\_cstr\_print\_eval\_sd\_corr}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_sd_corr}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gac98b1980d652521c5a9ac27aa346ee75}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_sd\_corr}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_ext\_loop (C function)@\spxentry{vrna\_cstr\_print\_eval\_ext\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_ext_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga505ecc6943085cd1cc6fd341d1e348a1}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_ext\_loop}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_ext\_loop\_revert (C function)@\spxentry{vrna\_cstr\_print\_eval\_ext\_loop\_revert}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_ext_loop_revert}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gae1a01106ea5e924c396e6fd288e73cf7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_ext\_loop\_revert}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_hp\_loop (C function)@\spxentry{vrna\_cstr\_print\_eval\_hp\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_hp_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gae2c1ac264f384409aa1139a51babc748}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_hp\_loop}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_hp\_loop\_revert (C function)@\spxentry{vrna\_cstr\_print\_eval\_hp\_loop\_revert}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_hp_loop_revert}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaa522278605adb1ad42bae9d62a09e988}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_hp\_loop\_revert}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_int\_loop (C function)@\spxentry{vrna\_cstr\_print\_eval\_int\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_int_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga55d54d7101aa074ca3378ae04e81d694}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_int\_loop}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sk}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sl}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_int\_loop\_revert (C function)@\spxentry{vrna\_cstr\_print\_eval\_int\_loop\_revert}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_int_loop_revert}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gabb06b1803686adfa47bf071d519ecbc2}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_int\_loop\_revert}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{k}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sk}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sl}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_mb\_loop (C function)@\spxentry{vrna\_cstr\_print\_eval\_mb\_loop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_mb_loop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga505f808eec6da7d3f710701d4b0b6643}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_mb\_loop}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_mb\_loop\_revert (C function)@\spxentry{vrna\_cstr\_print\_eval\_mb\_loop\_revert}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_mb_loop_revert}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gae4a4bd3b6c54d4d859bbe85ad7b2d7ec}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_mb\_loop\_revert}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{si}\sphinxparamcomma \DUrole{kt}{char}\DUrole{w}{ }\DUrole{n}{sj}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cstr\_print\_eval\_gquad (C function)@\spxentry{vrna\_cstr\_print\_eval\_gquad}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_cstr_print_eval_gquad}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gafbca7eb221efd40651e6d749edd5665c}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cstr\_print\_eval\_gquad}}}}
{\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cstr\_s}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{buf}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{j}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{L}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{l}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/char\PYGZus{}stream.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ostream\_init (C function)@\spxentry{vrna\_ostream\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_ostream_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga64421b7126cc1b17a472e6f5e878ba9a}}{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_ostream_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ostream\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ostream\_init}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_stream_output_f}]{\sphinxcrossref{\DUrole{n}{vrna\_stream\_output\_f}}}}\DUrole{w}{ }\DUrole{n}{output}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{auxdata}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an initialized ordered output stream. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaf813ec90e1446ba82c89f9a39688a3b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_free()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaebca91932705d71bcbf00bd8d82bd7c8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_request()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga6253c42abdeaf3b41a38204865e1f0f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_provide()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{output}} \textendash{} A callback function that processes and releases data in the stream 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{auxdata}} \textendash{} A pointer to auxiliary data passed as first argument to the \sphinxcode{\sphinxupquote{output}} callback 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An initialized ordered output stream 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ostream\_free (C function)@\spxentry{vrna\_ostream\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_ostream_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaf813ec90e1446ba82c89f9a39688a3b3}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ostream\_free}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_ostream_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ostream\_t}}}}\DUrole{w}{ }\DUrole{n}{dat}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Free an initialized ordered output stream. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga64421b7126cc1b17a472e6f5e878ba9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_init()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dat}} \textendash{} The output stream for which occupied memory should be free’d 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ostream\_threadsafe (C function)@\spxentry{vrna\_ostream\_threadsafe}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_ostream_threadsafe}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga4e60fb5548f6b56003860aa046a74ee2}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ostream\_threadsafe}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_ostream\_request (C function)@\spxentry{vrna\_ostream\_request}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_ostream_request}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaebca91932705d71bcbf00bd8d82bd7c8}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ostream\_request}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_ostream_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ostream\_t}}}}\DUrole{w}{ }\DUrole{n}{dat}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{num}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Request index in ordered output stream. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function must be called prior to {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga6253c42abdeaf3b41a38204865e1f0f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_provide()}}}}} to indicate that data associted with a certain index number is expected to be inserted into the stream in the future.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga64421b7126cc1b17a472e6f5e878ba9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_init()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga6253c42abdeaf3b41a38204865e1f0f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_provide()}}}}}, {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaf813ec90e1446ba82c89f9a39688a3b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_free()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dat}} \textendash{} The output stream for which the index is requested 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num}} \textendash{} The index to request data for 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_ostream\_provide (C function)@\spxentry{vrna\_ostream\_provide}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/datastructures/buffers:c.vrna_ostream_provide}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/datastructures/buffers:group__buffer__utils_1ga6253c42abdeaf3b41a38204865e1f0f7}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_ostream\_provide}}}}
{{\hyperref[\detokenize{utils/datastructures/buffers:c.vrna_ostream_t}]{\sphinxcrossref{\DUrole{n}{vrna\_ostream\_t}}}}\DUrole{w}{ }\DUrole{n}{dat}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{i}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Provide output stream data for a particular index. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/stream\PYGZus{}output.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaebca91932705d71bcbf00bd8d82bd7c8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_request()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dat}} \textendash{} The output stream for which data is provided 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} \textendash{} The index of the provided data 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data provided 

\end{itemize}

\sphinxlineitem{Pre}
\sphinxAtStartPar
The index data is provided for must have been requested using {\hyperref[\detokenize{utils/datastructures/buffers:group__buffer__utils_1gaebca91932705d71bcbf00bd8d82bd7c8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ostream\_request()}}}}} beforehand.

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\subsubsection{Common Data Structures}
\label{\detokenize{utils/data_structures:common-data-structures}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_plist\_t (C type)@\spxentry{vrna\_plist\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_plist_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga5bd6f0d16685b1249b7c3b73049dd5dc}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/plist:c.vrna_elem_prob_s}]{\sphinxcrossref{\DUrole{n}{vrna\_elem\_prob\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_plist\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the base pair list repesenting data structure {\hyperref[\detokenize{utils/struct/plist:structvrna__elem__prob__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_elem\_prob\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_cpair\_t (C type)@\spxentry{vrna\_cpair\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_cpair_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1gae4fc91141cc69c6d8eaf1332cb991ecc}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cpair\_s}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_cpair\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for data structure vrna\_cpair\_s. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_data\_lin\_t (C type)@\spxentry{vrna\_data\_lin\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_data_lin_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1gaab843d6cdafd5433e3f6fa3b834d12f9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_data\_linear\_s}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_data\_lin\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_color\_t (C type)@\spxentry{vrna\_color\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_color_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1gaed93ddf2ef6b26141a89f9a65b9426b9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_color\_s}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_color\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{FLT\_OR\_DBL (C type)@\spxentry{FLT\_OR\_DBL}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.FLT_OR_DBL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{FLT\_OR\_DBL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for floating point number in partition function computations. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{PAIR (C type)@\spxentry{PAIR}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.PAIR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga4381025ffbd692e54189b2c679c79c99}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_basepair_s}]{\sphinxcrossref{\DUrole{n}{vrna\_basepair\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{PAIR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of {\hyperref[\detokenize{utils/data_structures:structvrna__basepair__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_basepair\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000138}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/data_structures:structvrna__basepair__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_basepair\_t}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{plist (C type)@\spxentry{plist}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.plist}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga9608eed021ebfbdd7a901cfdc446c8e9}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/struct/plist:c.vrna_elem_prob_s}]{\sphinxcrossref{\DUrole{n}{vrna\_elem\_prob\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{plist}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of {\hyperref[\detokenize{utils/struct/plist:structvrna__elem__prob__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_elem\_prob\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000139}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} or {\hyperref[\detokenize{utils/struct/plist:structvrna__elem__prob__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_elem\_prob\_s}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{cpair (C type)@\spxentry{cpair}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.cpair}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga8412f116a2eb07b59ade9e14ca7c5ef1}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_cpair\_s}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{cpair}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of vrna\_cpair\_s. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000140}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/data_structures:group__data__structures_1gae4fc91141cc69c6d8eaf1332cb991ecc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cpair\_t}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{sect (C type)@\spxentry{sect}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.sect}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1gaaacedee1f05d3d45aa6764eca51a8876}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_sect_s}]{\sphinxcrossref{\DUrole{n}{vrna\_sect\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{sect}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of {\hyperref[\detokenize{utils/data_structures:structvrna__sect__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000141}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_t}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{bondT (C type)@\spxentry{bondT}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.bondT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga6114174c02666861dc12e1f8db32a17e}}\DUrole{k}{typedef}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_bp_stack_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_stack\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{bondT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Old typename of \#vrna\_bp\_stack\_s. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000142}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/data_structures:structvrna__bp__stack__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_stack\_t}}}}} instead! 

\end{fulllineitems}



\end{fulllineitems}

\index{pu\_contrib (C type)@\spxentry{pu\_contrib}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_contrib}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga8f28b2ff98fb3f7a139c50fda3d01a77}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.pu_contrib}]{\sphinxcrossref{\DUrole{n}{pu\_contrib}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pu\_contrib}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
contributions to p\_u 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact (C type)@\spxentry{interact}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga2d25e7fc868ebb4fa8b5bfec1c5eb771}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.interact}]{\sphinxcrossref{\DUrole{n}{interact}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{interact}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
interaction data structure for RNAup 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_out (C type)@\spxentry{pu\_out}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_out}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1gabc7a2003605bb458e161a391be3f2cbd}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.pu_out}]{\sphinxcrossref{\DUrole{n}{pu\_out}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pu\_out}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Collection of all free\_energy of beeing unpaired values for output. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{constrain (C type)@\spxentry{constrain}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.constrain}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga77624181a1c5caa27e9cf9f1da33604f}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.constrain}]{\sphinxcrossref{\DUrole{n}{constrain}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{constrain}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
constraints for cofolding 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{folden (C type)@\spxentry{folden}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.folden}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga520389d6980cd4ce9f2450e93e270944}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.node}]{\sphinxcrossref{\DUrole{n}{node}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{folden}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Data structure for RNAsnoop (fold energy list). 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar (C type)@\spxentry{dupVar}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1gaa527b6c15d607e89f7107bbb24e70c4c}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.dupVar}]{\sphinxcrossref{\DUrole{n}{dupVar}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dupVar}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Data structure used in RNApkplex. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_C11\_features (C function)@\spxentry{vrna\_C11\_features}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_C11_features}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures_1ga21744ae2d6a17309f9327d3547cef0cb}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_C11\_features}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Dummy symbol to check whether the library was build using C11/C++11 features. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
By default, several data structures of our new v3.0 API use C11/C++11 features, such as unnamed unions, unnamed structs. However, these features can be deactivated at compile time to allow building the library and executables with compilers that do not support these features.

\sphinxAtStartPar
Now, the problem arises that once our static library is compiled and a third\sphinxhyphen{}party application is supposed to link against it, it needs to know, at compile time, how to correctly address particular data structures. This is usually implicitely taken care of through the API exposed in our header files. Unfortunately, we had some preprocessor directives in our header files that changed the API depending on the capabilities of the compiler the third\sphinxhyphen{}party application is build with. This in turn prohibited the use of an RNAlib compiled without C11/C++11 support in a program that compiles/links with enabled C11/C++11 support and vice\sphinxhyphen{}versa.

\sphinxAtStartPar
Therefore, we introduce this dummy symbol which can be used to check, whether the static library was build with C11/C++11 features.

\sphinxAtStartPar
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Since}}
\sphinxAtStartPar
v2.2.9 

\end{description}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If the symbol is present, the library was build with enabled C11/C++11 features support and no action is required. However, if the symbol is missing in RNAlib \textgreater{}= 2.2.9, programs that link to RNAlib must define a pre\sphinxhyphen{}processor identifier \sphinxstyleemphasis{VRNA\_DISABLE\_C11\_FEATURES} before including any ViennaRNA Package header file, for instance by adding a \sphinxstyleemphasis{CPPFLAG} 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{CPPFLAGS}\PYG{o}{+}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{DVRNA\PYGZus{}DISABLE\PYGZus{}C11\PYGZus{}FEATURES}
\end{sphinxVerbatim}

\end{sphinxadmonition}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_basepair\_t (C struct)@\spxentry{vrna\_basepair\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_basepair\_t}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Typename for base pair element. 

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000137}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}} instead! 

\end{fulllineitems}



\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_basepair\_t.i (C var)@\spxentry{vrna\_basepair\_t.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_t.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__t_1a364dbbd249b4b06d1ec62d2b6dcfbe01}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_basepair\_t.j (C var)@\spxentry{vrna\_basepair\_t.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_t.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__t_1ad1969e5901da68af513faa452c47eb41}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_bp\_stack\_t (C struct)@\spxentry{vrna\_bp\_stack\_t}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bp_stack_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__bp__stack__t}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bp\_stack\_t}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Typename for the base pair stack element. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_bp\_stack\_t.i (C var)@\spxentry{vrna\_bp\_stack\_t.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bp_stack_t.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__bp__stack__t_1a5ed113cfd76f6f1bfb8171d65d951ffa}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_bp\_stack\_t.j (C var)@\spxentry{vrna\_bp\_stack\_t.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bp_stack_t.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__bp__stack__t_1a78b806e07a44b9aedc21c4217b69df6a}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{pu\_contrib (C struct)@\spxentry{pu\_contrib}\spxextra{C struct}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__contrib}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pu\_contrib}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
contributions to p\_u 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{pu\_contrib.H (C var)@\spxentry{pu\_contrib.H}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_contrib.H}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__contrib_1ac9034ac9a84ed0647587659d6e9be1e8}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{H}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
hairpin loops 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_contrib.I (C var)@\spxentry{pu\_contrib.I}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_contrib.I}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__contrib_1a8ca0da20536780589fb3e3472ca0581f}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{I}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
internal loops 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_contrib.M (C var)@\spxentry{pu\_contrib.M}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_contrib.M}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__contrib_1a1222ebf74f426bbcd843dcc325da207b}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{M}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
multi loops 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_contrib.E (C var)@\spxentry{pu\_contrib.E}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_contrib.E}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__contrib_1accb192ba6b4b91a1cb2f8080934fd428}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{E}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
exterior loop 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_contrib.length (C var)@\spxentry{pu\_contrib.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_contrib.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__contrib_1a33d5ada6e861db0c81aa3d5b2989262e}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
length of the input sequence 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_contrib.w (C var)@\spxentry{pu\_contrib.w}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_contrib.w}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__contrib_1a403c1c7f20beeeffba7632fac0cfcbff}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{w}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
longest unpaired region 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{interact (C struct)@\spxentry{interact}\spxextra{C struct}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{interact}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
interaction data structure for RNAup 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{interact.Pi (C var)@\spxentry{interact.Pi}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.Pi}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1a1fc8b3860c083f164daa9712690a3a56}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Pi}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
probabilities of interaction 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.Gi (C var)@\spxentry{interact.Gi}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.Gi}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1a54f8183542fff4c32ab7ace49a16c02c}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{Gi}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
free energies of interaction 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.Gikjl (C var)@\spxentry{interact.Gikjl}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.Gikjl}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1ad58303190f9e085c3ab59890cbf61223}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Gikjl}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
full free energy for interaction between {[}k,i{]} k\textless{}i in longer seq and {[}j,l{]} j\textless{}l in shorter seq 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.Gikjl\_wo (C var)@\spxentry{interact.Gikjl\_wo}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.Gikjl_wo}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1a41793812abae560805414761fec398fe}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Gikjl\_wo}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Gikjl without contributions for prob\_unpaired. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.i (C var)@\spxentry{interact.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1ab6d031a21388be8763b75ea74c937f17}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
k\textless{}i in longer seq 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.k (C var)@\spxentry{interact.k}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.k}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1a61e457fbf943d57364be6ddf1b4e7b8a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
k\textless{}i in longer seq 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.j (C var)@\spxentry{interact.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1a7555cb6363d1479341eb72b9c087aa34}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
j\textless{}l in shorter seq 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.l (C var)@\spxentry{interact.l}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.l}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1a030ab45056342e12cb3955e4defd3904}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{l}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
j\textless{}l in shorter seq 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{interact.length (C var)@\spxentry{interact.length}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.interact.length}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structinteract_1ac9fcb5dca54ec5faa76e02b6488b9524}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{length}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
length of longer sequence 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{pu\_out (C struct)@\spxentry{pu\_out}\spxextra{C struct}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__out}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pu\_out}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Collection of all free\_energy of beeing unpaired values for output. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{pu\_out.len (C var)@\spxentry{pu\_out.len}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_out.len}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__out_1a314b8f43c3ee0bf6060afbeced5dbe6c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{len}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
sequence length 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_out.u\_vals (C var)@\spxentry{pu\_out.u\_vals}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_out.u_vals}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__out_1a7697bc7a46cd1b8e37e337e708cb6023}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{u\_vals}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
number of different \sphinxhyphen{}u values 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_out.contribs (C var)@\spxentry{pu\_out.contribs}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_out.contribs}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__out_1a638b0de1837cfd441871d005d3ab2938}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{contribs}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
{[}\sphinxhyphen{}c “SHIME”{]} 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_out.header (C var)@\spxentry{pu\_out.header}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_out.header}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__out_1ac9e9e30b16e7d04c770460b8487fb09d}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{header}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
header line 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{pu\_out.u\_values (C var)@\spxentry{pu\_out.u\_values}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.pu_out.u_values}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structpu__out_1a366edbc4170d5c177908e178ff340828}}\DUrole{kt}{double}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{u\_values}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
(the \sphinxhyphen{}u values * {[}\sphinxhyphen{}c “SHIME”{]}) * seq len 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{constrain (C struct)@\spxentry{constrain}\spxextra{C struct}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structconstrain}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{constrain}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
constraints for cofolding 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{constrain.indx (C var)@\spxentry{constrain.indx}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.constrain.indx}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structconstrain_1a7b5c9ee296f446882c12fb49b4b70f8a}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{indx}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{constrain.ptype (C var)@\spxentry{constrain.ptype}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.constrain.ptype}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structconstrain_1aa45a199810da246b6a23f93f49740595}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{ptype}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{duplexT (C struct)@\spxentry{duplexT}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{duplexT}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Data structure for RNAduplex. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{duplexT.i (C var)@\spxentry{duplexT.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a71b0cd935f8c2879ced9083548f69fe0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.j (C var)@\spxentry{duplexT.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a09ff6dcd84fb1dde05d6660f119524cb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.end (C var)@\spxentry{duplexT.end}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.end}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1afd18437773841e3c12a8ed0ab795c58f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{end}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.structure (C var)@\spxentry{duplexT.structure}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a94aedc565681eb17ddb20e1674d480aa}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{structure}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.energy (C var)@\spxentry{duplexT.energy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1add23a5303db25aabdb27753c02e99cf3}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.energy\_backtrack (C var)@\spxentry{duplexT.energy\_backtrack}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.energy_backtrack}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1aef9a632d9694c7ea31483a7609a42967}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy\_backtrack}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.opening\_backtrack\_x (C var)@\spxentry{duplexT.opening\_backtrack\_x}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.opening_backtrack_x}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1aaaedab824d41bc1f03e895e2e2ab59cb}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{opening\_backtrack\_x}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.opening\_backtrack\_y (C var)@\spxentry{duplexT.opening\_backtrack\_y}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.opening_backtrack_y}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1ac8138ee4d83ab1b2045bcb68fafce199}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{opening\_backtrack\_y}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.offset (C var)@\spxentry{duplexT.offset}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.offset}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a8e9f9149cf74ee059a6c6e0fe16158e3}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{offset}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.dG1 (C var)@\spxentry{duplexT.dG1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.dG1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a7fd3536da56bbf0b751d239e0aec66f9}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dG1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.dG2 (C var)@\spxentry{duplexT.dG2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.dG2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a56668defcc6307e547bce8308a90d111}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dG2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.ddG (C var)@\spxentry{duplexT.ddG}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.ddG}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a70aa763754db483a68b2211e41028a19}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ddG}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.tb (C var)@\spxentry{duplexT.tb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.tb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a621c43749af9eb035e88709413b6f16a}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{tb}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.te (C var)@\spxentry{duplexT.te}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.te}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a6b5ef5f69ab54f98a79751cb8067fdd5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{te}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.qb (C var)@\spxentry{duplexT.qb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.qb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1ac4102dba131ead051c1a2e057682ad3b}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qb}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{duplexT.qe (C var)@\spxentry{duplexT.qe}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.duplexT.qe}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structduplexT_1a646fc81b15d7cf7a934606acf039c128}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qe}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{node (C struct)@\spxentry{node}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.node}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structnode}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{node}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Data structure for RNAsnoop (fold energy list). 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{node.k (C var)@\spxentry{node.k}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.node.k}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structnode_1a0b368c2c0da47aa26492ace9c8c6e778}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{k}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{node.energy (C var)@\spxentry{node.energy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.node.energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structnode_1a9ac761dfb5511f78b2a921abc4eb6f44}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{node.next (C var)@\spxentry{node.next}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.node.next}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structnode_1aa3e8aa83f864292b5a01210f4453fcc0}}\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.node}]{\sphinxcrossref{\DUrole{n}{node}}}}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{next}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{snoopT (C struct)@\spxentry{snoopT}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{snoopT}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Data structure for RNAsnoop. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{snoopT.i (C var)@\spxentry{snoopT.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1ab265b017019caad2f8121b46912f1a35}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.j (C var)@\spxentry{snoopT.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a655f3b218fbf2d6d7a882b02e4fe1656}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.u (C var)@\spxentry{snoopT.u}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.u}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a03224eb72cd9ba96435b13a0122f5572}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{u}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.structure (C var)@\spxentry{snoopT.structure}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a91c6ad1b51c5c3fcab4b016e282ecdab}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{structure}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.energy (C var)@\spxentry{snoopT.energy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a327c9f135166d9fafa60e92566e977e4}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.Duplex\_El (C var)@\spxentry{snoopT.Duplex\_El}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.Duplex_El}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1ab567e3546bec5913121a76ea8900af09}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Duplex\_El}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.Duplex\_Er (C var)@\spxentry{snoopT.Duplex\_Er}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.Duplex_Er}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a04e6ed2a405c4ff915347bc10ee5312f}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Duplex\_Er}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.Loop\_E (C var)@\spxentry{snoopT.Loop\_E}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.Loop_E}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1ae6be38a6ba9d0c959df2effd47fa0902}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Loop\_E}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.Loop\_D (C var)@\spxentry{snoopT.Loop\_D}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.Loop_D}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a5cf23d33ce2c78275a18ba0d6ffe0b75}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Loop\_D}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.pscd (C var)@\spxentry{snoopT.pscd}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.pscd}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1afa0fcb2b43eee28eee4b54428cba6f1c}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pscd}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.psct (C var)@\spxentry{snoopT.psct}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.psct}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a5c9b34b8a942d569cb527a8198929edc}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{psct}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.pscg (C var)@\spxentry{snoopT.pscg}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.pscg}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a9fd035cfb440a7a8a6f003083448a1b3}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{pscg}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.Duplex\_Ol (C var)@\spxentry{snoopT.Duplex\_Ol}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.Duplex_Ol}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1ab4a2b8e90f973c210ce8b3489c6fd229}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Duplex\_Ol}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.Duplex\_Or (C var)@\spxentry{snoopT.Duplex\_Or}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.Duplex_Or}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a6b962fdb4f06f118cf6ed141abe2ad8a}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Duplex\_Or}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.Duplex\_Ot (C var)@\spxentry{snoopT.Duplex\_Ot}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.Duplex_Ot}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1a16bfe1a79922cc4a33e18bbbb51cee61}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{Duplex\_Ot}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{snoopT.fullStemEnergy (C var)@\spxentry{snoopT.fullStemEnergy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.snoopT.fullStemEnergy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structsnoopT_1af1fa0deae33e51ccf529d9b5017e146d}}\DUrole{kt}{float}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{fullStemEnergy}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{dupVar (C struct)@\spxentry{dupVar}\spxextra{C struct}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dupVar}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Data structure used in RNApkplex. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{dupVar.i (C var)@\spxentry{dupVar.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a50ea99c4653c6f2c7e1c60aa30610fd8}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.j (C var)@\spxentry{dupVar.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a55013be08c4d13e3e0dbac43227d76da}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.end (C var)@\spxentry{dupVar.end}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.end}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1aaa663742abecd8e37d062d8c185bd9c5}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{end}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.pk\_helix (C var)@\spxentry{dupVar.pk\_helix}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.pk_helix}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a834790e6ae9c6babd3b03126ae161908}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{pk\_helix}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.structure (C var)@\spxentry{dupVar.structure}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.structure}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1ac21289fea0518e2db4b50cff0368a4c7}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{structure}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.energy (C var)@\spxentry{dupVar.energy}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a58aa3018ab0d069ee3b83e00c7f6db8a}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{energy}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.offset (C var)@\spxentry{dupVar.offset}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.offset}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a18c9e7a500f7701d857f5265d0f33145}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{offset}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.dG1 (C var)@\spxentry{dupVar.dG1}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.dG1}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1aeb799a6f6873dc4a7a438ff67804a123}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dG1}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.dG2 (C var)@\spxentry{dupVar.dG2}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.dG2}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a3a9f5b2d5e8cc7fa0b070311f0f360fb}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{dG2}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.ddG (C var)@\spxentry{dupVar.ddG}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.ddG}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1aaeb77285d40c59400d59a6698d737f32}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ddG}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.tb (C var)@\spxentry{dupVar.tb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.tb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a157631c8507bed5cdc4f4760ab7d24a0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{tb}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.te (C var)@\spxentry{dupVar.te}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.te}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1ae4b56b08a491a0ec03eba3f4b8120b5c}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{te}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.qb (C var)@\spxentry{dupVar.qb}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.qb}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a148569653fe6e9f8bc92f34e1da1bcfb}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qb}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.qe (C var)@\spxentry{dupVar.qe}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.qe}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a9a3b61653ce27869d66d9a20e7774ce0}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{qe}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.inactive (C var)@\spxentry{dupVar.inactive}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.inactive}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a3b15616278d5a95fbf1085efa8ee5f26}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{inactive}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{dupVar.processed (C var)@\spxentry{dupVar.processed}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.dupVar.processed}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structdupVar_1a18db66f6558422be96063f8e42ccb944}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{processed}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}



\subsubsection{Backtracking Related Data Structures}
\label{\detokenize{utils/data_structures:backtracking-related-data-structures}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_bts\_t (C type)@\spxentry{vrna\_bts\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bts_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga79fec76412a4fd843e3d4baf87118f14}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_bt\_stack\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bts\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The backtrack stack data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga0282b54896b38d6d53c8c3e42bfb6aff}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_init()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga7cdef67681eff2cb6ef8b8be7bc9536a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_free()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga9f5687d82e4b2b4213431ed50c69985c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_push()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga7b0647a270f155c274a2b1a31dfbe303}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_top()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga1f5f641d9db2419f26c8d11e735a828c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_pop()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_bps\_t (C type)@\spxentry{vrna\_bps\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga9452b56292759e4264eb888ed3cc8655}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }\DUrole{n}{vrna\_bp\_stack\_s}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The basepair stack data structure. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga34fafe57ae3fccaa6e6328bbd78c7b38}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_init()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga76a6d13504ea3a9321a2fd8477d34039}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_free()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga84c9b0f7fe3b7664eb00222320316050}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_push()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga506a606916ee51789a7f3b899ae68adb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_top()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga1fc5da8296944496d5d9082bbd30a297}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_pop()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga6ca54e333c6f0ad6d93c115e472ace40}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_at()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_bp\_t (C type)@\spxentry{vrna\_bp\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bp_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_basepair_s}]{\sphinxcrossref{\DUrole{n}{vrna\_basepair\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bp\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for the base pair repesenting data structure {\hyperref[\detokenize{utils/data_structures:structvrna__basepair__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_basepair\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sect\_t (C type)@\spxentry{vrna\_sect\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_sect_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/data_structures:c.vrna_sect_s}]{\sphinxcrossref{\DUrole{n}{vrna\_sect\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sect\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Typename for stack of partial structures {\hyperref[\detokenize{utils/data_structures:structvrna__sect__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_s}}}}}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_bts\_init (C function)@\spxentry{vrna\_bts\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bts_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga0282b54896b38d6d53c8c3e42bfb6aff}}{\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bts\_init}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an initialized backtrack stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function yields an initialized backtracking stack that holds all elements that need to be further evaluated. The individual elements stored in the stack are of type {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_t}}}}} and store the sequence delimiters and corresponding backtrack DP matrix flag.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga79fec76412a4fd843e3d4baf87118f14}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_t}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga7cdef67681eff2cb6ef8b8be7bc9536a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_free()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga9f5687d82e4b2b4213431ed50c69985c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_push()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga7b0647a270f155c274a2b1a31dfbe303}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_top()}}}}},{\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga1f5f641d9db2419f26c8d11e735a828c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_pop()}}}}}, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gab04c05287617c6a62372040e57e5baef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_size()}}}}},


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Memory for the stack must be released via the {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga7cdef67681eff2cb6ef8b8be7bc9536a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_free()}}}}} function.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The initial size of the backtrack stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An initialized backtrack stack, ready for usage in backtracking functions 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bts\_free (C function)@\spxentry{vrna\_bts\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bts_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga7cdef67681eff2cb6ef8b8be7bc9536a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bts\_free}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bts}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Release memory occupied by a backtrack stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bts}} \textendash{} The backtrack stack that should be free’d 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bts\_push (C function)@\spxentry{vrna\_bts\_push}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bts_push}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga9f5687d82e4b2b4213431ed50c69985c}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bts\_push}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bts}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_sect_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sect\_t}}}}\DUrole{w}{ }\DUrole{n}{element}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Push a new interval onto the backtrack stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function pushes a new sequence interval for backtracking onto the backstracking stack \sphinxcode{\sphinxupquote{bts}}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bts}} \textendash{} The backtrack stack 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{element}} \textendash{} The sequence interval and corresponding DP matrix flag 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The size of the backtrack stack after pushing the new interval 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bts\_top (C function)@\spxentry{vrna\_bts\_top}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bts_top}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga7b0647a270f155c274a2b1a31dfbe303}}{\hyperref[\detokenize{utils/data_structures:c.vrna_sect_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sect\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bts\_top}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bts}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve the top element of the backtrack stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Retrieves the last element put onto the stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_t}}}}} structure. The latter is returned on error or when topping an empty stack.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bts}} \textendash{} The backtrack stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The top element of the backtrack stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_t}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bts\_pop (C function)@\spxentry{vrna\_bts\_pop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bts_pop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga1f5f641d9db2419f26c8d11e735a828c}}{\hyperref[\detokenize{utils/data_structures:c.vrna_sect_t}]{\sphinxcrossref{\DUrole{n}{vrna\_sect\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bts\_pop}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bts}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pop last element of from backtrack stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Retrieves and removes the last element put onto the stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_t}}}}} structure. The latter is returned on error or when topping an empty stack.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bts}} \textendash{} The backtrack stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The top element of the backtrack stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_t}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bts\_size (C function)@\spxentry{vrna\_bts\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bts_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1gab04c05287617c6a62372040e57e5baef}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bts\_size}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bts_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bts\_t}}}}\DUrole{w}{ }\DUrole{n}{bts}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the size of the backtrack stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bts}} \textendash{} The backtrack stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The size of the backtracking stack 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bps\_init (C function)@\spxentry{vrna\_bps\_init}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_init}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga34fafe57ae3fccaa6e6328bbd78c7b38}}{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_init}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an initialized base pair stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Base pair stacks are used in the backtracking procedure to store all base pairs and structural elements that have been identified so far. Thos function returns an initialized backtracking stack with initial size \sphinxcode{\sphinxupquote{n}}. Individual elements stored in this stack are of type {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Memory for the stack must be released via the {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga76a6d13504ea3a9321a2fd8477d34039}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_free()}}}}} function.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The initial size of the base pair stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An initialized base pair stack 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bps\_free (C function)@\spxentry{vrna\_bps\_free}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_free}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga76a6d13504ea3a9321a2fd8477d34039}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_free}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bps}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Release memory of a base pair stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bps}} \textendash{} The base pair stack to be free’d 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bps\_push (C function)@\spxentry{vrna\_bps\_push}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_push}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga84c9b0f7fe3b7664eb00222320316050}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_push}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bps}\sphinxparamcomma {\hyperref[\detokenize{utils/data_structures:c.vrna_bp_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_t}}}}\DUrole{w}{ }\DUrole{n}{pair}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Put a new base pair element on top of the stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bps}} \textendash{} The base pair stack 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pair}} \textendash{} The base pair to be put onto the stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The size of the base pair stack after pushing the base pair 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bps\_top (C function)@\spxentry{vrna\_bps\_top}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_top}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga506a606916ee51789a7f3b899ae68adb}}{\hyperref[\detokenize{utils/data_structures:c.vrna_bp_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_top}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bps}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve the top element of the base pair stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Retrieves the last element put onto the stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}} structure. The latter is returned on error or when topping an empty stack.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bps}} \textendash{} The base pair stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The top element of the base pair stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bps\_pop (C function)@\spxentry{vrna\_bps\_pop}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_pop}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga1fc5da8296944496d5d9082bbd30a297}}{\hyperref[\detokenize{utils/data_structures:c.vrna_bp_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_pop}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bps}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Pop last element of from base pair stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Retrieves and removes the last element put onto the stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}} structure. The latter is returned on error or when topping an empty stack.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bps}} \textendash{} The base pair stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The top element of the backtrack stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bps\_at (C function)@\spxentry{vrna\_bps\_at}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_at}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga6ca54e333c6f0ad6d93c115e472ace40}}{\hyperref[\detokenize{utils/data_structures:c.vrna_bp_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bp\_t}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_at}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bps}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{n}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Retrieve the n’th element of the base pair stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Retrieves the n’th element counted from the bottom of the stack (0\sphinxhyphen{}based), or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}} structure. The latter is returned on error or when \sphinxcode{\sphinxupquote{n}} is outside the size of the stack.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bps}} \textendash{} The base pair stack 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} \textendash{} The position within the stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The n’th element of the base pair stack, or a zero’d out {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_bps\_size (C function)@\spxentry{vrna\_bps\_size}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_bps_size}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/data_structures:group__data__structures__bt_1ga52014fbb171f9c1a06edbf8f0300fc71}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_bps\_size}}}}
{{\hyperref[\detokenize{utils/data_structures:c.vrna_bps_t}]{\sphinxcrossref{\DUrole{n}{vrna\_bps\_t}}}}\DUrole{w}{ }\DUrole{n}{bps}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the size of the base pair stack. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bps}} \textendash{} The base pair stack 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The size of the base pair stack 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_sect\_s (C struct)@\spxentry{vrna\_sect\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_sect_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__sect__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_sect\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Stack of partial structures for backtracking. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_sect\_s.i (C var)@\spxentry{vrna\_sect\_s.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_sect_s.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__sect__s_1afe4556fdd4c991ce07e025623774fbde}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sect\_s.j (C var)@\spxentry{vrna\_sect\_s.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_sect_s.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__sect__s_1a3698df1a69b4e9b4d6299f3cfc52479f}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_sect\_s.ml (C var)@\spxentry{vrna\_sect\_s.ml}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_sect_s.ml}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__sect__s_1af39126b0fd72bb19d8e9a7f307f3c015}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{ml}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}

\index{vrna\_basepair\_s (C struct)@\spxentry{vrna\_basepair\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_basepair\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/datastructures/basic.h\textgreater{}}
\sphinxAtStartPar
Base pair data structure used in subopt.c. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_basepair\_s.i (C var)@\spxentry{vrna\_basepair\_s.i}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_s.i}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__s_1a8b9df9da6fb0964b05386229ecba9e14}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{i}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_basepair\_s.j (C var)@\spxentry{vrna\_basepair\_s.j}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_s.j}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__s_1a20fc792d3a8f264f9daffc4cb083c6f2}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{j}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_basepair\_s.L (C var)@\spxentry{vrna\_basepair\_s.L}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_s.L}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__s_1a7de57110be956455583324be33eb14cd}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{L}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_basepair\_s.l (C var)@\spxentry{vrna\_basepair\_s.l}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/data_structures:c.vrna_basepair_s.l}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/data_structures:structvrna__basepair__s_1acda488066e0f41ffe99c6fa09a103be0}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{l}}}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/datastructures/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Messages}
\label{\detokenize{utils/messages:messages}}\label{\detokenize{utils/messages::doc}}
\sphinxAtStartPar
Functions to all kinds of messages.


\subsubsection{Other messages}
\label{\detokenize{utils/messages:other-messages}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/messages:group__message__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_message\_error (C function)@\spxentry{vrna\_message\_error}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_error}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1ga36b35be01d7f36cf7f59c245eee628d1}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_error}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print an error message and die. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a wrapper to \sphinxstyleemphasis{fprintf(stderr, …)} that puts a capital \sphinxstylestrong{ERROR:} in front of the message and then exits the calling program.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000232}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error()}}}}} instead! (since v2.7.0)

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/messages:group__message__utils_1gabc1a08dea0d84b5c33701732172a8b18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_verror()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga6e07ed24add60693ba886d54d0a46635}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_warning()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga039bae6153a6415b054dbe6045f83d03}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_info()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The error message to be printed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{...}} \textendash{} Optional arguments for the formatted message string 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_verror (C function)@\spxentry{vrna\_message\_verror}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_verror}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1gabc1a08dea0d84b5c33701732172a8b18}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_verror}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print an error message and die. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a wrapper to \sphinxstyleemphasis{vfprintf(stderr, …)} that puts a capital \sphinxstylestrong{ERROR:} in front of the message and then exits the calling program.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000233}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error()}}}}} instead! (since v2.7.0)

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/messages:group__message__utils_1ga36b35be01d7f36cf7f59c245eee628d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_error()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga6e07ed24add60693ba886d54d0a46635}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_warning()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga039bae6153a6415b054dbe6045f83d03}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_info()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The error message to be printed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{args}} \textendash{} The argument list for the formatted message string 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_warning (C function)@\spxentry{vrna\_message\_warning}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_warning}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1ga6e07ed24add60693ba886d54d0a46635}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_warning}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a warning message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a wrapper to \sphinxstyleemphasis{fprintf(stderr, …)} that puts a capital \sphinxstylestrong{WARNING:} in front of the message.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000234}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning()}}}}} instead! (since v2.7.0)

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/messages:group__message__utils_1ga377aa8ec8a49d343063adb22e6311f26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_vwarning()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga36b35be01d7f36cf7f59c245eee628d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_error()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga039bae6153a6415b054dbe6045f83d03}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_info()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The warning message to be printed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{...}} \textendash{} Optional arguments for the formatted message string 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_vwarning (C function)@\spxentry{vrna\_message\_vwarning}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_vwarning}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1ga377aa8ec8a49d343063adb22e6311f26}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_vwarning}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a warning message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a wrapper to \sphinxstyleemphasis{fprintf(stderr, …)} that puts a capital \sphinxstylestrong{WARNING:} in front of the message.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000235}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning()}}}}} instead! (since v2.7.0)

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/messages:group__message__utils_1ga377aa8ec8a49d343063adb22e6311f26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_vwarning()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga36b35be01d7f36cf7f59c245eee628d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_error()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga039bae6153a6415b054dbe6045f83d03}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_info()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The warning message to be printed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{args}} \textendash{} The argument list for the formatted message string 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_info (C function)@\spxentry{vrna\_message\_info}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_info}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1ga039bae6153a6415b054dbe6045f83d03}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_info}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print an info message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a wrapper to \sphinxstyleemphasis{fprintf(…)}.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000236}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info()}}}}} instead! (since v2.7.0)

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/messages:group__message__utils_1gad8b8139bd04fbfb51e398e9fcd6908dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_vinfo()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga36b35be01d7f36cf7f59c245eee628d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_error()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga6e07ed24add60693ba886d54d0a46635}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_warning()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} \textendash{} The file pointer where the message is printed to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The warning message to be printed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{...}} \textendash{} Optional arguments for the formatted message string 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_vinfo (C function)@\spxentry{vrna\_message\_vinfo}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_vinfo}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1gad8b8139bd04fbfb51e398e9fcd6908dc}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_vinfo}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format}\sphinxparamcomma \DUrole{n}{va\_list}\DUrole{w}{ }\DUrole{n}{args}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print an info message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function is a wrapper to \sphinxstyleemphasis{fprintf(…)}.

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{deprecated:deprecated_1_deprecated000237}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Deprecated:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info()}}}}} instead! (since v2.7.0)

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/messages:group__message__utils_1gad8b8139bd04fbfb51e398e9fcd6908dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_vinfo()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga36b35be01d7f36cf7f59c245eee628d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_error()}}}}}, {\hyperref[\detokenize{utils/messages:group__message__utils_1ga6e07ed24add60693ba886d54d0a46635}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_warning()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} \textendash{} The file pointer where the message is printed to 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format}} \textendash{} The info message to be printed 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{args}} \textendash{} The argument list for the formatted message string 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_input\_seq\_simple (C function)@\spxentry{vrna\_message\_input\_seq\_simple}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_input_seq_simple}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1gaee1dd652ca5b9e56b096963a1576f73b}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_input\_seq\_simple}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a line to \sphinxstyleemphasis{stdout} that asks for an input sequence. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
There will also be a ruler (scale line) printed that helps orientation of the sequence positions 

\end{fulllineitems}

\index{vrna\_message\_input\_seq (C function)@\spxentry{vrna\_message\_input\_seq}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_input_seq}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1gaf4d194d558b0c975f269de01dea52460}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_input\_seq}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Print a line with a user defined string and a ruler to stdout. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
(usually this is used to ask for user input) There will also be a ruler (scale line) printed that helps orientation of the sequence positions
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} \textendash{} A user defined string that will be printed to stdout 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_message\_input\_msa (C function)@\spxentry{vrna\_message\_input\_msa}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/messages:c.vrna_message_input_msa}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/messages:group__message__utils_1ga32445b4d868708899f8b928b2b7f1259}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_message\_input\_msa}}}}
{\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{s}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\subsection{Log Messages}
\label{\detokenize{utils/logs:log-messages}}\label{\detokenize{utils/logs::doc}}
\sphinxAtStartPar
The ViennaRNA Package comes with a log message system that
allows for filtering and (re\sphinxhyphen{})routing of all messages issued
by the library.

\sphinxAtStartPar
The default log message system prints messages that meet a certain
log level to a file pointer that defaults to \sphinxstyleemphasis{stderr}. This file
pointer, the log level threshold and the content of the messages
can be adapted with the functions below.

\sphinxAtStartPar
In addition, the logging system allows for adding user\sphinxhyphen{}defined
callbacks that can also retrieve the log messages for further
processing. Along with that, the default logging mechanism can
be turned off entirely such that only the callbacks process the
log messages.

\sphinxAtStartPar
Below are all API symbols for interacting with the ViennaRNA
logging system.


\subsubsection{Logging System API}
\label{\detokenize{utils/logs:logging-system-api}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{VRNA\_LOG\_LEVEL\_DEFAULT (C macro)@\spxentry{VRNA\_LOG\_LEVEL\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.VRNA_LOG_LEVEL_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga39502c130a07cf1e09973aeb78d4c7b5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Default log level. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga2292e9291581033e9b85b9eac2b912fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga88c978555ea5e5ad45c3c6a364b481b5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_levels\_e}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_LOG\_OPTION\_QUIET (C macro)@\spxentry{VRNA\_LOG\_OPTION\_QUIET}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.VRNA_LOG_OPTION_QUIET}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gaff999d3136dec0e925f3fb13ce35f0e9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_OPTION\_QUIET}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Log option to turn off internal logging. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
When this option is set via {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}} the internal logging system will be deactivated and only user\sphinxhyphen{}defined callbacks will be seeing any logs.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaa0a7d1ded4b90393b30f5846678164eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gac04736ea32823851f207a787f12f3a7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_CALL}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga4de8a041041d9a3348aa691390720aa4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_TIME}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga677e6803a3701e8c6038c71831564d07}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_LOG\_OPTION\_TRACE\_CALL (C macro)@\spxentry{VRNA\_LOG\_OPTION\_TRACE\_CALL}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.VRNA_LOG_OPTION_TRACE_CALL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gac04736ea32823851f207a787f12f3a7e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_OPTION\_TRACE\_CALL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Log option to turn on call tracing. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
When this option is set via {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}} the internal logging system will include a call trace to the log output, i.e. the source code file and line numbers will be included in the log message.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaa0a7d1ded4b90393b30f5846678164eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaff999d3136dec0e925f3fb13ce35f0e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_QUIET}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga4de8a041041d9a3348aa691390720aa4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_TIME}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga677e6803a3701e8c6038c71831564d07}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_LOG\_OPTION\_TRACE\_TIME (C macro)@\spxentry{VRNA\_LOG\_OPTION\_TRACE\_TIME}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.VRNA_LOG_OPTION_TRACE_TIME}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga4de8a041041d9a3348aa691390720aa4}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_OPTION\_TRACE\_TIME}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Log option to turn on time stamp. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
When this option is set via {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}} the internal logging system will include a time stamp to the log output, i.e. the time when the log message was issued will be included in the log message.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaa0a7d1ded4b90393b30f5846678164eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaff999d3136dec0e925f3fb13ce35f0e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_QUIET}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gac04736ea32823851f207a787f12f3a7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_CALL}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga677e6803a3701e8c6038c71831564d07}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_DEFAULT}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{VRNA\_LOG\_OPTION\_DEFAULT (C macro)@\spxentry{VRNA\_LOG\_OPTION\_DEFAULT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.VRNA_LOG_OPTION_DEFAULT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga677e6803a3701e8c6038c71831564d07}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_OPTION\_DEFAULT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Log option representing the default options. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
When this option is set via {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}} the default options will be set.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaa0a7d1ded4b90393b30f5846678164eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaff999d3136dec0e925f3fb13ce35f0e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_QUIET}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gac04736ea32823851f207a787f12f3a7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_CALL}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga4de8a041041d9a3348aa691390720aa4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_TIME}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_log\_debug (C macro)@\spxentry{vrna\_log\_debug}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_debug}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gaedb368d5ebfe358fd5a342f8fafc99a5}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_debug}}}}
{\DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Issue a debug log message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This macro expects a printf\sphinxhyphen{}like format string followed by a variable list of arguments for the format string and passes this content to the log system.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga3e7827622006ced28203eb4a4bb8ff11}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_critical}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga17d2b4996e757fdb61d1300043c46c1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0d44217cabbef157eedfc43568a762fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_fp\_set()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_log\_info (C macro)@\spxentry{vrna\_log\_info}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_info}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_info}}}}
{\DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Issue an info log message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This macro expects a printf\sphinxhyphen{}like format string followed by a variable list of arguments for the format string and passes this content to the log system.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gaedb368d5ebfe358fd5a342f8fafc99a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_debug}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga3e7827622006ced28203eb4a4bb8ff11}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_critical}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga17d2b4996e757fdb61d1300043c46c1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0d44217cabbef157eedfc43568a762fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_fp\_set()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_log\_warning (C macro)@\spxentry{vrna\_log\_warning}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_warning}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_warning}}}}
{\DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Issue a warning log message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This macro expects a printf\sphinxhyphen{}like format string followed by a variable list of arguments for the format string and passes this content to the log system.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gaedb368d5ebfe358fd5a342f8fafc99a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_debug}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga3e7827622006ced28203eb4a4bb8ff11}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_critical}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga17d2b4996e757fdb61d1300043c46c1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0d44217cabbef157eedfc43568a762fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_fp\_set()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_log\_error (C macro)@\spxentry{vrna\_log\_error}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_error}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_error}}}}
{\DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Issue an error log message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This macro expects a printf\sphinxhyphen{}like format string followed by a variable list of arguments for the format string and passes this content to the log system.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gaedb368d5ebfe358fd5a342f8fafc99a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_debug}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga3e7827622006ced28203eb4a4bb8ff11}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_critical}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga17d2b4996e757fdb61d1300043c46c1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0d44217cabbef157eedfc43568a762fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_fp\_set()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_log\_critical (C macro)@\spxentry{vrna\_log\_critical}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_critical}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga3e7827622006ced28203eb4a4bb8ff11}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_critical}}}}
{\DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Issue a critical log message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This macro expects a printf\sphinxhyphen{}like format string followed by a variable list of arguments for the format string and passes this content to the log system.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gaedb368d5ebfe358fd5a342f8fafc99a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_debug}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga17d2b4996e757fdb61d1300043c46c1f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0d44217cabbef157eedfc43568a762fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_fp\_set()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Typedefs}
\index{vrna\_log\_event\_t (C type)@\spxentry{vrna\_log\_event\_t}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_event_t}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga720c609c1cf01b84acccfc7f05aa2503}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{k}{struct}\DUrole{w}{ }{\hyperref[\detokenize{utils/logs:c.vrna_log_event_s}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_event\_s}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_event\_t}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
A log event. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{vrna\_log\_lock\_f (C type)@\spxentry{vrna\_log\_lock\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_lock_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gade7fb3fd3cb72285b6d54433110dc6ef}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_lock\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{lock}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{lock\_data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The lock function prototype that may be passed to the logging system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gac3e50c155e6c83bbea514b08667679dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_lock\_set()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param lock}
\sphinxAtStartPar
A parameter indicating whether to lock (lock != 0) or unlock (lock == 0) 

\sphinxlineitem{Param lock\_data}
\sphinxAtStartPar
An arbitrary user\sphinxhyphen{}defined data pointer for the user\sphinxhyphen{}defined locking system 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_cb\_f (C type)@\spxentry{vrna\_log\_cb\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_cb_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga5a8ee4bbb7cbea84f873004637366a30}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_cb\_f}}}\DUrole{p}{)}\DUrole{p}{(}{\hyperref[\detokenize{utils/logs:c.vrna_log_event_t}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_event\_t}}}}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{event}\DUrole{p}{,}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{log\_data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The log callback function prototype. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga33b9ec42fad191287c897d8d2d0560fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_add()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaf2dc5eec0bf290726762096964b5733f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_num()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga9d2d579de30cb3930c6c45333034b0fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_remove()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Param event}
\sphinxAtStartPar
The log event 

\sphinxlineitem{Param log\_data}
\sphinxAtStartPar
An arbitrary user\sphinxhyphen{}defined data pointer for the user\sphinxhyphen{}define log message receiver 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_logdata\_free\_f (C type)@\spxentry{vrna\_logdata\_free\_f}\spxextra{C type}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_logdata_free_f}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga9a6c7f7f077e6badc6c78b3bc0c3ed29}}\DUrole{k}{typedef}\DUrole{w}{ }\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{(}\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_logdata\_free\_f}}}\DUrole{p}{)}\DUrole{p}{(}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\DUrole{p}{)}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Enums}
\index{vrna\_log\_levels\_e (C enum)@\spxentry{vrna\_log\_levels\_e}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga88c978555ea5e5ad45c3c6a364b481b5}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_levels\_e}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
The log levels. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_UNKNOWN (C enumerator)@\spxentry{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_UNKNOWN}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e.VRNA_LOG_LEVEL_UNKNOWN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gga88c978555ea5e5ad45c3c6a364b481b5a3d1b09b0cc98705cec10599fc0234a20}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_UNKNOWN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Unknown log level 

\end{fulllineitems}

\index{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_DEBUG (C enumerator)@\spxentry{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_DEBUG}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e.VRNA_LOG_LEVEL_DEBUG}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gga88c978555ea5e5ad45c3c6a364b481b5a2651d575907d3749dbd453d026c2411f}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_DEBUG}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Debug log level 

\end{fulllineitems}

\index{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_INFO (C enumerator)@\spxentry{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_INFO}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e.VRNA_LOG_LEVEL_INFO}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gga88c978555ea5e5ad45c3c6a364b481b5a16ed934eb3a5e5574d0c5a8cf67d8844}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_INFO}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Info log level 

\end{fulllineitems}

\index{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_WARNING (C enumerator)@\spxentry{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_WARNING}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e.VRNA_LOG_LEVEL_WARNING}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gga88c978555ea5e5ad45c3c6a364b481b5ac65a94f879c32ea9cba6f802282e1782}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_WARNING}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Warning log level 

\end{fulllineitems}

\index{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_ERROR (C enumerator)@\spxentry{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_ERROR}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e.VRNA_LOG_LEVEL_ERROR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gga88c978555ea5e5ad45c3c6a364b481b5a61d49fcf37e5e038c408848bf8accfea}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_ERROR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Error log level 

\end{fulllineitems}

\index{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_CRITICAL (C enumerator)@\spxentry{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_CRITICAL}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e.VRNA_LOG_LEVEL_CRITICAL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gga88c978555ea5e5ad45c3c6a364b481b5af5c0086c8b657fb6f864e51ee72891f0}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_CRITICAL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Critical log level 

\end{fulllineitems}

\index{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_SILENT (C enumerator)@\spxentry{vrna\_log\_levels\_e.VRNA\_LOG\_LEVEL\_SILENT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_levels_e.VRNA_LOG_LEVEL_SILENT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gga88c978555ea5e5ad45c3c6a364b481b5a9659020fbb8c003ded6b6851ce84713e}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_LOG\_LEVEL\_SILENT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Silent log level 

\end{fulllineitems}


\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_log (C function)@\spxentry{vrna\_log}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga17d2b4996e757fdb61d1300043c46c1f}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log}}}}
{{\hyperref[\detokenize{utils/logs:c.vrna_log_levels_e}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_levels\_e}}}}\DUrole{w}{ }\DUrole{n}{level}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{file\_name}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{line\_number}\sphinxparamcomma \DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{format\_string}\sphinxparamcomma \DUrole{p}{...}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Issue a log message. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This is the low\sphinxhyphen{}level log message function. Usually, you don’t want to call it directly but rather call one of the following high\sphinxhyphen{}level macros instead:

\sphinxAtStartPar
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gaedb368d5ebfe358fd5a342f8fafc99a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_debug}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga3e7827622006ced28203eb4a4bb8ff11}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_critical}}}}}

\end{itemize}


\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gaedb368d5ebfe358fd5a342f8fafc99a5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_debug}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga3e7827622006ced28203eb4a4bb8ff11}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_critical}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0d44217cabbef157eedfc43568a762fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_fp\_set()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{level}} \textendash{} The log level 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file\_name}} \textendash{} The source code file name of the file that issued the log 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{line\_number}} \textendash{} The source code line number that issued the log 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{format\_string}} \textendash{} The printf\sphinxhyphen{}like format string containing the log message 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{...}} \textendash{} The variable argument list for the printf\sphinxhyphen{}like \sphinxcode{\sphinxupquote{format\_string}}

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_level (C function)@\spxentry{vrna\_log\_level}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_level}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga2292e9291581033e9b85b9eac2b912fb}}{\hyperref[\detokenize{utils/logs:c.vrna_log_levels_e}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_levels\_e}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_level}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the current default log level. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga88c978555ea5e5ad45c3c6a364b481b5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_levels\_e}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The current default log level 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_level\_set (C function)@\spxentry{vrna\_log\_level\_set}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_level_set}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gadd2ac04a3860ffca5d3ada89eaadcf19}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_level\_set}}}}
{{\hyperref[\detokenize{utils/logs:c.vrna_log_levels_e}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_levels\_e}}}}\DUrole{w}{ }\DUrole{n}{level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the default log level. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Set the log level for the default log output system. Any user\sphinxhyphen{}defined log callback mechanism will not be affected…

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga2292e9291581033e9b85b9eac2b912fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_level()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga88c978555ea5e5ad45c3c6a364b481b5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_levels\_e}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga33b9ec42fad191287c897d8d2d0560fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_add()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{level}} \textendash{} The new log level for the default logging system 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The (updated) log level of the default logging system 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_options (C function)@\spxentry{vrna\_log\_options}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_options}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gaa0a7d1ded4b90393b30f5846678164eb}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_options}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the current log options of the default logging system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options\_set()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaff999d3136dec0e925f3fb13ce35f0e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_QUIET}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga4de8a041041d9a3348aa691390720aa4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_TIME}}}}} {\hyperref[\detokenize{utils/logs:group__utils__log_1gac04736ea32823851f207a787f12f3a7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_CALL}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga677e6803a3701e8c6038c71831564d07}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The current options for the default logging system 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_options\_set (C function)@\spxentry{vrna\_log\_options\_set}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_options_set}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga1eb76b4b6d37a1d09a9602098647385e}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_options\_set}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the log options for the default logging system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gaa0a7d1ded4b90393b30f5846678164eb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_options()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaff999d3136dec0e925f3fb13ce35f0e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_QUIET}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga4de8a041041d9a3348aa691390720aa4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_TIME}}}}} {\hyperref[\detokenize{utils/logs:group__utils__log_1gac04736ea32823851f207a787f12f3a7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_TRACE\_CALL}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga677e6803a3701e8c6038c71831564d07}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_LOG\_OPTION\_DEFAULT}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} The new options for the default logging system 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_fp (C function)@\spxentry{vrna\_log\_fp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_fp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga46fad9fd637e17de30ba9e2d7b2b3b45}}\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_fp}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the output file pointer for the default logging system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The file pointer where the default logging system will print log messages to 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_fp\_set (C function)@\spxentry{vrna\_log\_fp\_set}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_fp_set}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga0d44217cabbef157eedfc43568a762fb}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_fp\_set}}}}
{\DUrole{n}{FILE}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{fp}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Set the output file pointer for the default logging system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} \textendash{} The file pointer where the default logging system should print log messages to 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_cb\_add (C function)@\spxentry{vrna\_log\_cb\_add}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_cb_add}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga33b9ec42fad191287c897d8d2d0560fc}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_cb\_add}}}}
{{\hyperref[\detokenize{utils/logs:c.vrna_log_cb_f}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_cb\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}\sphinxparamcomma {\hyperref[\detokenize{utils/logs:c.vrna_logdata_free_f}]{\sphinxcrossref{\DUrole{n}{vrna\_logdata\_free\_f}}}}\DUrole{w}{ }\DUrole{n}{data\_release}\sphinxparamcomma {\hyperref[\detokenize{utils/logs:c.vrna_log_levels_e}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_levels\_e}}}}\DUrole{w}{ }\DUrole{n}{level}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Add a user\sphinxhyphen{}defined log message callback. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function will add the user\sphinxhyphen{}defined callback \sphinxcode{\sphinxupquote{cb}} to the logging system that will receive log messages from RNAlib. The callback will be called for each issued message that has a level of at least \sphinxcode{\sphinxupquote{level}}. The pointer \sphinxcode{\sphinxupquote{data}} will be passed\sphinxhyphen{}through to the callback and may store arbitrary data required for the callback.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga5a8ee4bbb7cbea84f873004637366a30}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_f}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaf2dc5eec0bf290726762096964b5733f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_num()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga9d2d579de30cb3930c6c45333034b0fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_remove()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data passed through to the callback function 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data\_release}} \textendash{} A function that releases memory occupied by \sphinxcode{\sphinxupquote{data}} (maybe NULL) 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{level}} \textendash{} The log level threshold for this callback 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of log message callbacks stored in the logging system 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_cb\_num (C function)@\spxentry{vrna\_log\_cb\_num}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_cb_num}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gaf2dc5eec0bf290726762096964b5733f}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_cb\_num}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the current number of log message callbacks. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of log message callbacks stored in the logging system 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_cb\_remove (C function)@\spxentry{vrna\_log\_cb\_remove}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_cb_remove}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga9d2d579de30cb3930c6c45333034b0fc}}\DUrole{n}{size\_t}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_cb\_remove}}}}
{{\hyperref[\detokenize{utils/logs:c.vrna_log_cb_f}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_cb\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Remove a log message callback. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function removes the log message callback \sphinxcode{\sphinxupquote{cb}} from the logging system. It does so by searching through the list of known log message callbacks and comparing function (and data) addresses.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1ga5a8ee4bbb7cbea84f873004637366a30}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_f}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1gaf2dc5eec0bf290726762096964b5733f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_num()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga33b9ec42fad191287c897d8d2d0560fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_cb\_add()}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
The first callback stored in the logging system that matches \sphinxcode{\sphinxupquote{cb}} will be removed! If \sphinxcode{\sphinxupquote{data}} is supplied as well, the first callback that matches both, function and data address will be removed.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The callback function to remove 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} The data that goes along with the callback 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 on any error, e.g. if the callback was not found, non\sphinxhyphen{}zero if it was removed 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_lock\_set (C function)@\spxentry{vrna\_log\_lock\_set}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_lock_set}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1gac3e50c155e6c83bbea514b08667679dc}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_lock\_set}}}}
{{\hyperref[\detokenize{utils/logs:c.vrna_log_lock_f}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_lock\_f}}}}\DUrole{w}{ }\DUrole{n}{cb}\sphinxparamcomma \DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{data}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Specify a lock function to be used for the logging system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
To prevent undefined behavior in multi\sphinxhyphen{}threaded calls to the log system, each log message should be issued as an atomic block. For this to happen, a locking\sphinxhyphen{}/unlocking mechanism is required that ensures that log messages from other threads will be blocked until the current log message has been finalized. By default, we use pthreads mutex locking. Using this function, the locking mechanism can be changed to something else, or implemented after all if the ViennaRNA Package was compiled without pthreads support.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/logs:group__utils__log_1gade7fb3fd3cb72285b6d54433110dc6ef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_lock\_f}}}}}, {\hyperref[\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_reset()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} \textendash{} The locking\sphinxhyphen{}/unlocking callback 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} \textendash{} An arbitrary data pointer passed through to the callback 

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_log\_reset (C function)@\spxentry{vrna\_log\_reset}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_reset}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/logs:group__utils__log_1ga6225950643983a22f9e5fc1b271968fb}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_reset}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Reset the logging system. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This resets the logging system and restores default settings 

\end{fulllineitems}


\end{sphinxuseclass}\index{vrna\_log\_event\_s (C struct)@\spxentry{vrna\_log\_event\_s}\spxextra{C struct}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_event_s}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:structvrna__log__event__s}}\DUrole{k}{struct}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_log\_event\_s}}}}
\pysigstopmultiline
\pysigstopsignatures\sphinxstyleemphasis{\#include \textless{}ViennaRNA/utils/log.h\textgreater{}}
\sphinxAtStartPar
A log event. 

\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Public Members}
\index{vrna\_log\_event\_s.format\_string (C var)@\spxentry{vrna\_log\_event\_s.format\_string}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_event_s.format_string}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:structvrna__log__event__s_1a3f0dbd1dfbf253b9336f906289c5bc1e}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{format\_string}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The printf\sphinxhyphen{}like format string containing the log information 

\end{fulllineitems}

\index{vrna\_log\_event\_s.params (C var)@\spxentry{vrna\_log\_event\_s.params}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_event_s.params}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:structvrna__log__event__s_1ac00de781b2700fa137f1bb8e826cf8e9}}\DUrole{n}{va\_list}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{params}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The parameters for the printf\sphinxhyphen{}like format string 

\end{fulllineitems}

\index{vrna\_log\_event\_s.level (C var)@\spxentry{vrna\_log\_event\_s.level}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_event_s.level}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:structvrna__log__event__s_1a52d0386aeac058c7257ec0eac2d4dbb8}}{\hyperref[\detokenize{utils/logs:c.vrna_log_levels_e}]{\sphinxcrossref{\DUrole{n}{vrna\_log\_levels\_e}}}}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{level}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The log level 

\end{fulllineitems}

\index{vrna\_log\_event\_s.line\_number (C var)@\spxentry{vrna\_log\_event\_s.line\_number}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_event_s.line_number}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:structvrna__log__event__s_1ae21c19435f281ab0423de138925b1f37}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{line\_number}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The source code line number that issued the log 

\end{fulllineitems}

\index{vrna\_log\_event\_s.file\_name (C var)@\spxentry{vrna\_log\_event\_s.file\_name}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/logs:c.vrna_log_event_s.file_name}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/logs:structvrna__log__event__s_1aa9cae9641c8afa5a943e07ec3a3ec602}}\DUrole{k}{const}\DUrole{w}{ }\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{file\_name}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/log.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
The source code file that issued the log 

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\end{fulllineitems}


\sphinxstepscope


\subsection{Unit Conversion}
\label{\detokenize{utils/units:unit-conversion}}\label{\detokenize{utils/units::doc}}
\sphinxAtStartPar
Functions to convert between various physical units


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Enums}
\index{vrna\_unit\_energy\_e (C enum)@\spxentry{vrna\_unit\_energy\_e}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ga1d2fd1e73caf995e4dc69072b33e6ba5}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_unit\_energy\_e}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Energy / Work Units. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/units.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/units:group__units_1gada3216e97b410928ba19a4487e5fe6f2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_convert\_energy()}}}}}


\end{sphinxseealso}



\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_J (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_J}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_J}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a0120f465758c5d3f0c416bb6b68ac008}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_J}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Joule ( \( 1~J = 1~kg \cdot m^2 s^{-2} \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_KJ (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_KJ}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_KJ}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5af992c2a5505ac9e419ea906752810141}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_KJ}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Kilojoule ( \( 1~kJ = 1,000~J \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_CAL\_IT (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_CAL\_IT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_CAL_IT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a9aa5cffe20a1407ad113a9cd10a28287}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_CAL\_IT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calorie (International (Steam) Table, \( 1~cal_{IT} = 4.1868~J \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_DACAL\_IT (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_DACAL\_IT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_DACAL_IT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a16f8d3c98e6baf1662c33f082e50e3aa}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DACAL\_IT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Decacolorie (International (Steam) Table, \( 1~dacal_{IT} = 10~cal_{IT} = 41.868~J \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_KCAL\_IT (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_KCAL\_IT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_KCAL_IT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5aafecefeb1301d0d40ce7d4c60f5aaeeb}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_KCAL\_IT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Kilocalorie (International (Steam) Table, \( 1~kcal_{IT} = 4.1868~kJ \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_CAL (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_CAL}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_CAL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5af9b9e10348e63083965843e9c4bd285b}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_CAL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Calorie (Thermochemical, \( 1~cal_{th} = 4.184~J \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_DACAL (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_DACAL}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_DACAL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a579ddb9fef9ec4b1a198b556715b549c}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DACAL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Decacalorie (Thermochemical, \( 1~dacal_{th} = 10~cal_{th} = 41.84~J \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_KCAL (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_KCAL}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_KCAL}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a5a231fa4f1f62a1d6e5f9af020014b79}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_KCAL}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Kilocalorie (Thermochemical, \( 1~kcal_{th} = 4.184~kJ \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_G\_TNT (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_G\_TNT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_G_TNT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a40325b8627e91b92dc5481961e2193d5}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_G\_TNT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
g TNT ( \( 1~g~\mathrm{TNT} = 1,000~cal_{th} = 4,184~J \) ) 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_KG\_TNT (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_KG\_TNT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_KG_TNT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a32711a912cf18203c635a49ccf104a7a}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_KG\_TNT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
kg TNT ( \( 1~kg~\mathrm{TNT} = 1,000~kcal_{th} = 4,184~kJ \) ) 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_T\_TNT (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_T\_TNT}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_T_TNT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a5186dbc0bc2a6fcce080753389e2759c}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_T\_TNT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
ton TNT ( \( 1~t~\mathrm{TNT} = 1,000,000~kcal_{th} = 4,184~MJ \) ) 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_EV (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_EV}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_EV}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5ad1e56199abf591432c1d75ecd3bd9702}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_EV}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Electronvolt ( \( 1~eV = 1.602176565 \times 10^{-19}~J \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_WH (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_WH}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_WH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a94309db45738a94c6a78ed1434346a7d}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_WH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Watt hour ( \( 1~W \cdot h = 1~W \cdot 3,600 s = 3,600~J = 3.6~kJ \) ). 

\end{fulllineitems}

\index{vrna\_unit\_energy\_e.VRNA\_UNIT\_KWH (C enumerator)@\spxentry{vrna\_unit\_energy\_e.VRNA\_UNIT\_KWH}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_energy_e.VRNA_UNIT_KWH}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gga1d2fd1e73caf995e4dc69072b33e6ba5a57b033a1f079079cac03c0866ab69ec9}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_KWH}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Kilowatt hour ( \( 1~kW \cdot h = 1~kW \cdot 3,600~s = 3,600~kJ = 3.6~MJ \) ). 

\end{fulllineitems}


\end{fulllineitems}

\index{vrna\_unit\_temperature\_e (C enum)@\spxentry{vrna\_unit\_temperature\_e}\spxextra{C enum}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1gadeca8d9e91ef85f1b652cc8aef63d7e4}}\DUrole{k}{enum}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_unit\_temperature\_e}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Temperature Units. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/units.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/units:group__units_1gaf1bb1db32eba33b9f306214f5955d0c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_convert\_temperature()}}}}}


\end{sphinxseealso}



\sphinxAtStartPar
\sphinxstyleemphasis{Values:}
\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_K (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_K}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_K}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4a9b970a8dd20a98af000ac43e393a1d2d}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_K}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Kelvin (K). 

\end{fulllineitems}

\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_C (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_C}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_DEG_C}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4a64b03f220d7256def88b3ed4a78440b2}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DEG\_C}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Degree Celcius (°C) ( \( [^{\circ}C] = [K] - 273.15 \) ). 

\end{fulllineitems}

\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_F (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_F}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_DEG_F}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4a56a659dc1a1e6c01a62c67ed8799fea9}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DEG\_F}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Degree Fahrenheit (°F) ( \( [^{\circ}F] = [K] \times \frac{9}{5} - 459.67 \) ). 

\end{fulllineitems}

\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_R (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_R}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_DEG_R}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4a71335b199e50c9ac773d4090018984bc}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DEG\_R}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Degree Rankine (°R) ( \( [^{\circ}R] = [K] \times \frac{9}{5} \) ). 

\end{fulllineitems}

\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_N (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_N}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_DEG_N}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4ac3c83c399df537d213671bf6537bd400}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DEG\_N}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Degree Newton (°N) ( \( [^{\circ}N] = ([K] - 273.15) \times \frac{33}{100} \) ). 

\end{fulllineitems}

\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_DE (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_DE}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_DEG_DE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4a8b047fe5980c99270a587e668c2a2d8b}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DEG\_DE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Degree Delisle (°De) ( \( [^{\circ}De] = (373.15 - [K]) \times \frac{3}{2} \) ). 

\end{fulllineitems}

\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_RE (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_RE}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_DEG_RE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4a94dce0a5f2e13a3a3fd554d6b0cd6395}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DEG\_RE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Degree Réaumur (°Ré) ( \( [^{\circ}R{\acute e}] = ([K] - 273.15) \times \frac{4}{5} \) ). 

\end{fulllineitems}

\index{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_RO (C enumerator)@\spxentry{vrna\_unit\_temperature\_e.VRNA\_UNIT\_DEG\_RO}\spxextra{C enumerator}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_unit_temperature_e.VRNA_UNIT_DEG_RO}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils/units:group__units_1ggadeca8d9e91ef85f1b652cc8aef63d7e4a405589efa7e654a6cfe148a992adc1d0}}\DUrole{k}{enumerator}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNIT\_DEG\_RO}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Degree Rømer (°Rø) ( \( [^{\circ}\text{R{\o}}] = ([K] - 273.15) \times \frac{21}{40} + 7.5 \) ). 

\end{fulllineitems}


\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_convert\_energy (C function)@\spxentry{vrna\_convert\_energy}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_convert_energy}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/units:group__units_1gada3216e97b410928ba19a4487e5fe6f2}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_convert\_energy}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{energy}\sphinxparamcomma {\hyperref[\detokenize{utils/units:c.vrna_unit_energy_e}]{\sphinxcrossref{\DUrole{n}{vrna\_unit\_energy\_e}}}}\DUrole{w}{ }\DUrole{n}{from}\sphinxparamcomma {\hyperref[\detokenize{utils/units:c.vrna_unit_energy_e}]{\sphinxcrossref{\DUrole{n}{vrna\_unit\_energy\_e}}}}\DUrole{w}{ }\DUrole{n}{to}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert between energy / work units. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/units.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/units:group__units_1ga1d2fd1e73caf995e4dc69072b33e6ba5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_unit\_energy\_e}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} Input energy value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{from}} \textendash{} Input unit 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{to}} \textendash{} Output unit 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Energy value in Output unit 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_convert\_temperature (C function)@\spxentry{vrna\_convert\_temperature}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_convert_temperature}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/units:group__units_1gaf1bb1db32eba33b9f306214f5955d0c2}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_convert\_temperature}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{temp}\sphinxparamcomma {\hyperref[\detokenize{utils/units:c.vrna_unit_temperature_e}]{\sphinxcrossref{\DUrole{n}{vrna\_unit\_temperature\_e}}}}\DUrole{w}{ }\DUrole{n}{from}\sphinxparamcomma {\hyperref[\detokenize{utils/units:c.vrna_unit_temperature_e}]{\sphinxcrossref{\DUrole{n}{vrna\_unit\_temperature\_e}}}}\DUrole{w}{ }\DUrole{n}{to}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert between temperature units. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/units.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/units:group__units_1gadeca8d9e91ef85f1b652cc8aef63d7e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_unit\_temperature\_e}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{temp}} \textendash{} Input temperature value 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{from}} \textendash{} Input unit 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{to}} \textendash{} Output unit 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Temperature value in Output unit 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_convert\_kcal\_to\_dcal (C function)@\spxentry{vrna\_convert\_kcal\_to\_dcal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_convert_kcal_to_dcal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/units:group__units_1ga085428efe4f99044bce8273c8b5db1ba}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_convert\_kcal\_to\_dcal}}}}
{\DUrole{kt}{double}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert floating point energy value into integer representation. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/units.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function converts a floating point value in kcal/mol into its corresponding deka\sphinxhyphen{}cal/mol integer representation as used throughout RNAlib.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/units:group__units_1gadef1b636dd61e48e9ad5ebd0d84fb17e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_convert\_dcal\_to\_kcal()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The energy value in kcal/mol 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The energy value in deka\sphinxhyphen{}cal/mol 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_convert\_dcal\_to\_kcal (C function)@\spxentry{vrna\_convert\_dcal\_to\_kcal}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils/units:c.vrna_convert_dcal_to_kcal}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils/units:group__units_1gadef1b636dd61e48e9ad5ebd0d84fb17e}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_convert\_dcal\_to\_kcal}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{energy}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Convert an integer representation of free energy in deka\sphinxhyphen{}cal/mol to kcal/mol. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/units.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This function converts a free energy value given as integer in deka\sphinxhyphen{}cal/mol into the corresponding floating point number in kcal/mol

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils/units:group__units_1ga085428efe4f99044bce8273c8b5db1ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_convert\_kcal\_to\_dcal()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} \textendash{} The energy in deka\sphinxhyphen{}cal/mol 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The energy in kcal/mol 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils}}}
\pysigstopsignatures
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Defines}
\index{PUBLIC (C macro)@\spxentry{PUBLIC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.PUBLIC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1gad17d551e31d1828c68acf40684849b7e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{PUBLIC}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{PRIVATE (C macro)@\spxentry{PRIVATE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.PRIVATE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga5e151c615eda34903514212f05a5ccf8}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{PRIVATE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_UNUSED (C macro)@\spxentry{VRNA\_UNUSED}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_UNUSED}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga3b3ee3c0cebd4ba68018639d2be99bcb}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_UNUSED}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_ERROR (C macro)@\spxentry{VRNA\_INPUT\_ERROR}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_ERROR}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1gad403c9ea58f1836689404c2931419c8c}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_ERROR}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Output flag of {\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}}: \sphinxstyleemphasis{“An ERROR has occured, maybe EOF”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_QUIT (C macro)@\spxentry{VRNA\_INPUT\_QUIT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_QUIT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga72f3c6ca5c83d2b9baed2922d19c403d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_QUIT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Output flag of {\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}}: \sphinxstyleemphasis{“the user requested quitting the program”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_MISC (C macro)@\spxentry{VRNA\_INPUT\_MISC}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_MISC}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga8e3241b321c9c1a78a69e59e2e019a71}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_MISC}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Output flag of {\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}}: \sphinxstyleemphasis{“something was read”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_FASTA\_HEADER (C macro)@\spxentry{VRNA\_INPUT\_FASTA\_HEADER}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_FASTA_HEADER}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga2f0d8069e93d3ac54d9320d6bdb8e7e7}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_FASTA\_HEADER}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Input/Output flag of {\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}}
\sphinxAtStartPar
:

\sphinxAtStartPar
if used as input option this tells
{\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}} that the data to be read should comply with the FASTA format. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
the function will return this flag if a fasta header was read 

\end{fulllineitems}

\index{VRNA\_INPUT\_SEQUENCE (C macro)@\spxentry{VRNA\_INPUT\_SEQUENCE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_SEQUENCE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga8566d6787972100e68b5a2a159b4cf45}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_SEQUENCE}}}}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_CONSTRAINT (C macro)@\spxentry{VRNA\_INPUT\_CONSTRAINT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_CONSTRAINT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1gac08a9df45b9721b97a47dbfe7a6e5f85}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_CONSTRAINT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Input flag for {\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}}
\sphinxAtStartPar
:

\sphinxAtStartPar
Tell
{\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}} that we assume to read a structure constraint. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_NO\_TRUNCATION (C macro)@\spxentry{VRNA\_INPUT\_NO\_TRUNCATION}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_NO_TRUNCATION}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga086742158293217a46ae2f71bb296937}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_NO\_TRUNCATION}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Input switch for {\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}}: \sphinxstyleemphasis{“do not trunkate the line by eliminating white spaces at end of line”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_NO\_REST (C macro)@\spxentry{VRNA\_INPUT\_NO\_REST}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_NO_REST}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga7a2e8c50a0c7ce82e60da1016e1367fd}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_NO\_REST}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Input switch for {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}: \sphinxstyleemphasis{“do fill rest array”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_NO\_SPAN (C macro)@\spxentry{VRNA\_INPUT\_NO\_SPAN}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_NO_SPAN}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga0de536599b881c787b0943a2671da476}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_NO\_SPAN}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Input switch for {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}: \sphinxstyleemphasis{“never allow data to span more than one line”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_NOSKIP\_BLANK\_LINES (C macro)@\spxentry{VRNA\_INPUT\_NOSKIP\_BLANK\_LINES}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_NOSKIP_BLANK_LINES}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1gab4db885222b3b69608310d7c7e63e286}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_NOSKIP\_BLANK\_LINES}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Input switch for {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}: \sphinxstyleemphasis{“do not skip empty lines”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_BLANK\_LINE (C macro)@\spxentry{VRNA\_INPUT\_BLANK\_LINE}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_BLANK_LINE}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga305474b93ccb79ae4c7754016a8ddd84}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_BLANK\_LINE}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Output flag for {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}: \sphinxstyleemphasis{“read an empty line”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_NOSKIP\_COMMENTS (C macro)@\spxentry{VRNA\_INPUT\_NOSKIP\_COMMENTS}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_NOSKIP_COMMENTS}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1ga0f6311f11bed1842e3a527ab27b294c6}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_NOSKIP\_COMMENTS}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Input switch for {\hyperref[\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_input\_line()}}}}}: \sphinxstyleemphasis{“do not skip comment lines”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{VRNA\_INPUT\_COMMENT (C macro)@\spxentry{VRNA\_INPUT\_COMMENT}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.VRNA_INPUT_COMMENT}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1gaf2062e0eeefffd3ed639af460b3d4fab}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{VRNA\_INPUT\_COMMENT}}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Output flag for {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}}: \sphinxstyleemphasis{“read a comment”}. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{MIN2 (C macro)@\spxentry{MIN2}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.MIN2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1gae0b9cd0ce090bd69b951aa73e8fa4f7d}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{MIN2}}}}
{\DUrole{n}{A}\sphinxparamcomma \DUrole{n}{B}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the minimum of two comparable values. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{MAX2 (C macro)@\spxentry{MAX2}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.MAX2}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga33297b3679c713b0c4d897cd0fe3b122}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{MAX2}}}}
{\DUrole{n}{A}\sphinxparamcomma \DUrole{n}{B}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the maximum of two comparable values. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{MIN3 (C macro)@\spxentry{MIN3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.MIN3}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga721b8d5f3abef17f10293f1f7f8c958e}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{MIN3}}}}
{\DUrole{n}{A}\sphinxparamcomma \DUrole{n}{B}\sphinxparamcomma \DUrole{n}{C}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the minimum of three comparable values. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}

\index{MAX3 (C macro)@\spxentry{MAX3}\spxextra{C macro}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.MAX3}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga8d577123d2e66d2b7d0bf9af6e172b93}}\sphinxbfcode{\sphinxupquote{\DUrole{n}{MAX3}}}}
{\DUrole{n}{A}\sphinxparamcomma \DUrole{n}{B}\sphinxparamcomma \DUrole{n}{C}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get the maximum of three comparable values. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Functions}
\index{vrna\_alloc (C function)@\spxentry{vrna\_alloc}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_alloc}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga33cfc8d12ab976aa34025ce53b643f77}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_alloc}}}}
{\DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Allocate space safely. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The size of the memory to be allocated in bytes 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the allocated memory 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_realloc (C function)@\spxentry{vrna\_realloc}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_realloc}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga32b9be2bce5638658fa94d3c7fb0d194}}\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_realloc}}}}
{\DUrole{kt}{void}\DUrole{w}{ }\DUrole{p}{*}\DUrole{n}{p}\sphinxparamcomma \DUrole{n}{size\_t}\DUrole{w}{ }\DUrole{n}{size}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Reallocate space safely. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{p}} \textendash{} A pointer to the memory region to be reallocated 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The size of the memory to be allocated in bytes 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the newly allocated memory 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_init\_rand (C function)@\spxentry{vrna\_init\_rand}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_init_rand}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga0ad1f40ea316e5c5918695c35613027a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_init\_rand}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Initialize seed for random number generator. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga940205dee1b00f94551cabbfbe6e654a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_init\_rand\_seed()}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_urn()}}}}}


\end{sphinxseealso}



\end{fulllineitems}

\index{vrna\_init\_rand\_seed (C function)@\spxentry{vrna\_init\_rand\_seed}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_init_rand_seed}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga940205dee1b00f94551cabbfbe6e654a}}\DUrole{kt}{void}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_init\_rand\_seed}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{seed}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Initialize the random number generator with a pre\sphinxhyphen{}defined seed. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{{\hyperref[\detokenize{wrappers:wrappers_1_wrappers000186}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{SWIG Wrapper Notes:}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
This function is available as an overloaded function \sphinxstylestrong{init\_rand()} where the argument \sphinxcode{\sphinxupquote{seed}} is optional. See, e.g.   {\hyperref[\detokenize{api_python:RNA.init_rand}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.init\_rand()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.

\end{fulllineitems}



\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga0ad1f40ea316e5c5918695c35613027a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_init\_rand()}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_urn()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seed}} \textendash{} The seed for the random number generator

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_urn (C function)@\spxentry{vrna\_urn}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_urn}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}}\DUrole{kt}{double}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_urn}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
get a random number from {[}0..1{]} 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga46111bb3747dbcf4609f0d40ae169ad9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_int\_urn()}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga0ad1f40ea316e5c5918695c35613027a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_init\_rand()}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga940205dee1b00f94551cabbfbe6e654a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_init\_rand\_seed()}}}}}


\end{sphinxseealso}



\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Usually implemented by calling \sphinxstyleemphasis{erand48()}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A random number in range {[}0..1{]} 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_int\_urn (C function)@\spxentry{vrna\_int\_urn}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_int_urn}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga46111bb3747dbcf4609f0d40ae169ad9}}\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_int\_urn}}}}
{\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{from}\sphinxparamcomma \DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{to}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Generates a pseudo random integer in a specified range. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_urn()}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga0ad1f40ea316e5c5918695c35613027a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_init\_rand()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{from}} \textendash{} The first number in range 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{to}} \textendash{} The last number in range 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pseudo random number in range {[}from, to{]} 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_time\_stamp (C function)@\spxentry{vrna\_time\_stamp}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_time_stamp}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga0b5134fd776e2aa66ccc2af258721594}}\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_time\_stamp}}}}
{\DUrole{kt}{void}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get a timestamp. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Returns a string containing the current date in the format 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{Fri} \PYG{n}{Mar} \PYG{l+m+mi}{19} \PYG{l+m+mi}{21}\PYG{p}{:}\PYG{l+m+mi}{10}\PYG{p}{:}\PYG{l+m+mi}{57} \PYG{l+m+mi}{1993}
\end{sphinxVerbatim}

\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A string containing the timestamp 

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_input\_line (C function)@\spxentry{get\_input\_line}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.get_input_line}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga8ef1835eb83f542396f59f0b205965e5}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{get\_input\_line}}}}
{\DUrole{kt}{char}\DUrole{w}{ }\DUrole{p}{*}\DUrole{p}{*}\DUrole{n}{string}\sphinxparamcomma \DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{options}}
{}
\pysigstopmultiline
\pysigstopsignatures
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar

\sphinxAtStartPar
Retrieve a line from ‘stdin’ savely while skipping comment characters and other features This function returns the type of input it has read if recognized. An option argument allows one to switch between different reading modes.

\sphinxAtStartPar
Currently available options are:
{\hyperref[\detokenize{utils:group__utils_1gaf2062e0eeefffd3ed639af460b3d4fab}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_COMMENT}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga0f6311f11bed1842e3a527ab27b294c6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_NOSKIP\_COMMENTS}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga086742158293217a46ae2f71bb296937}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_NO\_TRUNCATION}}}}}

\sphinxAtStartPar
pass a collection of options as one value like this: 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{get\PYGZus{}input\PYGZus{}line}\PYG{p}{(}\PYG{n}{string}\PYG{p}{,} \PYG{n}{option\PYGZus{}1} \PYG{o}{|} \PYG{n}{option\PYGZus{}2} \PYG{o}{|} \PYG{n}{option\PYGZus{}n}\PYG{p}{)}
\end{sphinxVerbatim}


\sphinxAtStartPar
If the function recognizes the type of input, it will report it in the return value. It also reports if a user defined ‘quit’ command (\sphinxhyphen{}sign on ‘stdin’) was given. Possible return values are:

{\hyperref[\detokenize{utils:group__utils_1ga2f0d8069e93d3ac54d9320d6bdb8e7e7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_FASTA\_HEADER}}}}}, {\hyperref[\detokenize{utils:group__utils_1gad403c9ea58f1836689404c2931419c8c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_ERROR}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga8e3241b321c9c1a78a69e59e2e019a71}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_MISC}}}}}, {\hyperref[\detokenize{utils:group__utils_1ga72f3c6ca5c83d2b9baed2922d19c403d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_INPUT\_QUIT}}}}}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} \textendash{} A pointer to the character array that contains the line read 

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} \textendash{} A collection of options for switching the functions behavior 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A flag with information about what has been read 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_idx\_row\_wise (C function)@\spxentry{vrna\_idx\_row\_wise}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_idx_row_wise}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga27d6f59da187317ab4c0d7e9f15ee57a}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_idx\_row\_wise}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an index mapper array (iindx) for accessing the energy matrices, e.g. in partition function related functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Access of a position “(i,j)” is then accomplished by using 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{n}{i}\PYG{p}{,}\PYG{n}{j}\PYG{p}{)} \PYG{o}{\PYGZti{}} \PYG{n}{iindx}\PYG{p}{[}\PYG{n}{i}\PYG{p}{]}\PYG{o}{\PYGZhy{}}\PYG{n}{j}
\end{sphinxVerbatim}
 This function is necessary as most of the two\sphinxhyphen{}dimensional energy matrices are actually one\sphinxhyphen{}dimensional arrays throughout the ViennaRNA Package

\sphinxAtStartPar
Consult the implemented code to find out about the mapping formula ;)

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga93a00c17b7644d1e755943d01664cae0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_idx\_col\_wise()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the RNA sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mapper array 

\end{description}\end{quote}

\end{fulllineitems}

\index{vrna\_idx\_col\_wise (C function)@\spxentry{vrna\_idx\_col\_wise}\spxextra{C function}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.vrna_idx_col_wise}}
\pysigstartsignatures
\pysigstartmultiline
\pysiglinewithargsret
{\phantomsection\label{\detokenize{utils:group__utils_1ga93a00c17b7644d1e755943d01664cae0}}\DUrole{kt}{int}\DUrole{w}{ }\DUrole{p}{*}\sphinxbfcode{\sphinxupquote{\DUrole{n}{vrna\_idx\_col\_wise}}}}
{\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{int}\DUrole{w}{ }\DUrole{n}{length}}
{}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Get an index mapper array (indx) for accessing the energy matrices, e.g. in MFE related functions. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
Access of a position “(i,j)” is then accomplished by using 
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{p}{(}\PYG{n}{i}\PYG{p}{,}\PYG{n}{j}\PYG{p}{)} \PYG{o}{\PYGZti{}} \PYG{n}{indx}\PYG{p}{[}\PYG{n}{j}\PYG{p}{]}\PYG{o}{+}\PYG{n}{i}
\end{sphinxVerbatim}
 This function is necessary as most of the two\sphinxhyphen{}dimensional energy matrices are actually one\sphinxhyphen{}dimensional arrays throughout the ViennaRNAPackage

\sphinxAtStartPar
Consult the implemented code to find out about the mapping formula ;)

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga27d6f59da187317ab4c0d7e9f15ee57a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_idx\_row\_wise()}}}}}


\end{sphinxseealso}


\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} \textendash{} The length of the RNA sequence 

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mapper array 

\end{description}\end{quote}

\end{fulllineitems}


\end{sphinxuseclass}
\begin{sphinxuseclass}{breathe-sectiondef}\subsubsection*{Variables}
\index{xsubi (C var)@\spxentry{xsubi}\spxextra{C var}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{utils:c.xsubi}}
\pysigstartsignatures
\pysigstartmultiline
\pysigline
{\phantomsection\label{\detokenize{utils:group__utils_1gaf9a866c8417afda7368bbac939ab3c47}}\DUrole{kt}{unsigned}\DUrole{w}{ }\DUrole{kt}{short}\DUrole{w}{ }\sphinxbfcode{\sphinxupquote{\DUrole{n}{xsubi}}}\DUrole{p}{{[}}\DUrole{m}{3}\DUrole{p}{{]}}}
\pysigstopmultiline
\pysigstopsignatures
\sphinxAtStartPar
Current 48 bit random number. 

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
This variable is used by {\hyperref[\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_urn()}}}}}. These should be set to some random number seeds before the first call to {\hyperref[\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_urn()}}}}}.

\sphinxAtStartPar


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_urn()}}}}}


\end{sphinxseealso}



\end{fulllineitems}


\end{sphinxuseclass}
\end{fulllineitems}


\sphinxstepscope


\section{RNAlib API v3.0}
\label{\detokenize{vrna_3.0:rnalib-api-v3-0}}\label{\detokenize{vrna_3.0::doc}}

\subsection{Introduction}
\label{\detokenize{vrna_3.0:introduction}}
\sphinxAtStartPar
With version 2.2 we introduce the new API that will take over the old one
in the future version 3.0. By then, backwards compatibility will be broken, and
third party applications using RNAlib need to be ported. This switch of API became
necessary, since many new features found their way into the RNAlib where a balance
between threadsafety and easy\sphinxhyphen{}to\sphinxhyphen{}use library functions is hard or even impossible
to establish. Furthermore, many old functions of the library are present as
slightly modified copies of themself to provide a crude way to overload functions.

\sphinxAtStartPar
Therefore, we introduce the new v3.0 API very early in our development stage
such that developers have enough time to migrate to the new functions and interfaces.
We also started to provide encapsulation of the RNAlib functions, data structures,
typedefs, and macros by prefixing them with \sphinxcode{\sphinxupquote{vrna\_}} and \sphinxcode{\sphinxupquote{VRNA\_}} , respectively.

\sphinxAtStartPar
Header files should also be included using the \sphinxcode{\sphinxupquote{ViennaRNA/}} namespace, e.g.

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
instead of just using

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}fold.h\PYGZgt{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
as is has been required for RNAlib 1.x and 2.x.

\sphinxAtStartPar
This eases the work for programmers of third party applications that would otherwise
need to put much effort into renaming functions and data types in their own
implementations if their names appear in our library. Since we still provide backward
compatibility up to the last version of RNAlib 2.x, this advantage may be fully
exploited only starting from v3.0 which will be released in the future. However, our
plan is to provide the possibility for an early switch\sphinxhyphen{}off mechanism of the backward
compatibility in one of our next releases of ViennaRNA Package 2.x.


\subsection{Major changes}
\label{\detokenize{vrna_3.0:major-changes}}
\sphinxAtStartPar
…


\subsection{Porting to the new API}
\label{\detokenize{vrna_3.0:porting-to-the-new-api}}
\sphinxAtStartPar
…


\subsection{Examples}
\label{\detokenize{vrna_3.0:examples}}
\sphinxAtStartPar
Examples on how to use the new v3.0 API can be found in the {\hyperref[\detokenize{examples/c::doc}]{\sphinxcrossref{\DUrole{doc}{C Examples}}}}
section.

\sphinxstepscope


\section{Callback Functions}
\label{\detokenize{callbacks:callback-functions}}\label{\detokenize{callbacks::doc}}
\sphinxAtStartPar
Many functions in \sphinxstyleemphasis{RNAlib} support so\sphinxhyphen{}called \sphinxstyleemphasis{callback mechanisms} to propagate
the computation results. In essence, this means that a user defines a function
that takes computation results as input and does whatever should be done with
these results. Then, this function is provided to our algorithms in \sphinxstyleemphasis{RNAlib}
such that they can call the function and provide corresponding data as soon
as it has been computed.


\subsection{Why Callbacks?}
\label{\detokenize{callbacks:why-callbacks}}
\sphinxAtStartPar
Using callback mechanisms, our library enables users not only to retrieve computed
data without the need for parsing complicated data structures, but also allows one
to tweak our implementation to do additional tasks without the requirement of a
re\sphinxhyphen{}implementation of basic algorithms.

\sphinxAtStartPar
Our implementation of the callback mechanisms always follows the same scheme:

\sphinxAtStartPar
The user …
\begin{itemize}
\item {} 
\sphinxAtStartPar
… defines a function that complies with the interface we’ve defined, and

\item {} 
\sphinxAtStartPar
… passes a pointer to said function to our implementations

\end{itemize}

\sphinxAtStartPar
In addition to the specific arguments of our callback interfaces, virtually all callbacks
receive an additional \sphinxstyleemphasis{pass\sphinxhyphen{}through\sphinxhyphen{}pointer} as their last argument. This enables one
to …
\begin{itemize}
\item {} 
\sphinxAtStartPar
… encapsulate data, and

\item {} 
\sphinxAtStartPar
… provide thread\sphinxhyphen{}safe operations,

\end{itemize}

\sphinxAtStartPar
since this pointer is simply passed through by our library functions. It may therefore hold
the address of an arbitrary, user\sphinxhyphen{}defined data structure.


\subsection{Scripting Language Support}
\label{\detokenize{callbacks:scripting-language-support}}
\sphinxAtStartPar
Our callback mechanisms also work in a cross\sphinxhyphen{}language specific manner. This
means that users can write functions (or methods) in a scripting language,
such as Python, and use them as callbacks for our C\sphinxhyphen{}library. Our scripting
language interface will take care of transforming the relevant data structures
from the target language into C and vice\sphinxhyphen{}versa. Whenever our algorithms trigger
the callback, they will then be calling the actual scripting language function
and provide the corresponding data directly to them.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Keep in mind that the translation between the scripting language and C
involves many extra function calls to prepare and evaluate the corresponding
data structures. This in turn impacts the runtime of our algorithms that
can be substantial. For instance providing callbacks for the hard\sphinxhyphen{} or
soft constraints framework from a scripting language can lead to a slow\sphinxhyphen{}down
of up to a factor of 10.
\end{sphinxadmonition}


\subsection{Available Callbacks}
\label{\detokenize{callbacks:available-callbacks}}
\sphinxAtStartPar
Below, you find an enumeration of the individual callback functions that are available
in \sphinxstyleemphasis{RNAlib}:


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{callbacks:callbacks}}}
\pysigstopsignatures
\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}}  )(void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000001}} 
\sphinxAtStartPar
This callback is supposed to free memory occupied by an auxiliary data structure. It will be called when the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} is erased from memory through a call to {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} and will be passed the address of memory previously bound to the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} via {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gad6c0747712712bda6d94702e0de895a7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_add\_auxdata()}}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bs\_result\_f}}}}}  )(const char *structure, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000021}} 
\sphinxAtStartPar
This function will be called for each secondary structure that has been successfully backtraced from the partition function DP matrices.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar:group__grammar_1ga43d1c010a22991a657603c0a21435ea6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_exp\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int i, unsigned int j, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000017}} 
\sphinxAtStartPar
This callback allows for extending the partition function secondary structure decomposition with additional rules.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar:group__grammar_1gac7113454f6ec1bbd043f632756ae7224}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_inside\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int i, unsigned int j, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000015}} 
\sphinxAtStartPar
This callback allows for extending the MFE secondary structure decomposition with additional rules.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar:group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_outside\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int i, unsigned int j, int e, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga9452b56292759e4264eb888ed3cc8655}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_t}}}}} bp\_stack, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga79fec76412a4fd843e3d4baf87118f14}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bts\_t}}}}} bt\_stack, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000016}} 
\sphinxAtStartPar
This callback allows for backtracking (sub)structures obtained from extending the MFE secondary structure decomposition with additional rules.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar:group__grammar_1gadbb62f9eda06defb039fbc99199d2158}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_gr\_serialize\_bp\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga9452b56292759e4264eb888ed3cc8655}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bps\_t}}}}} bp\_stack, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000014}} 
\sphinxAtStartPar
This callback allows for changing the way how base pairs (and other types of data) obtained from the default and extended grammar are converted back into a dot\sphinxhyphen{}bracket string.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga23a523332de2867a1568a0229345ab80}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_eval\_f}}}}}  )(int i, int j, int k, int l, unsigned char d, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000010}} 
\sphinxAtStartPar
This callback enables one to over\sphinxhyphen{}rule default hard constraints in secondary structure decompositions.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafa73325bee7e6b7c9d1732d70e67d65a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_f}}}}}  )(float temp, float heat\_capacity, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000003}} 
\sphinxAtStartPar
This function will be called for each evaluated temperature in the heat capacity prediction.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/math:group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_f}}}}}  )(double value, {\hyperref[\detokenize{utils/math:group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_math\_fun\_dbl\_opt\_t}}}}} options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000018}} 
\sphinxAtStartPar
This callback handles mathematical functions working on scalar \sphinxstyleemphasis{double} values.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1gaa97863c328b909d7da26d618e0c83fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_f}}}}}  )(unsigned int start, unsigned int end, const char *structure, float en, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000019}} 
\sphinxAtStartPar
This function will be called for each hit in a sliding window MFE prediction.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga847115aeace6030fa01185cca6e34f9e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window\_f}}}}}  )({\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} *pr, int pr\_size, int i, int max, unsigned int type, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000020}} 
\sphinxAtStartPar
This function will be called for each probability data set in the sliding window probability computation implementation of {\hyperref[\detokenize{partfunc/window:group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probs\_window()}}}}}. The argument \sphinxstyleemphasis{type} specifies the type of probability that is passed to this function.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_recursion\_status\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned char status, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000002}} 
\sphinxAtStartPar
This function will be called to notify a third\sphinxhyphen{}party implementation about the status of a currently ongoing recursion. The purpose of this callback mechanism is to provide users with a simple way to ensure pre\sphinxhyphen{} and post conditions for auxiliary mechanisms attached to our implementations.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gaaa010a245ab273cd5c265929ff0b8bbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_bt\_f}}}}}  )(int i, int j, int k, int l, unsigned char d, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000013}} 
\sphinxAtStartPar
This callback enables one to add auxiliary base pairs in the backtracking steps of hairpin\sphinxhyphen{} and internal loops.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga562554815b6717091125bf9782532740}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_exp\_f}}}}}  )(int i, int j, int k, int l, unsigned char d, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000012}} 
\sphinxAtStartPar
This callback enables one to add (pseudo\sphinxhyphen{})energy contributions to individual decompositions of the secondary structure (Partition function variant, i.e. contributions must be returned as Boltzmann factors).  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_f}}}}}  )(int i, int j, int k, int l, unsigned char d, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000011}} 
\sphinxAtStartPar
This callback enables one to add (pseudo\sphinxhyphen{})energy contributions to individual decompositions of the secondary structure.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga760ee7f326a411565f9e9f0cf44b2ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_result\_f}}}}}  )(const char *stucture, float energy, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000022}} 
\sphinxAtStartPar
This function will be called for each suboptimal secondary structure that is successfully backtraced.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga5ea006f39d44db3ae9481a748889a0a1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_add\_probs\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int i, int j, unsigned int loop\_type, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} exp\_energy, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000008}} 
\sphinxAtStartPar
A callback function to store equilibrium probabilities for the unstructured domain feature  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga2e9002a489309f2cf59379d8ca6d00f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_exp\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int i, int j, unsigned int loop\_type, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000005}} 
\sphinxAtStartPar
This function will be called to determine the additional energy contribution of a specific unstructured domain, e.g. the binding free energy of some ligand (Partition function variant, i.e. the Boltzmann factors instead of actual free energies).  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga59dc10fdd4705c87aacaed15a8b1015d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_exp\_production\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000007}} 
\sphinxAtStartPar
The production rule for the unstructured domain grammar extension (Partition function variant)  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaec7ac7d3800d3ddd42eced89b43038ea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int i, int j, unsigned int loop\_type, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000004}} 
\sphinxAtStartPar
This function will be called to determine the additional energy contribution of a specific unstructured domain, e.g. the binding free energy of some ligand.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga584c32828e8803a32de7c52bdad5c6bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_get\_probs\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int i, int j, unsigned int loop\_type, int motif, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000009}} 
\sphinxAtStartPar
A callback function to retrieve equilibrium probabilities for the unstructured domain feature  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga6da4dff321fdfaf9742efcd558fa327f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_production\_f}}}}}  )({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{callbacks:callbacks_1_callbacks000006}} 
\sphinxAtStartPar
The production rule for the unstructured domain grammar extension 


\end{fulllineitems}



\end{fulllineitems}


\sphinxstepscope


\section{Deprecated List}
\label{\detokenize{deprecated:deprecated-list}}\label{\detokenize{deprecated::doc}}

\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{deprecated:deprecated}}}
\pysigstopsignatures
\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4cf00f0659e5f0480335d69e797f05b1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alifold}}}}}  (const char **strings, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000012}}Usage of this function is discouraged! Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File alignments.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000231}}Use ViennaRNA/sequences/alignments.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga7de27e1761e844061a7bdc704124614a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alimake\_pair\_table}}}}}  (const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000222}}Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga7b2fb019d2e5f17e40d5cfa8e30a4607}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pt\_ali\_get()}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga955a7e2f25d6a1a00a3c92c6229fc44d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alipbacktrack}}}}}  (double *prob)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000023}}Use {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga604a42ad64178279551ad3e4def3d603}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alipf\_circ\_fold}}}}}  (const char **sequences, char *structure, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} **pl)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000020}}Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1a5f6cfb9d761fa862ce4edc7c369cd2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alipf\_fold}}}}}  (const char **sequences, char *structure, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} **pl)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000019}}Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gab46954fb0ed3b6d5631e7f9b802978cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alipf\_fold\_par}}}}}  (const char **sequences, char *structure, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} **pl, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *parameters, int calculate\_bppm, int is\_constrained, int is\_circular)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000018}}Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gaab48d4dac655d688abe921389ac2847c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{aliPS\_color\_aln}}}}}  (const char *structure, const char *filename, const char *seqs{[}{]}, const char *names{[}{]})}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000200}}Use {\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga3bb7409f5b73c2273f9f76cf8b754034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln()}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File aln\_util.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000026}}Use ViennaRNA/sequences/alignments.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File alphabet.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000027}}Use ViennaRNA/sequences/alphabet.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gab61df77cf7949cd516181fce0c3d7d78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_db}}}}}  ({\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} **pl, const char *struc, float pr)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000224}}Use {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1ga6de9e912540e36b1e231a66f6d8319df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1cc05aaa9b0e7df2d3887e98321c2030}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_pr}}}}}  ({\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} **pl, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} *probs, int length, double cutoff)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000225}}Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga2d1b1c2e37abe57911ce647123c8ae06}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plist\_from\_probs()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gaab548531941f27c91108b89a8f570f95}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{b2C}}}}}  (const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000117}}See {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}} and {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga549e259a963d77e2d5b7e14083fc016e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_SHORT}}}}} for a replacement 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab3fcb3ff7e9bcd86cd969093bdae0c8d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{b2HIT}}}}}  (const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000116}}See {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}} and {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga3ad5609bc93ef20034c3ab989365c1f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_HIT}}}}} for a replacement 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga2baf1c3a2182f21a4384107df979cd67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{b2Shapiro}}}}}  (const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000118}}See {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga6a315cabbaf0868d640dfc9d922f0393}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_to\_tree\_string()}}}}} and {\hyperref[\detokenize{utils/struct/trees:group__struct__utils__tree_1ga91f2e3a3a502d5445fd7fe5983a5fe92}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_STRUCTURE\_TREE\_SHAPIRO\_WEIGHT}}}}} for a replacement 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global base\_pair}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000075}}Do not use this variable anymore!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File boltzmann\_sampling.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000028}}Use ViennaRNA/sampling/basic.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga6114174c02666861dc12e1f8db32a17e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bondT}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000142}}Use {\hyperref[\detokenize{utils/data_structures:structvrna__bp__stack__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_stack\_t}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6ebbcd29a754f0e4f1a66d1fd84184db}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bp\_distance}}}}}  (const char *str1, const char *str2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000219}}Use vrna\_bp\_distance instead

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga49962ad6242b8c628de6ca16bb831c1d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bppm\_symbol}}}}}  (const float *x)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000217}}Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1ga025bff1b27fa46534c8fae6980f64bb5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bpp\_symbol()}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga129d81c4a1ead793c5b2311333e03dfa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bppm\_to\_structure}}}}}  (char *structure, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} *pr, unsigned int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000216}}Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1gacb5f1fafaf20eaf6a63052153499f0bb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_probs()}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global centroid  (int length, double *dist)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000194}}This function is deprecated and should not be used anymore as it is not threadsafe! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File centroid.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000029}}Use ViennaRNA/structures/centroid.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File char\_stream.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000030}}Use ViennaRNA/datastructures/char\_stream.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gadbd3b0b1c144cbfb4efe704b2b260f96}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circalifold}}}}}  (const char **strings, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000013}}Usage of this function is discouraged! Use vrna\_alicircfold(), and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4ac63ab3e8d9a80ced28b8052d94e423}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circfold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000061}}Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae5c1e7331718669bdae7a86de2be6184}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{co\_pf\_fold}}}}}  (char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000096}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaabfc6cb6d02b8f08ac4c92f4f5b125d9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{co\_pf\_fold\_par}}}}}  (char *sequence, char *structure, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *parameters, int calculate\_bppm, int is\_constrained)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000097}}Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000031}}use {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold\_par}}}}}  (const char *string, char *structure, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters, int is\_constrained)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000032}}use {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File combinatorics.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000039}}Use ViennaRNA/combinatorics/basic.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File commands.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000040}}Use ViennaRNA/io/commands.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gafd74239e8e76c01419116d9d4a50e700}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{compute\_BPdifferences}}}}}  (short *pt1, short *pt2, unsigned int turn)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000227}}Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1ga7f4b0443a4fb67c924532895757d9496}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_refBPdist\_matrix()}}}}} instead

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga94c19120130e66a667a10a3c8598550c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{compute\_probabilities}}}}}  (double FAB, double FEA, double FEB, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *prAB, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *prA, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *prB, int Alength)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000099}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global constrain\_ptypes  (const char *constraint, unsigned int length, char *ptype, int *BP, int min\_loop\_size, unsigned int idx\_type)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000135}}Do not use this function anymore! Structure constraints are now handled through {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gac7e4c4f8abe3163a68110c5bff24e01d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_t}}}}} and related functions. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File constraints.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000042}}Use ViennaRNA/constraints/basic.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File constraints\_hard.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000043}}Use ViennaRNA/constraints/hard.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File constraints\_ligand.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000044}}Use ViennaRNA/constraints/ligand.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File constraints\_SHAPE.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000045}}Use ViennaRNA/probing/SHAPE.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File constraints\_soft.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000046}}Use ViennaRNA/constraints/soft.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File convert\_epars.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000047}}Use ViennaRNA/params/convert.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga1ce48c7bbd7d1d1429124abfe3ee68fc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{copy\_pair\_table}}}}}  (const short *pt)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000221}}Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gae59fd97f2f076d4e8897394e34ff935d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_copy()}}}}} instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga8412f116a2eb07b59ade9e14ca7c5ef1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cpair}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000140}}Use {\hyperref[\detokenize{utils/data_structures:group__data__structures_1gae4fc91141cc69c6d8eaf1332cb991ecc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cpair\_t}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf3cbac6ff5d706d6e414677841ddf94c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cv\_fact}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000016}}See {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1a62ebefb9d0643e5c4c8a2ec84a105ce6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.cv\_fact}}}}}, and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} to avoid using global variables 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File data\_structures.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000048}}Use ViennaRNA/datastructures/basic.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga05bf4f31d216b1b160fd2d3d68e9b487}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{destroy\_TwoDfold\_variables}}}}}  ({\hyperref[\detokenize{classified/kl_neighborhood:structTwoDfold__vars}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}} *our\_variables)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000003}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global destroy\_TwoDpfold\_variables  (TwoDpfold\_vars *vars)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000008}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File dp\_matrices.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000049}}Use ViennaRNA/datastructures/dp\_matrices.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga51f9851f3500c2aae66674142a6a2dd5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{E\_Stem}}}}}  (int type, int si1, int sj1, int extLoop, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *P)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000143}}Please use one of the functions {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__ext_1gad15211d536d971e3c335813a75897a26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_exterior\_stem()}}}}} and {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__mb_1ga4df9d02217343b879549725fcebbc9ec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_multibranch\_stem()}}}}} instead! Use the former for cases where \sphinxcode{\sphinxupquote{extLoop}} != 0 and the latter otherwise. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File energy\_const.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000050}}Use ViennaRNA/params/constants.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga1c48869c03b49a342bf4cbdd61900081}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_alistruct}}}}}  (const char **sequences, const char *structure, int n\_seq, float *energy)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000015}}Usage of this function is discouraged! Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}}, and {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga657222e2758c46bf13b416ef3032e417}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_struct}}}}}  (const char *string, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000156}}This function is deprecated and should not be used in future programs Use {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaeb14f3664aec67fc03268ac75253f0f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_structure()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga3f01f9744ba6a40555eb4d81fc77f6df}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_struct\_par}}}}}  (const char *string, const char *structure, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters, int verbosity\_level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000148}}Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaeb14f3664aec67fc03268ac75253f0f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_circ\_structure}}}}}  (const char *string, const char *structure, int verbosity\_level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000147}}Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga539ecaed89730f7644c202f304d7529b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_move}}}}}  (const char *string, const char *structure, int m1, int m2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000151}}Use {\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga2e542ea644f28d33b05ec81b7cd60ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga49e0ee561be69faf0568213546f6a53f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_move\_pt}}}}}  (short *pt, short *s, short *s1, int m1, int m2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000152}}Use {\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga03995d1cd83b3881af7c89dd4ddbdefc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move\_pt()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gac2b37fea2145c94d925a3f33378ef87b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct}}}}}  (const char *string, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000154}}This function is deprecated and should not be used in future programs! Use {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf93986cb3cb29770ec9cca69c9fab8cf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf9d064d3c496de42eca6734a96fd2090}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct\_par}}}}}  (const char *string, const char *structure, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters, int verbosity\_level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000146}}Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga27ce6f68512d43bf1fe14a06c9d76d5c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct\_pt}}}}}  (const char *string, short *ptable, short *s, short *s1)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000155}}This function is deprecated and should not be used in future programs! Use {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga8831445966b761417e713360791299d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure\_pt()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga49acb3d5627dc6823a7ce12d116d4c69}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_struct\_pt\_par}}}}}  (const char *string, short *ptable, short *s, short *s1, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters, int verbosity\_level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000150}}Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaf93986cb3cb29770ec9cca69c9fab8cf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure}}}}}  (const char *string, const char *structure, int verbosity\_level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000145}}Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga8831445966b761417e713360791299d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{energy\_of\_structure\_pt}}}}}  (const char *string, short *ptable, short *s, short *s1, int verbosity\_level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000149}}Use {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt()}}}}} or {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File energy\_par.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000051}}Use ViennaRNA/params/default.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File equilibrium\_probs.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000052}}Use ViennaRNA/probabilities/basepairs.h and ViennaRNA/probabilities/structures.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File eval.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000053}}Use ViennaRNA/eval/structures.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga446828a191c127861e76e2c84055f672}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{exp\_E\_ExtLoop}}}}}  (int type, int si1, int sj1, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *P)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000144}}Use vrna\_exp\_E\_ext\_stem() instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global expHairpinEnergy  (int u, int type, short si1, short sj1, const char *string)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000198}}Use {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__hp_1ga847c34387b29b06448c7c843156bca91}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_E\_hairpin()}}}}} from loop\_energies.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global expLoopEnergy  (int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000197}}Use vrna\_exp\_E\_internal() from loop\_energies.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaba5a18064258036b3753665e89da2072}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_ali\_bppm}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000021}}Usage of this function is discouraged! The new {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} allows direct access to the folding matrices, including the pair probabilities! The pair probability array returned here reflects the one of the latest call to {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}}, or any of the old API calls for consensus structure partition function folding. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga04d5d639fd4473ca766436a9bae5665c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_circfold\_arrays}}}}}  (int *Fc\_p, int *FcH\_p, int *FcI\_p, int *FcM\_p, int **fM2\_p, int **f5\_p, int **c\_p, int **fML\_p, int **fM1\_p, int **indx\_p, char **ptype\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000067}}See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga004bb901e7fd2f8d5ae68f9530318ce1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_circfold\_arrays\_par}}}}}  (int *Fc\_p, int *FcH\_p, int *FcI\_p, int *FcM\_p, int **fM2\_p, int **f5\_p, int **c\_p, int **fML\_p, int **fM1\_p, int **indx\_p, char **ptype\_p, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} **P\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000068}}See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaa06ab81cec7fe070bfe4e3c7e8a19afb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_co\_bppm}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000101}}This function is deprecated and will be removed soon! The base pair probability array is available through the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} data structure, and its associated {\hyperref[\detokenize{utils/datastructures/dp_matrices:group__dp__matrices_1ga68729ab3fed26bdd1806fa814f172fc1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mx\_pf\_t}}}}} member. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga5cb6b59983f1f74ccc00b9b9c4e84482}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_cofold\_arrays}}}}}  (int **f5\_p, int **c\_p, int **fML\_p, int **fM1\_p, int **fc\_p, int **indx\_p, char **ptype\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000037}}folding matrices now reside within the {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}. Thus, this function will only work in conjunction with a prior call to the deprecated functions {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}} or {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold\_par()}}}}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga5f5bf4df35d0554f6ace9579f8744c48}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_cofold\_arrays\_gq}}}}}  (int **f5\_p, int **c\_p, int **fML\_p, int **fM1\_p, int **fc\_p, int **ggg\_p, int **indx\_p, char **ptype\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000036}}folding matrices now reside within the fold compound. Thus, this function will only work in conjunction with a prior call to {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}} or {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold\_par()}}}}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga99641b8dbb40891da5490d3cc271e607}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_fold\_arrays}}}}}  (int **f5\_p, int **c\_p, int **fML\_p, int **fM1\_p, int **indx\_p, char **ptype\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000065}}See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga6606ec0ec964ea506fdadb997a1a5328}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{export\_fold\_arrays\_par}}}}}  (int **f5\_p, int **c\_p, int **fML\_p, int **fM1\_p, int **indx\_p, char **ptype\_p, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} **P\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000066}}See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File exterior\_loops.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000054}}Use ViennaRNA/eval/external.h or ViennaRNA/eval/external.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File external.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000165}}Use ViennaRNA/eval/exterior.h, ViennaRNA/mfe/exterior.h, ViennaRNA/backtrack/exterior.h, and ViennaRNA/partfunc/exterior.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File file\_formats.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000055}}Use ViennaRNA/io/file\_formats.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File file\_formats\_msa.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000056}}Use ViennaRNA/io/file\_formats\_msa.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File file\_utils.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000057}}Use ViennaRNA/io/utils.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global filecopy  (FILE *from, FILE *to)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000248}}Use {\hyperref[\detokenize{utils/io:group__file__utils_1ga4382a56d2fee9ed738364b99329edc7c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_copy()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_deprecated:group__paths__deprecated_1ga4c0dabf032c04eeab9c7370d15db6ad2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{find\_saddle}}}}}  (const char *seq, const char *s1, const char *s2, int width)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000161}}Use {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad77dbfa125158f534147c0015a849bc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File findpath.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000058}}Use ViennaRNA/landscape/findpath.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000060}}use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2bc41df5d71fee6fd8da9904ee65d8fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold\_par}}}}}  (const char *sequence, char *structure, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters, int is\_constrained, int is\_circular)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000059}}use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga72095e4554b5d577250ea14c42acc49e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_alifold\_arrays}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000014}}Usage of this function is discouraged! It only affects memory being free’d that was allocated by an old API function before. Release of memory occupied by the newly introduced {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} is handled by {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga0c0498f35686e26b38ee460d3db1a661}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_alipf\_arrays}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000022}}Usage of this function is discouraged! This function only free’s memory allocated by old API function calls. Memory allocated by any of the new API calls (starting with vrna\_) will be not affected! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga107fdfe5fd641868156bfd849f6866c7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_arrays}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000062}}See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold()}}}}}, {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold()}}}}}, or {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaafb33d7473eb9af9d1b168ca8761c41a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_co\_arrays}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000033}}This function will only free memory allocated by a prior call of {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}} or {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga7612cfeeb1b793f1e4179b1eb53df1f3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold\_par()}}}}}. See {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer()}}}}} for how to use the new API 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gade3ce34ae8214811374b1d28a40dc247}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_co\_pf\_arrays}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000102}}This function will be removed for the new API soon! See {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer()}}}}}, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} for an alternative

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_deprecated:group__paths__deprecated_1ga9056421d716ae89f0ed3f107627f395b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_path}}}}}  ({\hyperref[\detokenize{landscape/paths:group__paths_1ga818d4f3d1cf8723d6905990b08d909fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_t}}}}} *path)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000162}}Use {\hyperref[\detokenize{landscape/paths:group__paths_1ga3763dc16760d09277a1b1c3f3061d0c7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gae73db3f49a94f0f72e067ecd12681dbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{free\_pf\_arrays}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000187}}See {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and its related functions for how to free memory occupied by the dynamic programming matrices 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga5349960075b1847720a2e9df021e2675}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_alipf\_arrays}}}}}  (short ***S\_p, short ***S5\_p, short ***S3\_p, unsigned short ***a2s\_p, char ***Ss\_p, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} **qb\_p, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} **qm\_p, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} **q1k\_p, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} **qln\_p, short **pscore)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000024}}It is discouraged to use this function! The new {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} allows direct access to all necessary consensus structure prediction related variables! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga356800d32f664d455af4676850638f99}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_boltzmann\_factor\_copy}}}}}  ({\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *parameters)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000175}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga47828f98665c57d9b8bc954b5769e484}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_copy()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gaf05b50c0e8d29511941203554daf2919}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_boltzmann\_factors}}}}}  (double temperature, double betaScale, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} md, double pf\_scale)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000174}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga010ff3879cb0a053ce2547948315a10c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_boltzmann\_factors\_ali}}}}}  (unsigned int n\_seq, double temperature, double betaScale, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} md, double pf\_scale)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000177}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga71255857b629f2c5b86adc75c78df13e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_comparative()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global get\_centroid\_struct\_gquad\_pr  (int length, double *dist)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000195}}This function is deprecated and should not be used anymore as it is not threadsafe! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global get\_centroid\_struct\_pl  (int length, double *dist, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *pl)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000210}}This function was renamed to {\hyperref[\detokenize{subopt/centroid:group__centroid__fold_1ga8e68f31264f2192b0ad02fb2d54f634a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_centroid\_from\_plist()}}}}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global get\_centroid\_struct\_pr  (int length, double *dist, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} *pr)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000211}}This function was renamed to {\hyperref[\detokenize{subopt/centroid:group__centroid__fold_1gae50c5cd891e5e1a3179735a47887f73a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_centroid\_from\_probs()}}}}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global get\_concentrations  (double FEAB, double FEAA, double FEBB, double FEA, double FEB, double *startconc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000041}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global get\_line  (FILE *fp)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000238}}Use {\hyperref[\detokenize{utils/io:group__file__utils_1gaed2a3fdeab38ede529ff3c9d02ef3415}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_read\_line()}}}}} as a substitute! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1gaa2d600be90844094ec145ea14a314d2f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_mpi}}}}}  (char *Alseq{[}{]}, int n\_seq, int length, int *mini)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000208}}Use {\hyperref[\detokenize{utils/msa:group__aln__utils_1gade5a1f2d16e7fd9a57b37d8514f08e8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_mpi()}}}}} as a replacement

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_deprecated:group__paths__deprecated_1ga58ae3a0e97028833e085d67e7e2b4c78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_path}}}}}  (const char *seq, const char *s1, const char *s2, int width)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000163}}Use {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global get\_plist  ({\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *pl, int length, double cut\_off)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000098}} use {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga1cc05aaa9b0e7df2d3887e98321c2030}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{assign\_plist\_from\_pr()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga1c9a23ef63e80859776eac8a0beda437}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_alipf\_parameters}}}}}  (unsigned int n\_seq)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000176}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga71255857b629f2c5b86adc75c78df13e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_comparative()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gacdbcef8d5022d9e2eaac347374f5b3a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_parameters}}}}}  (double temperature, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000179}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga1007b70b7176f7cc78ed224460b89bbe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_scaled\_pf\_parameters}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000173}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga049c8196ed6b9af9f13c633f0fe7acc0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga9dd36b619bffbbead5735ff5f0d91ee2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{get\_TwoDfold\_variables}}}}}  (const char *seq, const char *structure1, const char *structure2, int circ)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000002}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global get\_TwoDpfold\_variables  (const char *seq, const char *structure1, char *structure2, int circ)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000007}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File gquad.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000078}}Use ViennaRNA/eval/gquad.h and other header files instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File grammar.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000079}}Use ViennaRNA/grammar/basic.h, ViennaRNA/grammar/mfe.h or ViennaRNA/grammar/partfunc.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File hairpin.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000166}}Use ViennaRNA/eval/hairpin.h and ViennaRNA/backtrack/hairpin.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File hairpin\_loops.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000080}}Use ViennaRNA/loops/hairpin.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gab327ce11972f5ac069d52c8dedfdb700}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{HairpinE}}}}}  (int size, int type, int si1, int sj1, const char *string)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000070}}\{This function is deprecated and will be removed soon. Use {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__hp_1ga86aa270e29f10581ced8a9b867c6b051}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_hairpin()}}}}} instead!\}  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global hamming  (const char *s1, const char *s2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000252}}Use {\hyperref[\detokenize{utils/strings:group__string__utils_1ga301798b43b6f66687985c725efd14f32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hamming\_distance()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global hamming\_bound  (const char *s1, const char *s2, int n)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000253}}Use {\hyperref[\detokenize{utils/strings:group__string__utils_1ga5d1c2271e79d9bcb52d4e68360763fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hamming\_distance\_bound()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global iindx}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000077}}Do not use this variable anymore!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaa12dda9dd6179cdd22bcce87c0682c07}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{init\_co\_pf\_fold}}}}}  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000100}}

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga15176e23eceeff8c7d14eabcfec8a2af}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{init\_pf\_fold}}}}}  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000193}}This function is obsolete and will be removed soon! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global init\_rand  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000245}}Use {\hyperref[\detokenize{utils:group__utils_1ga0ad1f40ea316e5c5918695c35613027a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_init\_rand()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gafee0c32208aa2ac97338b6e3fbad7fa5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{initialize\_cofold}}}}}  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000038}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gac3f0a28d9cb609d388b155445073fd20}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{initialize\_fold}}}}}  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000071}}See {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} for the usage of the new API! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global int\_urn  (int from, int to)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000247}}Use {\hyperref[\detokenize{utils:group__utils_1ga46111bb3747dbcf4609f0d40ae169ad9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_int\_urn()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File interior\_loops.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000081}}Use ViennaRNA/loops/internal.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File internal.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000167}}Use ViennaRNA/eval/internal.h, ViennaRNA/mfe/internal.h, ViennaRNA/backtrack/internal.h, and ViennaRNA/partfunc/internal.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File inverse.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000082}}Use ViennaRNA/inverse/basic.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1gafdd1e11b5c7ad443b9f86b818e67bab4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Lfold}}}}}  (const char *string, const char *structure, int maxdist)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000083}}Use {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1ga9b568887c6091a54252729adcb35f6d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Lfoldz}}}}}  (const char *string, const char *structure, int maxdist, int zsc, double min\_z)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000084}}Use {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File loop\_energies.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000085}}Use ViennaRNA/loops/all.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1ga507d4fd93f4b398d793ba2402731388d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{loop\_energy}}}}}  (short *ptable, short *s, short *s1, int i)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000153}}Use {\hyperref[\detokenize{eval/eval_loops:group__eval__loops_1ga5f9fe7c27d0b628a3efc2d725f52853e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_loop\_pt()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga2163034a25c6115d894b199e97e03f6c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{LoopEnergy}}}}}  (int n1, int n2, int type, int type\_2, int si1, int sj1, int sp1, int sq1)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000069}}\{This function is deprecated and will be removed soon. Use {\hyperref[\detokenize{eval/eval_loops:group__eval__loops__int_1gaaaa6eb5605d1c843af1269c6f23cb53c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_E\_internal()}}}}} instead!\}  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global Make\_bp\_profile  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000112}}This function is deprecated and will be removed soon! See Make\_bp\_profile\_bppm() for a replacement 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab037d0de2e4c3d6a3f1d51b5b22315dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{make\_pair\_table}}}}}  (const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000220}}Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable()}}}}} instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab52c17083d021494b64820302be07039}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{make\_pair\_table\_snoop}}}}}  (const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000223}}Use {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga325b0bfa1a4f1a186c917d2fa3777396}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pt\_snoop\_get()}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gafd6aece250daccb89923db327a81e904}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{make\_referenceBP\_array}}}}}  (short *reference\_pt, unsigned int turn)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000226}}Use {\hyperref[\detokenize{utils/structures:group__struct__utils_1gad5e50b8d4f6837ad15ab784738682147}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_refBPcnt\_matrix()}}}}} instead

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga396ec6144c6a74fcbab4cea6b42d76c3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{MEA}}}}}  (plist *p, char *structure, double gamma)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000218}}Use {\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga9b87b664ef014c1266aa50d5bc39f2ac}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_MEA()}}}}} or {\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga26afeef667f7013a743d1d1ebe42666a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_MEA\_from\_plist()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File MEA.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000086}}Use ViennaRNA/structures/mea.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global mean\_bp\_dist  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000196}}This function is not threadsafe and should not be used anymore. Use {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga79cbc375af65f11609feb6b055269e7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{mean\_bp\_distance()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga79cbc375af65f11609feb6b055269e7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{mean\_bp\_distance}}}}}  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000190}}Use {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd9ef9f1a5f0ab31540e4c3d78addc82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance()}}}}} or {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gad3f0c240512e6d43e2e4d4c2076021f5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance\_pr()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gad5ba36cef8d01cf4244cc09b9bf1ce1d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{mean\_bp\_distance\_pr}}}}}  (int length, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} *pr)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000191}}Use {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd9ef9f1a5f0ab31540e4c3d78addc82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance()}}}}} or {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gad3f0c240512e6d43e2e4d4c2076021f5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance\_pr()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File mfe.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000087}}Use ViennaRNA/mfe/global.h and ViennaRNA/backtrack/global.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File mfe\_window.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000088}}Use ViennaRNA/mfe/local.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File multibranch.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000168}}Use ViennaRNA/eval/multibranch.h, ViennaRNA/mfe/multibranch.h, ViennaRNA/backtrack/multibranch.h, and ViennaRNA/partfunc/multibranch.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File multibranch\_loops.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000091}}Use ViennaRNA/loops/multibranch.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File naview.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000092}}Use ViennaRNA/plotting/naview/naview.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga502948a122a2af5b914355b1f3ea2f61}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{nc\_fact}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000017}}See {\hyperref[\detokenize{grammar/model_details:structvrna__md__s_1abcf568e6124bfcb2f847ff4eb0dfded6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t.nc\_fact}}}}}, and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} to avoid using global variables 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File neighbor.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000093}}Use ViennaRNA/landscape/neighbor.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global nrerror  (const char message{[}{]})}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000242}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error()}}}}} instead! (since v2.7.0)  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga99e8565f0e7eb7c59a100841d50d7ee5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pack\_structure}}}}}  (const char *struc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000212}}Use {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9db9613100e9f750017d3e13a874bb7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pack()}}}}} as a replacement

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga4381025ffbd692e54189b2c679c79c99}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PAIR}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000138}}Use {\hyperref[\detokenize{utils/data_structures:structvrna__basepair__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_basepair\_t}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa_deprecated:group__aln__utils__deprecated_1ga7b61662a793ad0aa1ea38efc3a5baacc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pair\_info}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000207}}Use {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga6660dfca23debee7306e0cd53341263f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pinfo\_t}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File params.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000094}}Use ViennaRNA/params/basic.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga857dde86357d306cc902f0d8b2797659}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{paramT}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000171}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gadf0ad2d46c9ca7b850437d1b79627a7e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{parenthesis\_structure}}}}}  (char *structure, {\hyperref[\detokenize{utils/data_structures:structvrna__bp__stack__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_stack\_t}}}}} *bp, int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000214}}use vrna\_parenthesis\_structure() instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1gab9c5c8311bd5120900585d4fa50c2df0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{parenthesis\_zuker}}}}}  (char *structure, {\hyperref[\detokenize{utils/data_structures:structvrna__bp__stack__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_stack\_t}}}}} *bp, int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000215}}use vrna\_parenthesis\_zuker instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File part\_func.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000095}}Use ViennaRNA/partfunc/global.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File part\_func\_window.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000105}}Use ViennaRNA/partfunc/local.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_deprecated:group__paths__deprecated_1gab6b8737d5377e70a7815d04aae7fd884}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{path\_t}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000164}}Use {\hyperref[\detokenize{landscape/paths:group__paths_1ga818d4f3d1cf8723d6905990b08d909fe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_t}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga4b6d04c882ae87b6cee9a516e06c4155}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack\_circ}}}}}  (char *sequence)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000186}}Use {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack()}}}}} instead. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga819ce5fca8984004ac81c4a3b04cb735}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_circ\_fold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000185}}Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gac4f95bee734b2563a3d6e9932117ebdf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_fold\_par}}}}}  (const char *sequence, char *structure, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *parameters, int calculate\_bppm, int is\_constrained, int is\_circular)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000184}}Use {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File pf\_multifold.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000106}}Use ViennaRNA/partfunc/multifold.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8bffe1828e2cbec101769f5cc0b1535b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pf\_paramT}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000172}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga9608eed021ebfbdd7a901cfdc446c8e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{plist}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000139}}Use {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} or {\hyperref[\detokenize{utils/struct/plist:structvrna__elem__prob__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_elem\_prob\_s}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File plot\_aln.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000108}}Use ViennaRNA/plotting/alignments.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File plot\_layouts.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000109}}Use ViennaRNA/plotting/layouts.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File plot\_structure.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000110}}Use ViennaRNA/plotting/structures.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File plot\_utils.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000111}}Use ViennaRNA/plotting/utils.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global pr}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000076}}Do not use this variable anymore!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global print\_tty\_constraint  (unsigned int option)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000133}}Use vrna\_message\_constraints() instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global print\_tty\_constraint\_full  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000134}}Use {\hyperref[\detokenize{grammar/constraints:group__constraints_1gaec7e13fa0465c2acc7a621d1aecb709f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_constraint\_options\_all()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global print\_tty\_input\_seq  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000239}}Use {\hyperref[\detokenize{utils/messages:group__message__utils_1gaee1dd652ca5b9e56b096963a1576f73b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_input\_seq\_simple()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global print\_tty\_input\_seq\_str  (const char *s)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000240}}Use {\hyperref[\detokenize{utils/messages:group__message__utils_1gaf4d194d558b0c975f269de01dea52460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_input\_seq()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga821802c3685e37e15182341f6217470d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PS\_color\_aln}}}}}  (const char *structure, const char *filename, const char *seqs{[}{]}, const char *names{[}{]})}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000199}}Use {\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga3bb7409f5b73c2273f9f76cf8b754034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln()}}}}} instead!

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File PS\_dot.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000113}}Use ViennaRNA/plotting/probabilities.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga689a97a7e3b8a2df14728b8204d9d57b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PS\_dot\_plot}}}}}  (char *string, char *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000203}}This function is deprecated and will be removed soon! Use {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1ga4d3a807be24a9a60a90a82dbc3225f02}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PS\_dot\_plot\_list()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga0873c7cc4cd7a11c9a2cea19dde7e9c9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PS\_rna\_plot}}}}}  (char *string, char *structure, char *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000204}}Use {\hyperref[\detokenize{utils/plots:group__plotting__utils_1gabdc8f6548ba4a3bc3cd868ccbcfdb86a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga47856b2504b566588785597b6ebb8271}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PS\_rna\_plot\_a}}}}}  (char *string, char *structure, char *file, char *pre, char *post)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000205}}Use {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga32fa0f97625119e9d24dd2e7153abc4f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{PS\_rna\_plot\_a\_gquad}}}}}  (char *string, char *structure, char *ssfile, char *pre, char *post)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000206}}Use {\hyperref[\detokenize{utils/plots:group__plotting__utils_1ga139a31dd0ba9fc6612431f67de901c31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_rnaplot\_a()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global random\_string  (int l, const char symbols{[}{]})}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000251}}Use {\hyperref[\detokenize{utils/strings:group__string__utils_1gab4714ab789de302ee19e0e7ea0766a3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_random\_string()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File read\_epars.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000114}}Use ViennaRNA/params/io.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga165a142a3c68fb6655c69ef4ab7cd749}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{read\_parameter\_file}}}}}  (const char fname{[}{]})}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000181}}Use {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1gafd194a69af9d92b5b0412a7627ac1595}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{read\_record}}}}}  (char **header, char **sequence, char ***rest, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000160}}This function is deprecated! Use {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga8cfb7e271efc9e1f34640acb85475639}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_fasta\_read\_record()}}}}} as a replacment. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File ribo.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000115}}Use ViennaRNA/params/ribosum.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga5fe3524fd6d2a297099238f117254c13}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{scale\_parameters}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000178}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga51839957423a01c8613f5a978b37a514}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/data_structures:group__data__structures_1gaaacedee1f05d3d45aa6764eca51a8876}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{sect}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000141}}Use {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1gacc9cdae790dac75a7024e7069c0d4400}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sect\_t}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File sequence.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000119}}Use ViennaRNA/sequences/sequence.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabad896c3650d420f3f3ddefc69e2bceb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{set\_model\_details}}}}}  ({\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000090}}This function will vanish as soon as backward compatibility of RNAlib is dropped (expected in version 3). Use {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File SHAPE.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000136}}Use ViennaRNA/probing/SHAPE.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gac4ea13d35308f09940178d2b05a248c2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{simple\_circplot\_coordinates}}}}}  (short *pair\_table, float *x, float *y)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000202}}Consider switching to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1gaeec80faa235f3ca489bc5e50adc41460}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_circular\_pt()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/deprecated:group__plotting__utils__deprecated_1gaf4b9173e7d3fd361c3c85e6def194123}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{simple\_xy\_coordinates}}}}}  (short *pair\_table, float *X, float *Y)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000201}}Consider switching to {\hyperref[\detokenize{utils/plots/layouts:group__plot__layout__utils_1ga76788091848e73cfb24b31536e22b7dd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_coords\_simple\_pt()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global SOLUTION}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000228}}Use vrna\_subopt\_solution\_t instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global space  (unsigned size)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000243}}Use {\hyperref[\detokenize{utils:group__utils_1ga33cfc8d12ab976aa34025ce53b643f77}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alloc()}}}}} instead! (since v2.2.0)  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gacd79b1a570e6ad9be24cb11fe8cae30a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{st\_back}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000183}}set the \sphinxstyleemphasis{uniq\_ML} flag in {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} before passing it to {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab89fe9844031711d42c70d1b9277c0d5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound()}}}}}. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga963dfa795074d53ff23c5b1ab01406f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{stackProb}}}}}  (double cutoff)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000192}}Use {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga39bbe73ccb7685b6521cfa5c1c64ae78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_stack\_prob()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global str\_DNA2RNA  (char *sequence)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000209}}Use {\hyperref[\detokenize{utils/strings:group__string__utils_1gacfed92cba77064f6c743f9118d079bfc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_seq\_toRNA()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global str\_uppercase  (char *sequence)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000250}}Use {\hyperref[\detokenize{utils/strings:group__string__utils_1ga4f44dca03c9d708d68e64c0610bb9091}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_seq\_toupper()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File stream\_output.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000120}}Use ViennaRNA/datastructures/stream\_output.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File string\_utils.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000121}}Use ViennaRNA/utils/strings.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File structure\_utils.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000122}}Use ViennaRNA/utils/structures.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File structures.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000254}}Use an appropriate header from ViennaRNA/structures/ instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File subopt.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000123}}Use ViennaRNA/subopt/basic.h and ViennaRNA/subopt/wuchty.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File subopt\_zuker.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000124}}Use ViennaRNA/subopt/zuker.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File svm\_utils.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000125}}Use ViennaRNA/utils/svm.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/model_details:group__model__details_1gab4b11c8d9c758430960896bc3fe82ead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{temperature}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000089}}Use {\hyperref[\detokenize{grammar/model_details:group__model__details_1gaf9e527e9a2f7e6fd6e42bc6e602f5445}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_temperature()}}}}}, and {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga96b24a74437f9ba46c4e06343155bf46}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_defaults\_temperature\_get()}}}}} to change, and read the global default temperature settings 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global time\_stamp  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000249}}Use {\hyperref[\detokenize{utils:group__utils_1ga0b5134fd776e2aa66ccc2af258721594}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_time\_stamp()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga83816eb31ac4d0d7403354d1916495c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_backtrack\_f5}}}}}  (unsigned int j, int k, int l, {\hyperref[\detokenize{classified/kl_neighborhood:structTwoDfold__vars}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}} *vars)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000005}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga1297d34a208f6e3df1670420baaaaead}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_backtrack5\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Struct {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000001}}This data structure will be removed from the library soon! Use {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1gad2c0d04ff67eb827b6f4ea78e65a719c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfoldList}}}}}  ({\hyperref[\detokenize{classified/kl_neighborhood:structTwoDfold__vars}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{TwoDfold\_vars}}}}} *vars, int distance1, int distance2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000004}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__mfe_1ga264ac71e75add31dfb1fc72a0b2de709}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global TwoDpfold\_pbacktrack  (TwoDpfold\_vars *vars, int d1, int d2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000010}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__stochbt_1ga8527c142361ad019ef9b80c50591f215}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global TwoDpfold\_pbacktrack5  (TwoDpfold\_vars *vars, int d1, int d2, unsigned int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000011}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}, {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__stochbt_1gae375170cbf15744a9cf2db33d0a2cb75}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Struct TwoDpfold\_vars}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000006}}This data structure will be removed from the library soon! Use {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global TwoDpfoldList  (TwoDpfold\_vars *vars, int maxDistance1, int maxDistance2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000009}}Use the new API that relies on {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} and the corresponding functions vrna\_fold\_compound\_TwoD(), {\hyperref[\detokenize{classified/kl_neighborhood:group__kl__neighborhood__pf_1gac3bf71cefa4414f695e51f5da7269ebb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_TwoD()}}}}}, and {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_free()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File units.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000126}}Use ViennaRNA/utils/units.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga288130063fdf28acbe3c2ce3e826cf4b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{unpack\_structure}}}}}  (const char *packed)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000213}}Use {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga9c8c7296b5bb75f7d32c20dc004eb723}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_unpack()}}}}} as a replacement

\sphinxAtStartPar


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gac484c6bd429bafbd353b91044508d8e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_alifold\_params}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000025}}Usage of this function is discouraged! The new API uses {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} to lump all folding related necessities together, including the energy parameters. Use vrna\_update\_fold\_params() to update the energy parameters within a {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}.  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga6e0f36c1f9b7d9dd4bfbad914c1119e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_co\_pf\_params}}}}}  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000103}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga75465d7e8793db68a434d83df9a2e794}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_co\_pf\_params\_par}}}}}  (int length, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *parameters)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000104}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4fcbf34e77b99bfbb2333d2ab0c41a57}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_cofold\_params}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000034}}See {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} for an alternative using the new API 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaaadbd28b4e428710529ab4098fdacad3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_cofold\_params\_par}}}}}  ({\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000035}}See {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} for an alternative using the new API 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga41bf8f6fa15b94471f7095cad9f0ccf3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_fold\_params}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000063}}For non\sphinxhyphen{}default model settings use the new API with {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gae66dc422efb8f5d56717d92d6002a9f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_fold\_params\_par}}}}}  ({\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000064}}For non\sphinxhyphen{}default model settings use the new API with {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}} and {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga384e927890f9c034ff09fa66da102d28}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_pf\_params}}}}}  (int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000188}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1gaafe2d1b21f5418b123b088aa395e827d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{update\_pf\_params\_par}}}}}  (int length, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *parameters)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000189}}Use {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}} instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global urn  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000246}}Use {\hyperref[\detokenize{utils:group__utils_1ga384e256ebb295d04a14426179db0dd6e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_urn()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File utils.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000107}}Use ViennaRNA/utils/basic.h instead 

\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000127}}Use ViennaRNA/utils/basic.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Struct {\hyperref[\detokenize{utils/data_structures:group__data__structures}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_basepair\_t}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000137}}Use {\hyperref[\detokenize{utils/data_structures:group__data__structures__bt_1ga01442581d60780d905993768e2efa98d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_t}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga771d6af505144fbfa79af58c5c46f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_callback\_free\_auxdata}}}}}  (void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000072}}Use {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f(void *data)}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga9ef3a297201dbf838a8daff2b45c0c82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cofold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000170}}This function is obsolete since {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}/vrna\_fold() can handle complexes multiple sequences since v2.5.0. Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}}/vrna\_fold() for connected component MFE instead and compute MFEs of unconnected states separately. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga62e0ed0c33002c09423de4e646f85a2b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_FILE}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000129}}Use 0 instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga7d725ef525b29891abef3f1ed42599a4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_MULTILINE}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000157}}see {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1gac788da233f9160b06c2e751afad8936c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_extract\_record\_rest\_structure()}}}}}

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global VRNA\_CONSTRAINT\_NO\_HEADER}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000132}}This mode is not supported anymore! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga62aa195893d02d1a79ca94952748df36}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_SOFT\_MFE}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000130}}This flag has no meaning anymore, since constraints are now always stored! (since v2.2.6) 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints:group__constraints_1ga03fb5000c19b9a2082bf4ea30a543045}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_CONSTRAINT\_SOFT\_PF}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000131}}Use {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gabfbadcddda3e74ce7f49035ef8f058f7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_PF}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global vrna\_exp\_param\_s::id}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000180}}This attribute will be removed in version 3  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1ga55a9ae6dfeecc1b3f0c2acf6fa796c15}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_extract\_record\_rest\_constraint}}}}}  (char **cstruc, const char **lines, unsigned int option)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000158}}Use {\hyperref[\detokenize{utils/io/file_formats:group__file__formats_1gac788da233f9160b06c2e751afad8936c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_extract\_record\_rest\_structure()}}}}} instead! 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global vrna\_fc\_s::pscore\_pf\_compat}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000074}}This attribute will vanish in the future!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global vrna\_fc\_s::ptype\_pf\_compat}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000073}}This attribute will vanish in the future! It’s meant for backward compatibility only!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/messages:group__message__utils_1ga36b35be01d7f36cf7f59c245eee628d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_error}}}}}  (const char *format,...)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000232}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error()}}}}} instead! (since v2.7.0) 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/messages:group__message__utils_1ga039bae6153a6415b054dbe6045f83d03}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_info}}}}}  (FILE *fp, const char *format,...)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000236}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info()}}}}} instead! (since v2.7.0) 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/messages:group__message__utils_1gabc1a08dea0d84b5c33701732172a8b18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_verror}}}}}  (const char *format, va\_list args)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000233}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga8da5560f12f62e4afc523e3ee26e8017}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_error()}}}}} instead! (since v2.7.0) 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/messages:group__message__utils_1gad8b8139bd04fbfb51e398e9fcd6908dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_vinfo}}}}}  (FILE *fp, const char *format, va\_list args)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000237}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga74ffae709f4db9d02cbd07b1e09b8f50}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_info()}}}}} instead! (since v2.7.0) 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/messages:group__message__utils_1ga377aa8ec8a49d343063adb22e6311f26}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_vwarning}}}}}  (const char *format, va\_list args)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000235}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning()}}}}} instead! (since v2.7.0) 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/messages:group__message__utils_1ga6e07ed24add60693ba886d54d0a46635}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_message\_warning}}}}}  (const char *format,...)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000234}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning()}}}}} instead! (since v2.7.0) 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000169}}This function is obsolete since {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} can handle complexes multiple sequences since v2.5.0. Use {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe()}}}}} for connected component MFE instead and compute MFEs of unconnected states separately. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{File walk.h}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000128}}Use ViennaRNA/landscape/walk.h instead  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global warn\_user  (const char message{[}{]})}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000241}}Use {\hyperref[\detokenize{utils/logs:group__utils__log_1ga0cd0cd19f100942b3a0e3911b9aa94b9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_log\_warning()}}}}} instead! (since v2.7.0)  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga8a43459be386a7489feeab68dc2c6c76}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{write\_parameter\_file}}}}}  (const char fname{[}{]})}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000182}}Use {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save()}}}}} instead!  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global xrealloc  (void *p, unsigned size)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000244}}Use {\hyperref[\detokenize{utils:group__utils_1ga32b9be2bce5638658fa94d3c7fb0d194}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_realloc()}}}}} instead! (since v2.2.0)  

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/zuker:group__subopt__zuker_1ga6b9eca4eb5772eecee76a6bb188063c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{zukersubopt}}}}}  (const char *string)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000229}}use vrna\_zukersubopt() instead 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/zuker:group__subopt__zuker_1gaf8d33bb499d66ef758db9c62cb0f6caa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{zukersubopt\_par}}}}}  (const char *string, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *parameters)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{deprecated:deprecated_1_deprecated000230}}use vrna\_zukersubopt() instead

\end{fulllineitems}



\end{fulllineitems}


\sphinxstepscope


\chapter{SWIG Wrappers}
\label{\detokenize{wrappers:swig-wrappers}}\label{\detokenize{wrappers::doc}}

\section{Introduction}
\label{\detokenize{wrappers:introduction}}
\sphinxAtStartPar
For an easy integration into scripting languages, we provide an automatically
generated interface to the RNAlib C\sphinxhyphen{}library, generated with SWIG. Currently,
we support \sphinxcode{\sphinxupquote{Perl 5}} and \sphinxcode{\sphinxupquote{Python}} as target languages.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}
\end{sphinxadmonition}


\section{Function Renaming}
\label{\detokenize{wrappers:function-renaming}}
\sphinxAtStartPar
To provide a namespace\sphinxhyphen{}like separation of function symbols from our C library and
third\sphinxhyphen{}party code, we use the prefix \sphinxcode{\sphinxupquote{vrna\_}} or \sphinxcode{\sphinxupquote{VRNA\_}} whenever possible. This,
however, is not necessary for the scripting language interface, as it uses the
separate namespace or package \sphinxtitleref{RNA} anyway. Consequently, symbols that appear to
have the \sphinxcode{\sphinxupquote{vrna\_}} or \sphinxcode{\sphinxupquote{VRNA\_}} prefix in the C\sphinxhyphen{}library have the corresponding prefix
stripped away.

\sphinxAtStartPar
For instance, the C code

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{structure}\PYG{p}{)}\PYG{p}{;}
\end{sphinxVerbatim}

\sphinxAtStartPar
translates to

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k}{my}\PYG{+w}{ }\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{structure}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{mfe}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n+nn}{RNA::}\PYG{n}{fold}\PYG{p}{(}\PYG{n+nv}{\PYGZdl{}}\PYG{n+nv}{sequence}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
in the Perl 5 interface, and

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{structure}\PYG{p}{,} \PYG{n}{mfe} \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold}\PYG{p}{(}\PYG{n}{sequence}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxAtStartPar
for Python. Note, that in this example we also make use of the possibilty to
return multiple data at once in the scripting language, while the C library function
uses additional parameters to return multiple data.

\sphinxAtStartPar
Functions that are dedicated to work on specific data structures only,
e.g. the {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}}, are usually not exported at all. Instead,
they are attached as object methods of a corresponding class
(see {\hyperref[\detokenize{wrappers:object-oriented-interface}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Object Oriented Interface}}}}} for detailed information).


\subsection{Global Variables}
\label{\detokenize{wrappers:global-variables}}
\sphinxAtStartPar
For the Python interface(s) SWIG places global variables of the C\sphinxhyphen{}library
into an additional namespace \sphinxcode{\sphinxupquote{cvar}}. For instance, changing the global temperature
variable thus becomes


\section{Object Oriented Interface}
\label{\detokenize{wrappers:object-oriented-interface}}
\sphinxAtStartPar
For data structures, typedefs, and enumerations the \sphinxcode{\sphinxupquote{vrna\_}} prefixes are
dropped as well, together with their suffixes \sphinxcode{\sphinxupquote{\_s}}, \sphinxcode{\sphinxupquote{\_t}}, and \sphinxcode{\sphinxupquote{\_e}}, respectively.
Furthermore, data structures are usually transformed into classes and
relevant functions of the C\sphinxhyphen{}library are attached as methods.


\section{Examples}
\label{\detokenize{wrappers:examples}}
\sphinxAtStartPar
Examples on the basic usage of the scripting language interfaces can be
found in the {\hyperref[\detokenize{examples/perl5::doc}]{\sphinxcrossref{\DUrole{doc}{Perl 5 Examples}}}} and {\hyperref[\detokenize{examples/python::doc}]{\sphinxcrossref{\DUrole{doc}{Python Examples}}}} sections.


\section{SWIG Wrapper notes}
\label{\detokenize{wrappers:swig-wrapper-notes}}
\sphinxAtStartPar
Special notes on how functions, structures, enums, and macro definitions are
actually wrapped, can be found below


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{\phantomsection\label{\detokenize{wrappers:wrappers}}}
\pysigstopsignatures
\sphinxAtStartPar


\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/abstract_shapes:group__struct__utils__abstract__shapes_1gafca0add98ede22bf2c22608878c61b22}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_abstract\_shapes}}}}}  (const char *structure, unsigned int level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000177}} 
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{abstract\_shapes()}} where the optional second parameter \sphinxcode{\sphinxupquote{level}} defaults to 5. See, e.g.   {\hyperref[\detokenize{api_python:RNA.abstract_shapes}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.abstract\_shapes()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/abstract_shapes:group__struct__utils__abstract__shapes_1ga2fd59087e1c4e3d460e5823ba6d693b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_abstract\_shapes\_pt}}}}}  (const short *pt, unsigned int level)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000178}} 
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{abstract\_shapes()}} where the optional second parameter \sphinxcode{\sphinxupquote{level}} defaults to 5. See, e.g.   {\hyperref[\detokenize{api_python:RNA.abstract_shapes}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.abstract\_shapes()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga6c9d3bef3e92c6d423ffac9f981418c1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_alifold}}}}}  (const char **sequences, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000114}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4cf00f0659e5f0480335d69e797f05b1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{alifold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.alifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.alifold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1gaa43d3de352753529a4578cb02cd8bc52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aliLfold}}}}}  (const char **alignment, int maxdist, FILE *fp)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000125}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aliLfold()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{fp}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.aliLfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aliLfold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1gae9b2e312c316961d4a067f9b789cc9d7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aliLfold\_cb}}}}}  (const char **alignment, int maxdist, {\hyperref[\detokenize{mfe/window:group__mfe__window_1gaa97863c328b909d7da26d618e0c83fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_f}}}}} cb, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000126}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aliLfold\_cb()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{data}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.aliLfold_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aliLfold\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa:group__aln__utils_1gacd02c66d9e6f8dd5318f4fca0dc76cba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_consensus\_mis}}}}}  (const char **alignment, const {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000004}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_consensus\_mis()}} where the last parameter may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_consensus_mis}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_consensus\_mis()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa:group__aln__utils_1gac6a33fa856d66dcb6f5d40ce0b61d7c7}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_consensus\_sequence}}}}}  (const char **alignment, const {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md\_p)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000003}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_consensus\_sequence()}} where the last parameter may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_consensus_sequence}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_consensus\_sequence()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa:group__aln__utils_1gaa12b481a7e7b965ef2eb1bcc4399e759}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_conservation\_col}}}}}  (const char **alignment, const {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md\_p, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000002}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_conservation\_col()}} where the last two parameters may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}, and \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga1e659227c9fc077d29989f576f129000}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MEASURE\_SHANNON\_ENTROPY}}}}}, respectively. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_conservation_col}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_conservation\_col()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa:group__aln__utils_1gab6f16a2ea93f3bfd4d089cc8d448bb16}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_conservation\_struct}}}}}  (const char **alignment, const char *structure, const {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000001}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_conservation\_struct()}} where the last parameter \sphinxcode{\sphinxupquote{md}} may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.aln_conservation_struct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_conservation\_struct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa:group__aln__utils_1gade5a1f2d16e7fd9a57b37d8514f08e8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_mpi}}}}}  (const char **alignment)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000005}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{aln\_mpi()}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_mpi}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_mpi()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/msa:group__aln__utils_1ga697bf6f44356918cceeff4ed8ee885e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_aln\_pscore}}}}}  (const char **alignment, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000006}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{aln\_pscore()}} where the last parameter may be omitted, indicating \sphinxcode{\sphinxupquote{md}} = \sphinxcode{\sphinxupquote{NULL}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_pscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_pscore()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/backtracking:group__mfe__backtracking_1gaaee7355f060fe9eed8e687522567715e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_backtrack5}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int length, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000111}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{backtrack()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{length}} defaults to the total length of the RNA sequence and may be omitted. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.backtrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.backtrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gad07a7bdc53226e00cdcadb50160873d9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_boustrophedon}}}}}  (size\_t start, size\_t end)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000032}} 
\sphinxAtStartPar
This function is available as overloaded global function \sphinxcode{\sphinxupquote{boustrophedon()}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.boustrophedon}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.boustrophedon()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga9093b53bb7eaaa9b5a8972ac87082d32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_boustrophedon\_pos}}}}}  (size\_t start, size\_t end, size\_t pos)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000031}} 
\sphinxAtStartPar
This function is available as overloaded global function \sphinxcode{\sphinxupquote{boustrophedon()}}. Omitting the \sphinxcode{\sphinxupquote{pos}} argument yields the entire sequence from \sphinxcode{\sphinxupquote{start}} to \sphinxcode{\sphinxupquote{end}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.boustrophedon}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.boustrophedon()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/metrics:group__struct__utils__metrics_1ga65bdfbac6a16bf30286e8a3f7d15f60a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_distance}}}}}  (const char *str1, const char *str2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000180}} 
\sphinxAtStartPar
This function is available as an overloaded method \sphinxstylestrong{{\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6ebbcd29a754f0e4f1a66d1fd84184db}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bp\_distance()}}}}}}. Note that the SWIG wrapper takes two structure in dot\sphinxhyphen{}bracket notation and converts them into pair tables using {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}. The resulting pair tables are then internally passed to {\hyperref[\detokenize{utils/struct/metrics:group__struct__utils__metrics_1gae08cbd5ff44b7d77a271ceb79c12cfef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_distance\_pt()}}}}}. To control which kind of matching brackets will be used during conversion, the optional argument \sphinxcode{\sphinxupquote{options}} can be used. See also the description of {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}} for available options. (default: \sphinxstylestrong{VRNA\_BRACKETS\_RND}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/metrics:group__struct__utils__metrics_1gae08cbd5ff44b7d77a271ceb79c12cfef}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bp\_distance\_pt}}}}}  (const short *pt1, const short *pt2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000179}} 
\sphinxAtStartPar
This function is available as an overloaded method \sphinxstylestrong{{\hyperref[\detokenize{utils/struct/deprecated:group__struct__utils__deprecated_1ga6ebbcd29a754f0e4f1a66d1fd84184db}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{bp\_distance()}}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga17a1be7490468c29c335ba9bffacba53}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circalifold}}}}}  (const char **sequences, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000115}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gadbd3b0b1c144cbfb4efe704b2b260f96}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circalifold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.circalifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circalifold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaf973483d8acbc8cc9aacfc8a9b7f0074}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_circfold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000113}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1ga4ac63ab3e8d9a80ced28b8052d94e423}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{circfold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.circfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circfold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga9ef3a297201dbf838a8daff2b45c0c82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cofold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000116}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gabc8517f22cfe70595ee81fc837910d52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{cofold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.cofold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.cofold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga9232cb0efe364086a8a5ee1449e537ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_commands\_apply}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{utils/io/commands:group__command__files_1gaf31afe4c5f8e4bf44a670ab4c3dcd916}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_cmd\_t}}}}} commands, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000035}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{commands\_apply()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.commands_apply}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.commands\_apply()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten}}}}}  (char *structure, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000172}} 
\sphinxAtStartPar
This function flattens an input structure string in\sphinxhyphen{}place! The second parameter is optional and defaults to {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga559ebf76b1b289f85309f4206e99aa1a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_DEFAULT}}}}}.

\sphinxAtStartPar
An overloaded version of this function exists, where an additional second parameter can be passed to specify the target brackets, i.e. the type of matching pair characters all brackets will be flattened to. Therefore, in the scripting language interface this function is a replacement for {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to()}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_flatten}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_flatten()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga690425199c8b71545e7196e3af1436f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten\_to}}}}}  (char *string, const char target{[}3{]}, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000173}} 
\sphinxAtStartPar
This function is available as an overloaded version of {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gafd1304f5a86e2e3f1425e725cde44fa2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_flatten()}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_flatten}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_flatten()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/structures:group__struct__utils_1gacb5f1fafaf20eaf6a63052153499f0bb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_from\_probs}}}}}  (const {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} *pr, unsigned int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000181}} 
\sphinxAtStartPar
This function is available as parameter\sphinxhyphen{}less method \sphinxstylestrong{db\_from\_probs()} bound to objects of type \sphinxstyleemphasis{fold\_compound}. Parameters \sphinxcode{\sphinxupquote{pr}} and \sphinxcode{\sphinxupquote{length}} are implicitely taken from the \sphinxstyleemphasis{fold\_compound} object the method is bound to. Upon missing base pair probabilities, this method returns an empty string. See, e.g.   \sphinxcode{\sphinxupquote{RNA.db\_from\_probs()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga97dbebaa3fc49524cf5afa338a6c52ee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_db\_pk\_remove}}}}}  (const char *structure, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000174}} 
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{db\_pk\_remove()}} where the optional second parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1ga013a9da903462d2f2b037f0c6ffb46e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_ANY}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_pk_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_pk\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gaaf197722d1faa86af5e7b4240acafdee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ensemble\_defect}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000149}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ensemble\_defect()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. Note that the SWIG wrapper takes a structure in dot\sphinxhyphen{}bracket notation and converts it into a pair table using {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}}. The resulting pair table is then internally passed to {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga20b7a56fa9e451461805fd968c6cd909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ensemble\_defect\_pt()}}}}}. To control which kind of matching brackets will be used during conversion, the optional argument \sphinxcode{\sphinxupquote{options}} can be used. See also the description of {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string()}}}}} for available options. (default: \sphinxcode{\sphinxupquote{VRNA\_BRACKETS\_RND}}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ensemble_defect}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ensemble\_defect()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga20b7a56fa9e451461805fd968c6cd909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ensemble\_defect\_pt}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const short *pt)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000148}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{ensemble\_defect()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ensemble_defect}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ensemble\_defect()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gae081ac655a76bd5c4b3d86c60b096b75}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_enumerate\_necklaces}}}}}  (const unsigned int *type\_counts)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000024}} 
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{enumerate\_necklaces()}} which accepts lists input, an produces list of lists output. See, e.g.    {\hyperref[\detokenize{api_python:RNA.enumerate_necklaces}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.enumerate\_necklaces()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga2bcdf2a49e4924d121fb7223e48d8981}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_equilibrium\_conc}}}}}  (const double *eq\_constants, double *concentration\_strands, const unsigned int **A, size\_t num\_strands, size\_t num\_complexes)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000037}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{equilibrium\_conc()}} where the last two parameters \sphinxcode{\sphinxupquote{num\_strands}} and \sphinxcode{\sphinxupquote{num\_complexes}} are optional. In case they are omitted, the respective numbers will be determined from the length of the input list parameters \sphinxcode{\sphinxupquote{eq\_constants}} and \sphinxcode{\sphinxupquote{concentration\_strands}}, respectively. Note, that the C implementation stores equilibrium concentrations for the monomer species in place within the \sphinxcode{\sphinxupquote{concentration\_strands}} parameter. In contrast to that, the scripting language wrappers will rather append them to the returned output list.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{rip/pf:group__pf__cofold_1ga888bc698ac08d3a057c9c0a43b548d78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_equilibrium\_constants}}}}}  (const double *dG\_complexes, const double *dG\_strands, const unsigned int **A, double kT, size\_t strands, size\_t complexes)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000036}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{equilibrium\_constants()}} where the last two parameters \sphinxcode{\sphinxupquote{strands}} and \sphinxcode{\sphinxupquote{complexes}} are optional. In case they are omitted, the respective numbers will be determined from the length of the input list parameters \sphinxcode{\sphinxupquote{dG\_complexes}} and \sphinxcode{\sphinxupquote{dG\_strands}}, respectively. See also   {\hyperref[\detokenize{api_python:RNA.equilibrium_constants}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.equilibrium\_constants()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae621c4da20e78df6c374e65eede4a313}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_consensus\_structure}}}}}  (const char **alignment, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000080}} 
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gae924c5f0d1b132e64271b16e700457e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_consensus\_structure\_v}}}}}  (const char **alignment, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000088}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga15234ede0f328e28f4075f2a1b177022}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_consensus\_structure}}}}}  (const char **alignment, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000082}} 
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga8835380ac51903da01dc3656f2387a9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_consensus\_structure\_v}}}}}  (const char **alignment, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000090}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure}}}}}  (const char *string, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000078}} 
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga7fd7d128b415f8b87ee1f1c8050a0579}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga7fd7d128b415f8b87ee1f1c8050a0579}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure\_v}}}}}  (const char *string, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000086}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gac4c97791523b4f222f0b49dc184b06fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_gquad\_structure()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure}}}}}  (const char *string, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000076}} 
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga8a56347a94dd85facde5985b9c206426}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga8a56347a94dd85facde5985b9c206426}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure\_v}}}}}  (const char *string, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000084}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabea8429fcdd8c1ad549572dcc852fb42}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_circ\_structure()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gabbb4d2a7aa324ec9cce8f47ce61ab8af}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_pt\_simple}}}}}  (const char **alignment, const short *pt)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000092}} 
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0bba59b4d6e53461088666ff4aece7b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_pt_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf2d227b3d54bf9b693a3df52faf5e2e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_pt\_simple\_v}}}}}  (const char **alignment, const short *pt, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000093}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0bba59b4d6e53461088666ff4aece7b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_pt_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga25d4bc5510e31a2d2d4ac44b060f2272}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple}}}}}  (const char **alignment, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000079}} 
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaa313c2f6a06e48671f7a2ff6a3227653}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_consensus\_structure\_simple\_v}}}}}  (const char **alignment, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000087}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga40ebcb27ac05241944b570bc7ffd8409}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_covar\_structure}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000069}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_covar\_structure()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_covar_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_covar\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga998a676020cf1464cf65d683e2acdaa8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_consensus\_structure}}}}}  (const char **alignment, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000081}} 
\sphinxAtStartPar
This function is available through an overloadeded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga3b236c1487fcfd1c95daa36a04bace38}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_consensus\_structure\_v}}}}}  (const char **alignment, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000089}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}. Simply pass a sequence alignment as list of strings (including gaps) as first, and the consensus structure as second argument. The last two arguments are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure}}}}}  (const char *string, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000077}} 
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2acd501f014d3829a26e8c8fece3f876}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2acd501f014d3829a26e8c8fece3f876}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure\_v}}}}}  (const char *string, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000085}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0e7e11f55f95f9c76fb8cc902b02f842}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_gquad\_structure()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gad0bb844f8dc704c71737ae1d7e32b975}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_hp\_loop}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int i, int j)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000073}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_hp\_loop()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_hp_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_hp\_loop()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_deprecated:group__eval__deprecated_1gaab3547bfcdc39d89babbc7ed2a1a4b65}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_int\_loop}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int i, int j, int k, int l)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000074}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_int\_loop()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_int_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_int\_loop()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_loops:group__eval__loops_1ga5f9fe7c27d0b628a3efc2d725f52853e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_loop\_pt}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int i, const short *pt)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000070}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_loop\_pt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_loop_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_loop\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga2e542ea644f28d33b05ec81b7cd60ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure, int m1, int m2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000071}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_move()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_move:group__eval__move_1ga03995d1cd83b3881af7c89dd4ddbdefc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_move\_pt}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, short *pt, int m1, int m2)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000072}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_move\_pt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga06985672a4c73f0e56e1c5722e0aa88e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000065}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf7227a536cfa4bfd35bf015c865863f6}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const short *pt)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000066}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure\_pt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga0bba59b4d6e53461088666ff4aece7b0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_simple}}}}}  (const char *string, const short *pt)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000091}} 
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga2573093f1546389c1d56cf7ee9d206fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_pt_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga9e8775770750783304d24fe0c4b15293}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_pt\_verbose}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const short *pt, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000068}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure\_pt\_verbose()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt\_verbose()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple}}}}}  (const char *string, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000075}} 
\sphinxAtStartPar
In the target scripting language, this function serves as a wrapper for {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v()}}}}} and, thus, allows for two additional, optional arguments, the verbosity level and a file handle which default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively.. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaddb30ac265f1a39557170e7acac4930f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple\_v}}}}}  (const char *string, const char *structure, int verbosity\_level, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000083}} 
\sphinxAtStartPar
This function is available through an overloaded version of {\hyperref[\detokenize{eval/eval_structures:group__eval_1gab6930f446d04761454d033680fbf7909}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_simple()}}}}}. The last two arguments for this function are optional and default to {\hyperref[\detokenize{eval/eval_structures:group__eval_1gaf4afe19780b61b4962c613bde324128b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_VERBOSITY\_QUIET}}}}} and \sphinxcode{\sphinxupquote{NULL}}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/eval_structures:group__eval_1ga4078d8889e54c1f2e832f6c558399498}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_eval\_structure\_verbose}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000067}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{eval\_structure\_verbose()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gac377cdd18c3a6da4e04683742fda3b7a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_rescale}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, double *mfe)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000131}} 
\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{exp\_params\_rescale()}} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1gac377cdd18c3a6da4e04683742fda3b7a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_rescale()}}}}}, i.e. default scaling of the partition function. Passing an energy in kcal/mol, e.g. as retrieved by a previous call to the \sphinxcode{\sphinxupquote{mfe()}} method, instructs all subsequent calls to scale the partition function accordingly. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_rescale}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_rescale()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga7740b358409b339f0db7b99d7c20e693}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_reset}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000133}} 
\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{exp\_params\_reset()}} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga7740b358409b339f0db7b99d7c20e693}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_reset()}}}}}, i.e. global default model settings are used. Passing an object of type {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} resets the fold compound according to the specifications stored within the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} object. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_reset()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga01d8b92fe734df8d79a6169482c7d8d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_param\_t}}}}} *params)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000130}} 
\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{exp\_params\_subst()}} method.

\sphinxAtStartPar
When no parameter is passed, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga4abbca93defd54fa0dc797ceca36d2f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_exp\_params\_subst()}}}}}, i.e. resetting the parameters to the global defaults. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_subst()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Struct {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000099}} 
\sphinxAtStartPar


\sphinxAtStartPar
This data structure is wrapped as class \sphinxcode{\sphinxupquote{fold\_compound}} with several related functions attached as methods.

\sphinxAtStartPar
A new \sphinxcode{\sphinxupquote{fold\_compound}} can be obtained by calling one of its constructors:

\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{fold\_compound(seq)}} \sphinxhyphen{} Initialize with a single sequence, or two concatenated sequences separated by an ampersand character \sphinxcode{\sphinxupquote{\&}} (for cofolding)

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{fold\_compound(aln)}} \sphinxhyphen{} Initialize with a sequence alignment \sphinxstyleemphasis{aln} stored as a list of sequences (with gap characters).

\end{itemize}


\sphinxAtStartPar
The resulting object has a list of attached methods which in most cases directly correspond to functions that mainly operate on the corresponding \sphinxcode{\sphinxupquote{C}} data structure:

\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a391bcf8ac5997784aaf780cdd251c464}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{type()}}}}}}} \sphinxhyphen{} Get the type of the \sphinxstyleemphasis{fold\_compound} (See {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga01a4ff86fa71deaaa5d1abbd95a1447d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_type\_e}}}}})

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a95fbfed770b858e50c766505dc4bf998}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{length()}}}}}}} \sphinxhyphen{} Get the length of the {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s_1a87f6abcda89cfb7a486c97e1f5371525}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{sequence(s)}}}}} or alignment stored within the \sphinxcode{\sphinxupquote{fold\_compound}}.

\end{itemize}


\sphinxAtStartPar
See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/commands:group__command__files_1ga3118909bd91ecaeb4663b2e3bc2d5edd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_apply}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *filename, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000034}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{file\_commands\_apply()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.file_commands_apply}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.file\_commands\_apply()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/commands:group__command__files_1gae5f56400ed43683338f7bf1c1102655a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_commands\_read}}}}}  (const char *filename, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000033}} 
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{file\_commands\_read()}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_commands_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_commands\_read()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gade4fa8136ebb2d0f7eb3f8b59a8658e3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_detect\_format}}}}}  (const char *filename, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000095}} 
\sphinxAtStartPar
This function exists as an overloaded version where the \sphinxcode{\sphinxupquote{options}} parameter may be omitted! In that case, the \sphinxcode{\sphinxupquote{options}} parameter defaults to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga4acc255373831856a8417b68de8a94c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_detect_format}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_detect\_format()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad02d5d12bda54611c915a1019323b7be}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read}}}}}  (const char *filename, char ***names, char ***aln, char **id, char **structure, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000096}} 
\sphinxAtStartPar
In the target scripting language, only the first and last argument, \sphinxcode{\sphinxupquote{filename}} and \sphinxcode{\sphinxupquote{options}}, are passed to the corresponding function. The other arguments, which serve as output in the C\sphinxhyphen{}library, are available as additional return values. This function exists as an overloaded version where the \sphinxcode{\sphinxupquote{options}} parameter may be omitted! In that case, the \sphinxcode{\sphinxupquote{options}} parameter defaults to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and    {\hyperref[\detokenize{examples/python:parsing-alignments}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Parsing Alignments}}}}}  in the Python examples.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gad4203a438622b2df7bc2f16578d54799}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_read\_record}}}}}  (FILE *fp, char ***names, char ***aln, char **id, char **structure, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000097}} 
\sphinxAtStartPar
In the target scripting language, only the first and last argument, \sphinxcode{\sphinxupquote{fp}} and \sphinxcode{\sphinxupquote{options}}, are passed to the corresponding function. The other arguments, which serve as output in the C\sphinxhyphen{}library, are available as additional return values. This function exists as an overloaded version where the \sphinxcode{\sphinxupquote{options}} parameter may be omitted! In that case, the \sphinxcode{\sphinxupquote{options}} parameter defaults to {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_read_record}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read\_record()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and    {\hyperref[\detokenize{examples/python:parsing-alignments}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Parsing Alignments}}}}}  in the Python examples.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1gaccca55b71d34def88e18ed9a51ccb2bf}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_msa\_write}}}}}  (const char *filename, const char **names, const char **aln, const char *id, const char *structure, const char *source, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000098}} 
\sphinxAtStartPar
In the target scripting language, this function exists as a set of overloaded versions, where the last four parameters may be omitted. If the \sphinxcode{\sphinxupquote{options}} parameter is missing the options default to ({\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga62be992445cd8ab2ad7a8fded944338b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM}}}}} | {\hyperref[\detokenize{utils/io/file_formats_msa:group__file__formats__msa_1ga1577ea0f497d9c501549c863a4f2c089}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_FILE\_FORMAT\_MSA\_APPEND}}}}}). See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_write}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_write()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga3bb7409f5b73c2273f9f76cf8b754034}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln}}}}}  (const char *filename, const char **seqs, const char **names, const char *structure, unsigned int columns)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000163}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{file\_PS\_aln()}} with three additional parameters \sphinxcode{\sphinxupquote{start}}, \sphinxcode{\sphinxupquote{end}}, and \sphinxcode{\sphinxupquote{offset}} before the \sphinxcode{\sphinxupquote{columns}} argument. Thus, it resembles the \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga2b132dddeb2044e52dc39cf0ad8afaee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln\_slice()}}}}}}} function. The last four arguments may be omitted, indicating the default of \sphinxcode{\sphinxupquote{start}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{end}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{offset}} = \sphinxstyleemphasis{0}, and \sphinxcode{\sphinxupquote{columns}} = \sphinxstyleemphasis{60}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.file_PS_aln}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_PS\_aln()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/alignments:group__alignment__plots_1ga2b132dddeb2044e52dc39cf0ad8afaee}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_file\_PS\_aln\_slice}}}}}  (const char *filename, const char **seqs, const char **names, const char *structure, unsigned int start, unsigned int end, int offset, unsigned int columns)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000164}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{file\_PS\_aln()}} where the last four parameter may be omitted, indicating \sphinxcode{\sphinxupquote{start}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{end}} = \sphinxstyleemphasis{0}, \sphinxcode{\sphinxupquote{offset}} = \sphinxstyleemphasis{0}, and \sphinxcode{\sphinxupquote{columns}} = \sphinxstyleemphasis{60}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.file_PS_aln}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_PS\_aln()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga29a33b2895f4e67b0480271ff289afdc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold}}}}}  (const char *sequence, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000112}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/global_deprecated:group__mfe__global__deprecated_1gaadafcb0f140795ae62e5ca027e335a9b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{fold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1gadfe1b73edc675a5c0363b81d55173144}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_add\_from\_db}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *constraint, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000042}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{hc\_add\_from\_db()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_from_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_from\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/hard:group__hard__constraints_1ga4fdb1e98f0d1a2d5728dd3a3aae4a357}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_hc\_init}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000038}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{hc\_init()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd95c2350d67d8f4374369c19cf111f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, float T\_min, float T\_max, float T\_increment, unsigned int mpoints)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000106}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{heat\_capacity()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. If the optional function arguments \sphinxcode{\sphinxupquote{T\_min}}, \sphinxcode{\sphinxupquote{T\_max}}, \sphinxcode{\sphinxupquote{T\_increment}}, and \sphinxcode{\sphinxupquote{mpoints}} are omitted, they default to 0.0, 100.0, 1.0 and 2, respectively. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga19ef508fcc66ab80833aa2fe402d8927}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, float T\_min, float T\_max, float T\_increment, unsigned int mpoints, {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafa73325bee7e6b7c9d1732d70e67d65a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_f}}}}} cb, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000107}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{heat\_capacity\_cb()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga0c2664e15dded704d805a9d2a625ff21}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_heat\_capacity\_simple}}}}}  (const char *sequence, float T\_min, float T\_max, float T\_increment, unsigned int mpoints)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000108}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{heat\_capacity()}}. If the optional function arguments \sphinxcode{\sphinxupquote{T\_min}}, \sphinxcode{\sphinxupquote{T\_max}}, \sphinxcode{\sphinxupquote{T\_increment}}, and \sphinxcode{\sphinxupquote{mpoints}} are omitted, they default to 0.0, 100.0, 1.0 and 2, respectively. See, e.g.   \sphinxcode{\sphinxupquote{RNA.head\_capacity()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils:group__utils_1ga940205dee1b00f94551cabbfbe6e654a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_init\_rand\_seed}}}}}  (unsigned int seed)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000186}} This function is available as an overloaded function \sphinxstylestrong{init\_rand()} where the argument \sphinxcode{\sphinxupquote{seed}} is optional. See, e.g.   {\hyperref[\detokenize{api_python:RNA.init_rand}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.init\_rand()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 

\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga4918cce52bf69c1913cda503b2ac75d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfold}}}}}  (const char *string, int window\_size, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000121}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/window_deprecated:group__mfe__window__deprecated_1gafdd1e11b5c7ad443b9f86b818e67bab4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Lfold()}}}}}}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{file}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.Lfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga84dcc36fd88063e1692c2e1e68a5f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfold\_cb}}}}}  (const char *string, int window\_size, {\hyperref[\detokenize{mfe/window:group__mfe__window_1gaa97863c328b909d7da26d618e0c83fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_f}}}}} cb, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000122}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{Lfold\_cb()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{data}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.Lfold_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1gae982184f119219b616f3e5a8b3f558ec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_Lfoldz\_cb}}}}}  (const char *string, int window\_size, double min\_z, vrna\_mfe\_window\_zscore\_f cb, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000124}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{Lfoldz\_cb()}} in the global namespace. The parameter \sphinxcode{\sphinxupquote{data}} defaults to \sphinxcode{\sphinxupquote{NULL}} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.Lfoldz_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfoldz\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global vrna\_maximum\_matching  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000008}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{maximum\_matching()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See e.g.   \sphinxcode{\sphinxupquote{RNA.fold\_compound.maximum\_matching()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global vrna\_maximum\_matching\_simple  (const char *sequence)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000007}} 
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{maximum\_matching()}}. See e.g.   {\hyperref[\detokenize{api_python:RNA.maximum_matching}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.maximum\_matching()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Struct {\hyperref[\detokenize{grammar/model_details:group__model__details}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}}}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000127}} 
\sphinxAtStartPar
This data structure is wrapped as an object \sphinxcode{\sphinxupquote{md}} with multiple related functions attached as methods.

\sphinxAtStartPar
A new set of default parameters can be obtained by calling the constructure of \sphinxcode{\sphinxupquote{md:}}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{md()}} \textendash{} Initialize with default settings

\end{itemize}


\sphinxAtStartPar
The resulting object has a list of attached methods which directly correspond to functions that mainly operate on the corresponding \sphinxstyleemphasis{C} data structure:

\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{reset()}} \sphinxhyphen{} {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga8ac6ff84936282436f822644bf841f66}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_set\_default()}}}}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{set\_from\_globals()}} \sphinxhyphen{} {\hyperref[\detokenize{grammar/model_details:group__model__details_1gabad896c3650d420f3f3ddefc69e2bceb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{set\_model\_details()}}}}}

\item {} 
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{option\_string()}} \sphinxhyphen{} {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga2207e3b40295825655c629421fe8f349}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_option\_string()}}}}}

\end{itemize}


\sphinxAtStartPar



\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga9b87b664ef014c1266aa50d5bc39f2ac}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_MEA}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, double gamma, float *mea)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000154}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{MEA}}(gamma = 1.) to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. Note, that it returns the MEA structure and MEA value as a tuple (MEA\_structure, MEA). See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.MEA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.MEA()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/mea:group__mea__fold_1ga26afeef667f7013a743d1d1ebe42666a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_MEA\_from\_plist}}}}}  ({\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *plist, const char *sequence, double gamma, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md, float *mea)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000155}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{MEA\_from\_plist}}(gamma = 1., md = NULL). Note, that it returns the MEA structure and MEA value as a tuple (MEA\_structure, MEA). See, e.g.   {\hyperref[\detokenize{api_python:RNA.MEA_from_plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.MEA\_from\_plist()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1gafd9ef9f1a5f0ab31540e4c3d78addc82}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mean\_bp\_distance}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000147}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{partfunc/global_deprecated:group__part__func__global__deprecated_1ga79cbc375af65f11609feb6b055269e7d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{mean\_bp\_distance()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mean_bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mean\_bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1ga5577af664e5b9056b44fa5df29e9befb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000109}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{Minimum Free Energy (MFE) Algorithms}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/global:group__mfe__global_1gaeefffa2179cebb6b8b30cb6ac52de2cd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_dimer}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000110}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{mfe\_dimer()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{structure}} is returned along with the MFE und must not be provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_dimer}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_dimer()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1gacdbc049dcfc7a0e2eb37a327efab91e2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000117}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{mfe/window:group__mfe__window}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Local (sliding window) MFE Prediction}}}}}}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{FILE}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga3ade396421340b0f2f989c7936fda3d9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{mfe/window:group__mfe__window_1gaa97863c328b909d7da26d618e0c83fb9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_f}}}}} cb, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000118}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{mfe\_window\_cb()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{data}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga90d3756f07aa78a47ffac187ead3c0aa}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, double min\_z, FILE *file)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000119}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{mfe\_window\_zscore()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{FILE}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{mfe/window:group__mfe__window_1ga5df4a67ce381ed329c289370b0c8adcb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_mfe\_window\_zscore\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, double min\_z, vrna\_mfe\_window\_zscore\_f cb, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000120}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{mfe\_window\_zscore\_cb()}} to objects of type \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{The Fold Compound}}}}}}}. The parameter \sphinxcode{\sphinxupquote{data}} has default value of \sphinxcode{\sphinxupquote{NULL}} and can be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gab4a00163bbf8e8592284a6e82a81de87}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_neighbors}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const short *pt, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000128}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{neighbors()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/neighbors:group__neighbors_1gaa5ffec4dd0d02df320f123e6888154d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_MOVESET\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.neighbors}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.neighbors()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabb0583595c67094986ef90cb4f1c7555}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load}}}}}  (const char fname{[}{]}, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000134}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_load}}(fname=””, options={\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}). Here, the empty filename string indicates to load default RNA parameters, i.e. this is equivalent to calling {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults()}}}}}. See, e.g.   \sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_load()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga413bc688695c9a707dbcc678412d6792}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_defaults}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000137}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_load()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga4d897130a700f86b7d4035a95f25615a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews1999}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000144}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_DNA\_Mathews1999()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gafa45b5734355baa634ca0a2e2857563e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_DNA\_Mathews2004}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000143}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_DNA\_Mathews2004()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1gabcd9cc7040a6b633b56b1cbd6a14d68e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_from\_string}}}}}  (const char *string, const char *name, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000136}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_load\_from\_string}}(string, name=””, options={\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga511a1c17c0fd10a1fbb0936674712ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Andronescu2007}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000140}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Andronescu2007()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga3a87fe5e73eb906c0fa26f2c42c787fd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Langdon2018}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000141}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Langdon2018()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga00e07504d66dc24aca7befb4bdaa0db1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_misc\_special\_hairpins}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000142}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_misc\_special\_hairpins()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga804393b6dfe06a2c6cae89219dffabb1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner1999}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000139}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Turner1999()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga7327fe66ef60c33ba80a87c04db0ee83}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_load\_RNA\_Turner2004}}}}}  (void)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000138}} 
\sphinxAtStartPar
This function is available as function \sphinxcode{\sphinxupquote{params\_load\_RNA\_Turner2004()}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga033fea3322aeac71a260241e8ba6e773}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_reset}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000132}} 
\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{params\_reset()}} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga033fea3322aeac71a260241e8ba6e773}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_reset()}}}}}, i.e. global default model settings are used. Passing an object of type {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} resets the fold compound according to the specifications stored within the {\hyperref[\detokenize{grammar/model_details:structvrna__md__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_s}}}}} object. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_reset()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga0de3731b3e4017c52bd678549f6c4ae5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_save}}}}}  (const char fname{[}{]}, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000135}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{params\_save}}(fname, options={\hyperref[\detokenize{eval/params/io:group__energy__parameters__rw_1ga2d46720ac5bf0e56ce0dbbff459667d2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PARAMETER\_FORMAT\_DEFAULT}}}}}). See, e.g.   {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga8a69ca7d787e4fd6079914f5343a1f35}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_param\_t}}}}} *par)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000129}} 
\sphinxAtStartPar
This function is attached to {\hyperref[\detokenize{utils/datastructures/fold_compound:structvrna__fc__s}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fc\_s}}}}} objects as overloaded \sphinxcode{\sphinxupquote{params\_subst()}} method.

\sphinxAtStartPar
When no parameter is passed, the resulting action is the same as passing \sphinxcode{\sphinxupquote{NULL}} as second parameter to {\hyperref[\detokenize{eval/energy_parameters:group__energy__parameters_1ga9202b803da6f5364f91db89ab3d8b048}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_params\_subst()}}}}}, i.e. resetting the parameters to the global defaults. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_subst()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga41a4fdfc4b5366ffb6afede85709c70a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, short *pt, unsigned int steps, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000187}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1gaf1bb1f8fec8d24e3b821f621b19f77b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gacba096caf9a6fe134f33a5afcf2248d8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *s1, const char *s2, {\hyperref[\detokenize{landscape/paths:group__paths_1gaa99d8ec48f64de53eda0d51b1ed0d3d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_t}}}}} options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000160}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_direct()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to \sphinxcode{\sphinxupquote{NULL}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_direct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_direct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga51d9edaeb42d1d178ea8ba46ccd4c8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_direct\_ub}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *s1, const char *s2, int maxE, {\hyperref[\detokenize{landscape/paths:group__paths_1gaa99d8ec48f64de53eda0d51b1ed0d3d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_t}}}}} options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000161}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_direct()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{maxE}} defaults to \#INT\_MAX \sphinxhyphen{} 1 if it is omitted, while the optional parameter \sphinxcode{\sphinxupquote{options}} defaults to \sphinxcode{\sphinxupquote{NULL}}. In case the function did not find a path with \(E_{saddle} < E_{max}\) it returns an empty list. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_direct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_direct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga2fed8ff126f5becd82cedd81a25c9bf0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *s1, const char *s2, int width)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000158}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad77dbfa125158f534147c0015a849bc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *s1, const char *s2, int width)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000156}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath\_saddle()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath_saddle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath\_saddle()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gaca6d3ab6f8b9463e3382bd1f474c26f1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_saddle\_ub}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *s1, const char *s2, int width, int maxE)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000157}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath\_saddle()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted, while the optional parameter \sphinxcode{\sphinxupquote{maxE}} defaults to INF. In case the function did not find a path with \(E_{saddle} < E_{max}\) the function returns a \sphinxcode{\sphinxupquote{NULL}} object, i.e. \sphinxcode{\sphinxupquote{undef}} for Perl and \sphinxcode{\sphinxupquote{None}} for Python. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath_saddle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath\_saddle()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1gad00765c2f269fddfa319310af22d4f67}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_findpath\_ub}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *s1, const char *s2, int width, int maxE)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000159}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_findpath()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 1 if it is omitted, while the optional parameter \sphinxcode{\sphinxupquote{maxE}} defaults to INF. In case the function did not find a path with \(E_{saddle} < E_{max}\) the function returns an empty list. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1625c4e8859b5e9aadf78f3cab81f418}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_gradient}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, short *pt, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000188}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_gradient()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1gaf1bb1f8fec8d24e3b821f621b19f77b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_gradient}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_gradient()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_direct:group__paths__direct_1ga3790a24ca64d68acfa6e67b525151a5f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_options\_findpath}}}}}  (int width, unsigned int type)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000162}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{path\_options\_findpath()}}. The optional parameter \sphinxcode{\sphinxupquote{width}} defaults to 10 if omitted, while the optional parameter \sphinxcode{\sphinxupquote{type}} defaults to {\hyperref[\detokenize{landscape/paths:group__paths_1ga3e964156b52440b65fae5e2a48750d8e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_TYPE\_DOT\_BRACKET}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.path_options_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.path\_options\_findpath()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1ga1f7fa62038eb40a3591f09c8fbb8b68b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_path\_random}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, short *pt, unsigned int steps, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000189}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{path\_gradient()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional parameter \sphinxcode{\sphinxupquote{options}} defaults to {\hyperref[\detokenize{landscape/paths_walk:group__paths__walk_1gaf1bb1f8fec8d24e3b821f621b19f77b4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PATH\_DEFAULT}}}}} if it is omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_random}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_random()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga594844ac73c4e66e00d6791b31540634}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000010}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga72ebbe45bcbce147a12f27f62b38db78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000009}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga0849bf555110d546ac81bc2aefdfe507}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int length, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bs\_result\_f}}}}} cb, void *data, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000015}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga30c3ddff868c44eecfdb07d99a2422ba}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_num}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int length, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000012}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga7917f94e9dfef04a7a2ca666ff4987fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int length, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}} *nr\_mem, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000018}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the list of structures, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga1c4cd7156224ef96147b22c5f7c4ddc3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack5\_resume\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int length, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bs\_result\_f}}}}} cb, void *data, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}} *nr\_mem, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000021}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1ga31aa6bffb2b5c66486f50091a7061320}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack5()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the number of structures backtraced, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gad6d1de3371ebe6fd1db3c318e50e6488}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bs\_result\_f}}}}} cb, void *data, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000016}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga596ed9bcd86f629a7c7c59c58b297db5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_num}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000013}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gae175129ece546fe7c092f27072e039d1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}} *nr\_mem, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000019}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the list of structures, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gabaaec8b80274f8e7b86d2b2226469d9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_resume\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bs\_result\_f}}}}} cb, void *data, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}} *nr\_mem, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000022}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the number of structures backtraced, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4ae8e7ce0b1e6e45569d183af038c392}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int start, unsigned int end)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000011}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxstyleemphasis{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga6a077de16b2d95dfd9c8f06ddef092b5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int start, unsigned int end, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bs\_result\_f}}}}} cb, void *data, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000017}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{{\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt__deprecated_1gaae9de453e396420d6269534d571d6d18}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pbacktrack()}}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga21000927ce498a1b17dff92bda4d996f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub\_num}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int start, unsigned int end, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000014}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples . 


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga2b99a532c4e06b346bfab4111700976e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub\_resume}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int start, unsigned int end, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}} *nr\_mem, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000020}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the list of structures, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaab6ee5d51be1723a2dda22f758da882c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_sub\_resume\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int num\_samples, unsigned int start, unsigned int end, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_bs\_result\_f}}}}} cb, void *data, {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1gaa59c30efbed96bf9aaf8005584c72e63}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pbacktrack\_mem\_t}}}}} *nr\_mem, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000023}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{pbacktrack\_sub()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with optional last argument \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{subopt/stochbt:group__subopt__stochbt_1ga760aa2fb2d5e3d7521a11454a21e9b9f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PBACKTRACK\_DEFAULT}}}}}. In addition to the number of structures backtraced, this function also returns the \sphinxcode{\sphinxupquote{nr\_mem}} data structure as first return value. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global:group__part__func__global_1ga82e6e17a04d6784e4d8cdeb8bfef74fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000145}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pf()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pf}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pf()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/global:group__part__func__global_1gae796019c176a158f0e9d7741a85c1743}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pf\_dimer}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000146}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pf\_dimer()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pf_dimer}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pf\_dimer()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1ga45e56b67e3f333f4335197737b5f9822}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_plot\_dp\_EPS}}}}}  (const char *filename, const char *sequence, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *upper, {\hyperref[\detokenize{utils/struct/plist:group__struct__utils__plist_1gab9ac98ab55ded9fb90043b024b915aca}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ep\_t}}}}} *lower, {\hyperref[\detokenize{utils/plots/probabilities:structvrna__dotplot__auxdata__t}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_dotplot\_auxdata\_t}}}}} *auxdata, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000165}} 
\sphinxAtStartPar
This function is available as overloaded function \sphinxcode{\sphinxupquote{plot\_dp\_EPS()}} where the last three parameters may be omitted. The default values for these parameters are \sphinxcode{\sphinxupquote{lower}} = NULL, \sphinxcode{\sphinxupquote{auxdata}} = NULL, \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{utils/plots/probabilities:group__plot__probabilities_1gaa3a3d5cf87de5120a93eab3be788b6fb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_PLOT\_PROBABILITIES\_DEFAULT}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.plot_dp_EPS}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_dp\_EPS()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga4ec346141028c7bcd15bc235c408b6e9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_positional\_entropy}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000150}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{positional\_entropy()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.positional_entropy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.positional\_entropy()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga6a1e8a85e6fab2380ce235180beb85f8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pr\_energy}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, double e)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000152}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pr\_energy()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pr_energy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pr\_energy()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga882c35d9dd775c1275593b3b6a966bec}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_pr\_structure}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000151}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{pr\_structure()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pr_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pr\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{probing_data:group__probing__data_1ga61d0ed331813bfe657777f27e4b0fbf9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_Deigan2009}}}}}  (const double *reactivities, unsigned int n, double m, double b)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000167}} 
\sphinxAtStartPar
This function exists in two forms, (i) as overloaded function \sphinxstylestrong{probing\_data\_Deigan2009()} and (ii) as constructor of the \sphinxstylestrong{probing\_data} object. For the former the second argument \sphinxcode{\sphinxupquote{n}} can be omitted since the length of the \sphinxcode{\sphinxupquote{reactivities}} list is determined from the list itself. When the \#vrna\_probing\_data\_s constructor is called with the three parameters \sphinxcode{\sphinxupquote{reactivities}}, \sphinxcode{\sphinxupquote{m}} and \sphinxcode{\sphinxupquote{b}}, it will automatically create a prepared data structure for the Deigan et al. 2009 method. See, e.g.    \sphinxcode{\sphinxupquote{RNA.probing\_data\_Deigan2009()}} and {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1gab124ba58014a97d2fb8c21831e19f107}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable}}}}}  (const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000175}} 
\sphinxAtStartPar
This functions is wrapped as overloaded function \sphinxcode{\sphinxupquote{ptable()}} that takes an optional argument \sphinxcode{\sphinxupquote{options}} to specify which type of matching brackets should be considered during conversion. The default set is round brackets, i.e. {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/struct/pairtable:group__struct__utils__pair__table_1ga792503f8b2c6783248e5c8b3d56e9148}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ptable\_from\_string}}}}}  (const char *structure, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000176}} 
\sphinxAtStartPar
This functions is wrapped as overloaded function \sphinxcode{\sphinxupquote{ptable()}} that takes an optional argument \sphinxcode{\sphinxupquote{options}} to specify which type of matching brackets should be considered during conversion. The default set is round brackets, i.e. {\hyperref[\detokenize{utils/struct/dotbracket:group__struct__utils__dot__bracket_1gac92d5fa7c6625bce2670ece510a24fbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_BRACKETS\_RND}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gae1dec02c4b63f303ce06a9293d316762}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry}}}}}  (const char *string)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000027}} 
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}} for details. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gad42ffd53025bed9d636d811748db7c5a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_db}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000029}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{rotational\_symmetry\_db()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} (i.e. {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}). See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga2a4227ebe28dbc7ad55444a3a1bf7119}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_db\_pos()}}}}} for details. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.rotational_symmetry_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.rotational\_symmetry\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga2a4227ebe28dbc7ad55444a3a1bf7119}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_db\_pos}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *structure, unsigned int **positions)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000030}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{rotational\_symmetry\_db()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} (i.e. {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}}). Thus, the first argument must be omitted. In contrast to our C\sphinxhyphen{}implementation, this function doesn’t simply return the order of rotational symmetry of the secondary structure, but returns the list \sphinxcode{\sphinxupquote{position}} of cyclic permutation shifts that result in a rotationally symmetric structure. The length of the list then determines the order of rotational symmetry. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.rotational_symmetry_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.rotational\_symmetry\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gac51464b5281833a58c25f9447252c495}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_num}}}}}  (const unsigned int *string, size\_t string\_length)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000025}} 
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}} for details. Note, that in the target language the length of the list \sphinxcode{\sphinxupquote{string}} is always known a\sphinxhyphen{}priori, so the parameter \sphinxcode{\sphinxupquote{string\_length}} must be omitted. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos}}}}}  (const char *string, unsigned int **positions)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000028}} 
\sphinxAtStartPar
This function is available as overloaded global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. It merges the functionalities of {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gae1dec02c4b63f303ce06a9293d316762}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}}, {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1gac51464b5281833a58c25f9447252c495}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_num()}}}}}, and {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga95b5a6ac35da982e2a766f8d2f98a2e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos\_num()}}}}}. In contrast to our C\sphinxhyphen{}implementation, this function doesn’t return the order of rotational symmetry as a single value, but returns a list of cyclic permutation shifts that result in a rotationally symmetric string. The length of the list then determines the order of rotational symmetry. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga95b5a6ac35da982e2a766f8d2f98a2e1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos\_num}}}}}  (const unsigned int *string, size\_t string\_length, unsigned int **positions)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000026}} 
\sphinxAtStartPar
This function is available as global function \sphinxcode{\sphinxupquote{rotational\_symmetry()}}. See {\hyperref[\detokenize{utils/combinatorics:group__combinatorics__utils_1ga294d48935fcac87ab335d771fe289ecb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_rotational\_symmetry\_pos()}}}}} for details. Note, that in the target language the length of the list \sphinxcode{\sphinxupquote{string}} is always known a\sphinxhyphen{}priori, so the parameter \sphinxcode{\sphinxupquote{string\_length}} must be omitted. See, e.g.    {\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga1ae32cbdaa58dec6b453245a10b05f31}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bp}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int i, unsigned int j, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} energy, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000047}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{sc\_add\_bp()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The method either takes arguments for a single base pair (i,j) with the corresponding energy value:  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_bt}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gaaa010a245ab273cd5c265929ff0b8bbd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_bt\_f}}}}} f)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000052}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_bt()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_data}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, void *data, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}} free\_data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000050}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_data()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_exp\_f}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga562554815b6717091125bf9782532740}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_exp\_f}}}}} exp\_f)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000053}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_exp\_f()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_exp_f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_exp\_f()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_f}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_f}}}}} f)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000051}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_f()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_f}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_f()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{ligands/constraints:group__constraints__ligand_1ga2bd49930c9695b2f4b85989d1daa62d3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_hi\_motif}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *seq, const char *structure, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} energy, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000043}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_hi\_motif()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The last parameter is optional an defaults to \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gacea5b7ee6181c485f36e2afa0e9089e4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_OPTION\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_hi_motif}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_hi\_motif()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1gad609895467d59ea53faac4f98b71c099}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_deigan}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const double *reactivities, double m, double b, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000168}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_SHAPE\_deigan()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga2a3fbf037d5e2844792997a92ef36285}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_deigan\_ali}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char **shape\_files, const int *shape\_file\_association, double m, double b, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000169}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_SHAPE\_deigan\_ali()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan_ali}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan\_ali()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{probing/SHAPE:group__SHAPE__reactivities_1ga5a673837ebe42d790bdf3ccf8982d3dc}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_SHAPE\_zarringhalam}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const double *reactivities, double b, double default\_value, const char *shape\_conversion, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000170}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_add\_SHAPE\_zarringhalam()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_zarringhalam()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1ga490da5feb307560552e5e44aa4a92a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_add\_up}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, unsigned int i, {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} energy, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000049}} 
\sphinxAtStartPar
This function is attached as an overloaded method \sphinxcode{\sphinxupquote{sc\_add\_up()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The method either takes arguments for a single nucleotide \(i \) with the corresponding energy value:  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1gab8e024c40f167496df65adfa0db9a9b3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_init}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000044}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_init()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_init()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga427d924951dd1a95b5828995208f96a9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga05e46c6a7c7040b2c4236b218dadb0e5}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_param\_t}}}}} params, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000056}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga0430986f89b8292c9bc3764474e83411}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_7DA}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000060}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_7DA()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_7DA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_7DA()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae90b06aaa16f9a6f519e4b75d4d0c13d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_dihydrouridine}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000062}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_dihydrouridine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_dihydrouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_dihydrouridine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab4aba61d48c1b1577612794d3e8cd2b2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_inosine}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000059}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_inosine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_inosine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_inosine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaae866f0f52a26ba3cc839b560c6f756b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_json}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *json, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000054}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_json()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_json()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1gaf19a7af41b081f19cb28e9e132330eeb}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_jsonfile}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const char *json\_file, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000055}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_jsonfile()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_jsonfile()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga09398dbc2ad61f0fbbe6724c8c90ed98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_m6A}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000057}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_m6A()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_m6A}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_m6A()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga95dd8b18dfc80c6f5826464292d40f52}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_pseudouridine}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000058}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_pseudouridine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_pseudouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_pseudouridine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1gab1bb84d9c5a95740a35ee65694b1fbe2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_purine}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const unsigned int *modification\_sites, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000061}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{sc\_mod\_purine()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}} with default \sphinxcode{\sphinxupquote{options}} = {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga85bd7f50defa04f851e89a7554459d1e}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_SC\_MOD\_DEFAULT}}}}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_purine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_purine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1ga73651701673a35080ff60ee156596da1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_json}}}}}  (const char *json, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000064}} 
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{sc\_mod\_read\_from\_json()}} where the \sphinxcode{\sphinxupquote{md}} parameter may be omitted and defaults to \sphinxcode{\sphinxupquote{NULL}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_json()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{modified_bases:group__modified__bases_1gae14753463c572d712363590b0b7e9a9a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_mod\_read\_from\_jsonfile}}}}}  (const char *filename, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000063}} 
\sphinxAtStartPar
This function is available as an overloaded function \sphinxcode{\sphinxupquote{sc\_mod\_read\_from\_jsonfile()}} where the \sphinxcode{\sphinxupquote{md}} parameter may be omitted and defaults to \sphinxcode{\sphinxupquote{NULL}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_jsonfile()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{probing_data:group__probing__data_1gaea5dded27f3e993c69ff617ff0f09648}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_probing}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{probing_data:group__probing__data_1gae981b94d5dabe6a32cbe74cd5dd7f925}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_probing\_data\_t}}}}} data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000166}} 
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{sc\_probing()} to objects of type \sphinxstylestrong{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_probing}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_probing()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints_1gac81478a33880029ca9975bd89cc26fa9}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_remove}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000045}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_remove()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__bp_1ga68900a8a15c83ff352f576b8a298e371}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_bp}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} **constraints, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000046}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_set\_bp()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/constraints/soft:group__soft__constraints__up_1gaf6634fa9249945b7cb0e325942d2771b}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_sc\_set\_up}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, const {\hyperref[\detokenize{utils/data_structures:group__data__structures_1ga31125aeace516926bf7f251f759b6126}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{FLT\_OR\_DBL}}}}} *constraints, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000048}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{sc\_set\_up()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/alphabet:group__alphabet__utils_1gaa49a0ee0a2cbda1c863fa3a169d7bf8d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_seq\_encode}}}}}  (const char *sequence, {\hyperref[\detokenize{grammar/model_details:group__model__details_1ga1f8a10e12a0a1915f2a4eff0b28ea17c}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_md\_t}}}}} *md)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000171}} 
\sphinxAtStartPar
In the target scripting language, this function is wrapped as overloaded function \sphinxcode{\sphinxupquote{seq\_encode()}} where the last parameter, the \sphinxcode{\sphinxupquote{model\_details}} data structure, is optional. If it is omitted, default model settings are applied, i.e. default nucleotide letter conversion. The wrapped function returns a list/tuple of integer representations of the input sequence. See, e.g.   {\hyperref[\detokenize{api_python:RNA.seq_encode}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.seq\_encode()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{partfunc/thermodynamics:group__thermodynamics_1ga39bbe73ccb7685b6521cfa5c1c64ae78}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_stack\_prob}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, double cutoff)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000153}} 
\sphinxAtStartPar
This function is attached as overloaded method \sphinxcode{\sphinxupquote{stack\_prob()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. The optional argument \sphinxcode{\sphinxupquote{cutoff}} defaults to 1e\sphinxhyphen{}5. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.stack_prob}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.stack\_prob()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{utils/strings:group__string__utils_1gad4a36bfad05f22ad5d33d00d45aa9b01}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_strtrim}}}}}  (char *string, const char *delimiters, unsigned int keep, unsigned int options)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000185}} 
\sphinxAtStartPar
Since many scripting languages treat strings as immutable objects, this function does not modify the input string directly. Instead, it returns the modified string as second return value, together with the number of removed delimiters.

\sphinxAtStartPar
The scripting language interface provides an overloaded version of this function, with default parameters \sphinxcode{\sphinxupquote{delimiters=NULL}}, \sphinxcode{\sphinxupquote{keep=0}}, and \sphinxcode{\sphinxupquote{options={\hyperref[\detokenize{utils/strings:group__string__utils_1gab6272ec12f482870fa81d3d84d9b7370}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{VRNA\_TRIM\_DEFAULT}}}}}}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.strtrim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.strtrim()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1gad0cce16455fda0737873d8e1c5846480}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int delta, int sorted, FILE *fp)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000182}} 
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{{\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga9913b3a58b8d315be3f4f7f4dbe3c481}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{subopt()}}}}}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga92c2e415167f9e2b0341989a74d24e41}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, int delta, {\hyperref[\detokenize{subopt/wuchty:group__subopt__wuchty_1ga760ee7f326a411565f9e9f0cf44b2ff8}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_result\_f}}}}} cb, void *data)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000183}} 
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{subopt\_cb()} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{subopt/zuker:group__subopt__zuker_1gab8f5a02accffb385d921d96871aa13f4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_subopt\_zuker}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000184}} 
\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{subopt\_zuker()} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_zuker}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_zuker()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga35f92cdc7a7b75a19c46df14b992d517}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_remove}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000101}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_remove()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gafb5dba76a97912e7b09174550015aa98}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_set\_data}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, void *data, {\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_auxdata\_free\_f}}}}} free\_cb)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000102}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_set\_data()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga6518ec8abbeb4126f7f990f21d93a95f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_set\_exp\_prod\_rule\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga59dc10fdd4705c87aacaed15a8b1015d}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_exp\_production\_f}}}}} pre\_cb, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga2e9002a489309f2cf59379d8ca6d00f0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_exp\_f}}}}} exp\_e\_cb)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000104}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_set\_exp\_prod\_rule\_cb()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_exp_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_exp\_prod\_rule\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global vrna\_ud\_set\_prob\_cb  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga5ea006f39d44db3ae9481a748889a0a1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_add\_probs\_f}}}}} setter, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga584c32828e8803a32de7c52bdad5c6bd}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_get\_probs\_f}}}}} getter)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000105}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_set\_prob\_cb()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_prob_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_prob\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.  


\end{fulllineitems}



\begin{fulllineitems}

\pysigstartsignatures
\pysigline
{Global {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaeaa09aa8b60bc87d3ad92d446cb1b8c0}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_set\_prod\_rule\_cb}}}}}  ({\hyperref[\detokenize{utils/datastructures/fold_compound:group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_fold\_compound\_t}}}}} *fc, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1ga6da4dff321fdfaf9742efcd558fa327f}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_production\_f}}}}} pre\_cb, {\hyperref[\detokenize{grammar/domains_up:group__domains__up_1gaec7ac7d3800d3ddd42eced89b43038ea}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{vrna\_ud\_f}}}}} e\_cb)}
\pysigstopsignatures
\sphinxAtStartPar
\phantomsection\label{\detokenize{wrappers:wrappers_1_wrappers000103}} 
\sphinxAtStartPar
This function is attached as method \sphinxcode{\sphinxupquote{ud\_set\_prod\_rule\_cb()}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_prod\_rule\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}. 


\end{fulllineitems}



\end{fulllineitems}


\sphinxstepscope


\chapter{Python API}
\label{\detokenize{api_python:python-api}}\label{\detokenize{api_python::doc}}
\sphinxAtStartPar
Almost all symbols of the API available in our \sphinxstyleemphasis{RNAlib} C\sphinxhyphen{}library is wrapped for
use in Python using \sphinxcode{\sphinxupquote{swig}}. That makes our fast and efficient algorithms and
tools available for third\sphinxhyphen{}party Python programs and scripting languages.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Our Python API is automatically generated and translated from our C\sphinxhyphen{}library documentation.
If you find anything problematic or want to to help us improve the documentation, do
not hesitate to contact us or make a PR at our \sphinxhref{https://github.com/ViennaRNA/ViennaRNA}{official github repository}.
\end{sphinxadmonition}


\section{Installation}
\label{\detokenize{api_python:installation}}
\sphinxAtStartPar
The Python interface is usually part of the installation of the ViennaRNA Package,
see also {\hyperref[\detokenize{install::doc}]{\sphinxcrossref{\DUrole{doc}{Installation}}}} and {\hyperref[\detokenize{configuration:scripting-language-interfaces}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Scripting Language Interfaces}}}}}.

\sphinxAtStartPar
If for any reason your installation does not provide our Python interface or
in cases where you don’t want to install the full ViennaRNA Package but \sphinxstyleemphasis{only}
the Python bindings to \sphinxstyleemphasis{RNAlib}, you may also install them via Pythons \sphinxcode{\sphinxupquote{pip}}:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
python\PYG{+w}{ }\PYGZhy{}m\PYG{+w}{ }pip\PYG{+w}{ }install\PYG{+w}{ }viennarna
\end{sphinxVerbatim}


\section{Usage}
\label{\detokenize{api_python:usage}}
\sphinxAtStartPar
To use our Python bindings simply \sphinxcode{\sphinxupquote{import}} the \sphinxcode{\sphinxupquote{RNA}} or \sphinxcode{\sphinxupquote{ViennaRNA}} package
like

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}
\end{sphinxVerbatim}

\sphinxAtStartPar
or

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{ViennaRNA}
\end{sphinxVerbatim}

\sphinxAtStartPar
The \sphinxcode{\sphinxupquote{RNA}} module that provides access to our \sphinxstyleemphasis{RNAlib} C\sphinxhyphen{}library can also be imported
directly using

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{from}\PYG{+w}{ }\PYG{n+nn}{RNA}\PYG{+w}{ }\PYG{k+kn}{import} \PYG{n}{RNA}
\end{sphinxVerbatim}

\sphinxAtStartPar
or

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{from}\PYG{+w}{ }\PYG{n+nn}{ViennaRNA}\PYG{+w}{ }\PYG{k+kn}{import} \PYG{n}{RNA}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In previous release of the ViennaRNA Packge, only the \sphinxcode{\sphinxupquote{RNA}} package/module has
been available.
Since version 2.6.2 we maintain the \sphinxhref{https://pypi.org/project/ViennaRNA/}{ViennaRNA}
project at \sphinxurl{https://pypi.org}. The former maintainer additionally introduced the
\sphinxcode{\sphinxupquote{ViennaRNA}} package which we intend to keep and extend in future releases.
\end{sphinxadmonition}


\section{Global Variables}
\label{\detokenize{api_python:global-variables}}
\sphinxAtStartPar
For the Python interface(s) SWIG places global variables of the C\sphinxhyphen{}library
into an additional namespace \sphinxcode{\sphinxupquote{cvar}}. For instance, changing the global temperature
variable thus becomes

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{RNA}\PYG{o}{.}\PYG{n}{cvar}\PYG{o}{.}\PYG{n}{temperature} \PYG{o}{=} \PYG{l+m+mi}{25}
\end{sphinxVerbatim}


\section{Pythonic interface}
\label{\detokenize{api_python:pythonic-interface}}
\sphinxAtStartPar
Since our library is written in \sphinxcode{\sphinxupquote{C}} the functions we provide in our API might
seem awkward for users more familiar with Pythons object oriented fashion. Therefore,
we spend some effort on creating a more \sphinxstyleemphasis{pythonic} interface here. In particular, we
tried to group together particular data structures and functions operating on them to
derive classes and objects with corresponding methods attached.

\sphinxAtStartPar
If you browse through our {\hyperref[\detokenize{api::doc}]{\sphinxcrossref{\DUrole{doc}{reference manual}}}}, many C\sphinxhyphen{}functions have additional
\sphinxstyleemphasis{SWIG Wrapper Notes} in their description. These descriptions should give an idea how
the function is available in the Python interface. Usually, our \sphinxcode{\sphinxupquote{C}} functions,
data structures, typedefs, and enumerations use the \sphinxcode{\sphinxupquote{vrna\_}} prefixes and \sphinxcode{\sphinxupquote{\_s}},
\sphinxcode{\sphinxupquote{\_t}}, \sphinxcode{\sphinxupquote{\_e}} suffixes. Those decorators are useful in \sphinxcode{\sphinxupquote{C}} but of less use in the
context of Python packages or modules. Therefore, these prefixes and suffixes are
\sphinxstyleemphasis{dropped} from the Python interface.


\subsection{Object orientation}
\label{\detokenize{api_python:object-orientation}}
\sphinxAtStartPar
Consider the C\sphinxhyphen{}function {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound()}}}}}. This creates a
{\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}} data structure that is then passed around to various
functions, e.g. to {\hyperref[\detokenize{mfe/global:c.vrna_mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_mfe()}}}}} to compute the {\hyperref[\detokenize{mfe/global::doc}]{\sphinxcrossref{\DUrole{doc}{MFE structure}}}}.
A corresponding C\sphinxhyphen{}code may look like this:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdio.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}string.h\PYGZgt{}}

\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/utils/basic.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/fold\PYGZus{}compound.h\PYGZgt{}}
\PYG{c+cp}{\PYGZsh{}}\PYG{c+cp}{include}\PYG{+w}{ }\PYG{c+cpf}{\PYGZlt{}ViennaRNA/mfe.h\PYGZgt{}}

\PYG{k+kt}{int}
\PYG{n+nf}{main}\PYG{p}{(}\PYG{k+kt}{int}\PYG{+w}{  }\PYG{n}{argc}\PYG{p}{,}
\PYG{+w}{     }\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{argv}\PYG{p}{[}\PYG{p}{]}\PYG{p}{)}
\PYG{p}{\PYGZob{}}
\PYG{+w}{  }\PYG{k+kt}{char}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{ss}\PYG{p}{;}
\PYG{+w}{  }\PYG{k+kt}{float}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound\PYGZus{}t}\PYG{+w}{ }\PYG{o}{*}\PYG{n}{fc}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{seq}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{AGACGACAAGGUUGAAUCGCACCCACAGUCUAUGAGUCGGUG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{ss}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}alloc}\PYG{p}{(}\PYG{k}{sizeof}\PYG{p}{(}\PYG{k+kt}{char}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{*}\PYG{+w}{ }\PYG{p}{(}\PYG{n}{strlen}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}\PYG{+w}{ }\PYG{o}{+}\PYG{+w}{ }\PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{fc}\PYG{+w}{  }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n+nb}{NULL}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{VRNA\PYGZus{}OPTION\PYGZus{}DEFAULT}\PYG{p}{)}\PYG{p}{;}
\PYG{+w}{  }\PYG{n}{mfe}\PYG{+w}{ }\PYG{o}{=}\PYG{+w}{ }\PYG{n}{vrna\PYGZus{}mfe}\PYG{p}{(}\PYG{n}{fc}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ss}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{n}{printf}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{\PYGZpc{}s}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZpc{}s (\PYGZpc{}6.2f)}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{seq}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{ss}\PYG{p}{,}\PYG{+w}{ }\PYG{n}{mfe}\PYG{p}{)}\PYG{p}{;}

\PYG{+w}{  }\PYG{k}{return}\PYG{+w}{ }\PYG{n}{EXIT\PYGZus{}SUCCESS}\PYG{p}{;}
\PYG{p}{\PYGZcb{}}
\end{sphinxVerbatim}

\sphinxAtStartPar
In our Python interface, the {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound_t}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}}}} data structure becomes the
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}} class, the {\hyperref[\detokenize{utils/datastructures/fold_compound:c.vrna_fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_fold\_compound()}}}}} becomes one of
its constructors and the {\hyperref[\detokenize{mfe/global:c.vrna_mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_mfe()}}}}} function becomes the method
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe()}}}}}. So, the Python code would probably translate
to something like

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{RNA}

\PYG{n}{seq} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{AGACGACAAGGUUGAAUCGCACCCACAGUCUAUGAGUCGGUG}\PYG{l+s+s2}{\PYGZdq{}}
\PYG{n}{fc}  \PYG{o}{=} \PYG{n}{RNA}\PYG{o}{.}\PYG{n}{fold\PYGZus{}compound}\PYG{p}{(}\PYG{n}{seq}\PYG{p}{)}
\PYG{p}{(}\PYG{n}{ss}\PYG{p}{,} \PYG{n}{mfe}\PYG{p}{)} \PYG{o}{=} \PYG{n}{fc}\PYG{o}{.}\PYG{n}{mfe}\PYG{p}{(}\PYG{p}{)}

\PYG{n+nb}{print}\PYG{p}{(}\PYG{l+s+sa}{f}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+si}{\PYGZob{}}\PYG{n}{seq}\PYG{l+s+si}{\PYGZcb{}}\PYG{l+s+se}{\PYGZbs{}n}\PYG{l+s+si}{\PYGZob{}}\PYG{n}{ss}\PYG{l+s+si}{\PYGZcb{}}\PYG{l+s+s2}{ (}\PYG{l+s+si}{\PYGZob{}}\PYG{n}{mfe}\PYG{l+s+si}{:}\PYG{l+s+s2}{6.2f}\PYG{l+s+si}{\PYGZcb{}}\PYG{l+s+s2}{)}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{)}
\end{sphinxVerbatim}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The C\sphinxhyphen{}function {\hyperref[\detokenize{mfe/global:c.vrna_mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_mfe()}}}}} actually returns two values, the MFE in units
of \(\text{kcal} \cdot \text{mol}^{-1}\) and the corresponding MFE structure.
The latter is written to the \sphinxcode{\sphinxupquote{ss}} pointer. This is necessary since \sphinxcode{\sphinxupquote{C}} functions
can at most return one single value. In Python, function and methods may return
arbitrarily many values instead, and in addition, passing parameters to a function
or method such that it changes its content is generally discouraged. Therefore,
our functions that return values through function parameters usually return them
\sphinxstyleemphasis{regularly} in the Python interface.
\end{sphinxadmonition}


\subsection{Lists and Tuples}
\label{\detokenize{api_python:lists-and-tuples}}
\sphinxAtStartPar
C\sphinxhyphen{}functions in our API that return or receive list\sphinxhyphen{}like data usually utilize \sphinxstyleemphasis{pointers}.
Since there are no such things in Python, they would be wrapped as particular kind of
objects that would then be tedious to work with. For the Python interface, we therefore
tried to wrap the majority of these instances to \sphinxstyleemphasis{native} Python types, such as \sphinxcode{\sphinxupquote{list}}
or \sphinxcode{\sphinxupquote{tuple}}. Therefore, one can usually pass a \sphinxcode{\sphinxupquote{list}} to a function that uses pointers
to array in \sphinxcode{\sphinxupquote{C}}, and expect to receive a \sphinxcode{\sphinxupquote{list}} or \sphinxcode{\sphinxupquote{tuple}} from functions that return
pointers to arrays.


\section{Energy Parameters}
\label{\detokenize{api_python:energy-parameters}}
\sphinxAtStartPar
Energy parameters are compiled into our library, so there is usually no necessity
to load them from a file. All parameter files shipped with the ViennaRNA Package
can be loaded by simply calling any of the dedicated functions:
\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004()}}}}} (default RNA parameters)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004()}}}}} (default DNA parameters)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999()}}}}} (old DNA parameters)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999()}}}}} (old RNA parameters)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007()}}}}} (trained RNA parameters)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018()}}}}} (trained RNA parameters)

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins()}}}}} (special hairpin loop parameters)

\end{itemize}


\section{Examples}
\label{\detokenize{api_python:examples}}
\sphinxAtStartPar
A few more Python code examples can be found {\hyperref[\detokenize{examples/python::doc}]{\sphinxcrossref{\DUrole{doc}{here}}}}.


\section{The \sphinxstyleliteralintitle{\sphinxupquote{RNA}} Python module}
\label{\detokenize{api_python:module-RNA}}\label{\detokenize{api_python:the-rna-python-module}}\index{module@\spxentry{module}!RNA@\spxentry{RNA}}\index{RNA@\spxentry{RNA}!module@\spxentry{module}}
\sphinxAtStartPar
A library for the prediction and comparison of RNA secondary structures.

\sphinxAtStartPar
Amongst other things, our implementations allow you to:
\begin{itemize}
\item {} 
\sphinxAtStartPar
predict minimum free energy secondary structures

\item {} 
\sphinxAtStartPar
calculate the partition function for the ensemble of structures

\item {} 
\sphinxAtStartPar
compute various equilibrium probabilities

\item {} 
\sphinxAtStartPar
calculate suboptimal structures in a given energy range

\item {} 
\sphinxAtStartPar
compute local structures in long sequences

\item {} 
\sphinxAtStartPar
predict consensus secondary structures from a multiple sequence alignment

\item {} 
\sphinxAtStartPar
predict melting curves

\item {} 
\sphinxAtStartPar
search for sequences folding into a given structure

\item {} 
\sphinxAtStartPar
compare two secondary structures

\item {} 
\sphinxAtStartPar
predict interactions between multiple RNA molecules

\end{itemize}
\index{COORDINATE (class in RNA)@\spxentry{COORDINATE}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.COORDINATE}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{COORDINATE}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type
COORDINATE
\index{X (RNA.COORDINATE attribute)@\spxentry{X}\spxextra{RNA.COORDINATE attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.COORDINATE.X}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{X}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Y (RNA.COORDINATE attribute)@\spxentry{Y}\spxextra{RNA.COORDINATE attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.COORDINATE.Y}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Y}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type
COORDINATE
\index{X (RNA.COORDINATE attribute)@\spxentry{X}\spxextra{RNA.COORDINATE attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id0}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{X}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Y (RNA.COORDINATE attribute)@\spxentry{Y}\spxextra{RNA.COORDINATE attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Y}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{X (RNA.COORDINATE property)@\spxentry{X}\spxextra{RNA.COORDINATE property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{X}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Y (RNA.COORDINATE property)@\spxentry{Y}\spxextra{RNA.COORDINATE property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Y}}}
\pysigstopsignatures
\end{fulllineitems}

\index{get() (RNA.COORDINATE method)@\spxentry{get()}\spxextra{RNA.COORDINATE method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.COORDINATE.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.COORDINATE property)@\spxentry{thisown}\spxextra{RNA.COORDINATE property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.COORDINATE.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{ConstCharVector (class in RNA)@\spxentry{ConstCharVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ConstCharVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.ConstCharVector method)@\spxentry{append()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.ConstCharVector method)@\spxentry{assign()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.ConstCharVector method)@\spxentry{back()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.ConstCharVector method)@\spxentry{begin()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.ConstCharVector method)@\spxentry{capacity()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.ConstCharVector method)@\spxentry{clear()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.ConstCharVector method)@\spxentry{empty()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.ConstCharVector method)@\spxentry{end()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.ConstCharVector method)@\spxentry{erase()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.ConstCharVector method)@\spxentry{front()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.ConstCharVector method)@\spxentry{get\_allocator()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.ConstCharVector method)@\spxentry{insert()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.ConstCharVector method)@\spxentry{iterator()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.ConstCharVector method)@\spxentry{pop()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.ConstCharVector method)@\spxentry{pop\_back()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.ConstCharVector method)@\spxentry{push\_back()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.ConstCharVector method)@\spxentry{rbegin()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.ConstCharVector method)@\spxentry{rend()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.ConstCharVector method)@\spxentry{reserve()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.ConstCharVector method)@\spxentry{resize()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.ConstCharVector method)@\spxentry{size()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.ConstCharVector method)@\spxentry{swap()}\spxextra{RNA.ConstCharVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.ConstCharVector property)@\spxentry{thisown}\spxextra{RNA.ConstCharVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ConstCharVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{CoordinateVector (class in RNA)@\spxentry{CoordinateVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{CoordinateVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.CoordinateVector method)@\spxentry{append()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.CoordinateVector method)@\spxentry{assign()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.CoordinateVector method)@\spxentry{back()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.CoordinateVector method)@\spxentry{begin()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.CoordinateVector method)@\spxentry{capacity()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.CoordinateVector method)@\spxentry{clear()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.CoordinateVector method)@\spxentry{empty()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.CoordinateVector method)@\spxentry{end()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.CoordinateVector method)@\spxentry{erase()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.CoordinateVector method)@\spxentry{front()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.CoordinateVector method)@\spxentry{get\_allocator()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.CoordinateVector method)@\spxentry{insert()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.CoordinateVector method)@\spxentry{iterator()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.CoordinateVector method)@\spxentry{pop()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.CoordinateVector method)@\spxentry{pop\_back()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.CoordinateVector method)@\spxentry{push\_back()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.CoordinateVector method)@\spxentry{rbegin()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.CoordinateVector method)@\spxentry{rend()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.CoordinateVector method)@\spxentry{reserve()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.CoordinateVector method)@\spxentry{resize()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.CoordinateVector method)@\spxentry{size()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.CoordinateVector method)@\spxentry{swap()}\spxextra{RNA.CoordinateVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.CoordinateVector property)@\spxentry{thisown}\spxextra{RNA.CoordinateVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.CoordinateVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{DoubleDoubleVector (class in RNA)@\spxentry{DoubleDoubleVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{DoubleDoubleVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.DoubleDoubleVector method)@\spxentry{append()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.DoubleDoubleVector method)@\spxentry{assign()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.DoubleDoubleVector method)@\spxentry{back()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.DoubleDoubleVector method)@\spxentry{begin()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.DoubleDoubleVector method)@\spxentry{capacity()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.DoubleDoubleVector method)@\spxentry{clear()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.DoubleDoubleVector method)@\spxentry{empty()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.DoubleDoubleVector method)@\spxentry{end()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.DoubleDoubleVector method)@\spxentry{erase()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.DoubleDoubleVector method)@\spxentry{front()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.DoubleDoubleVector method)@\spxentry{get\_allocator()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.DoubleDoubleVector method)@\spxentry{insert()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.DoubleDoubleVector method)@\spxentry{iterator()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.DoubleDoubleVector method)@\spxentry{pop()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.DoubleDoubleVector method)@\spxentry{pop\_back()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.DoubleDoubleVector method)@\spxentry{push\_back()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.DoubleDoubleVector method)@\spxentry{rbegin()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.DoubleDoubleVector method)@\spxentry{rend()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.DoubleDoubleVector method)@\spxentry{reserve()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.DoubleDoubleVector method)@\spxentry{resize()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.DoubleDoubleVector method)@\spxentry{size()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.DoubleDoubleVector method)@\spxentry{swap()}\spxextra{RNA.DoubleDoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.DoubleDoubleVector property)@\spxentry{thisown}\spxextra{RNA.DoubleDoubleVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleDoubleVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{DoublePair (class in RNA)@\spxentry{DoublePair}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoublePair}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{DoublePair}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{first (RNA.DoublePair property)@\spxentry{first}\spxextra{RNA.DoublePair property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoublePair.first}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{first}}}
\pysigstopsignatures
\end{fulllineitems}

\index{second (RNA.DoublePair property)@\spxentry{second}\spxextra{RNA.DoublePair property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoublePair.second}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{second}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.DoublePair property)@\spxentry{thisown}\spxextra{RNA.DoublePair property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoublePair.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{DoubleVector (class in RNA)@\spxentry{DoubleVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{DoubleVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.DoubleVector method)@\spxentry{append()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.DoubleVector method)@\spxentry{assign()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.DoubleVector method)@\spxentry{back()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.DoubleVector method)@\spxentry{begin()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.DoubleVector method)@\spxentry{capacity()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.DoubleVector method)@\spxentry{clear()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.DoubleVector method)@\spxentry{empty()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.DoubleVector method)@\spxentry{end()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.DoubleVector method)@\spxentry{erase()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.DoubleVector method)@\spxentry{front()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.DoubleVector method)@\spxentry{get\_allocator()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.DoubleVector method)@\spxentry{insert()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.DoubleVector method)@\spxentry{iterator()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.DoubleVector method)@\spxentry{pop()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.DoubleVector method)@\spxentry{pop\_back()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.DoubleVector method)@\spxentry{push\_back()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.DoubleVector method)@\spxentry{rbegin()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.DoubleVector method)@\spxentry{rend()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.DoubleVector method)@\spxentry{reserve()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.DoubleVector method)@\spxentry{resize()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.DoubleVector method)@\spxentry{size()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.DoubleVector method)@\spxentry{swap()}\spxextra{RNA.DoubleVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.DoubleVector property)@\spxentry{thisown}\spxextra{RNA.DoubleVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DoubleVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{DuplexVector (class in RNA)@\spxentry{DuplexVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{DuplexVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.DuplexVector method)@\spxentry{append()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.DuplexVector method)@\spxentry{assign()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.DuplexVector method)@\spxentry{back()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.DuplexVector method)@\spxentry{begin()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.DuplexVector method)@\spxentry{capacity()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.DuplexVector method)@\spxentry{clear()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.DuplexVector method)@\spxentry{empty()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.DuplexVector method)@\spxentry{end()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.DuplexVector method)@\spxentry{erase()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.DuplexVector method)@\spxentry{front()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.DuplexVector method)@\spxentry{get\_allocator()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.DuplexVector method)@\spxentry{insert()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.DuplexVector method)@\spxentry{iterator()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.DuplexVector method)@\spxentry{pop()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.DuplexVector method)@\spxentry{pop\_back()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.DuplexVector method)@\spxentry{push\_back()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.DuplexVector method)@\spxentry{rbegin()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.DuplexVector method)@\spxentry{rend()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.DuplexVector method)@\spxentry{reserve()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.DuplexVector method)@\spxentry{resize()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.DuplexVector method)@\spxentry{size()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.DuplexVector method)@\spxentry{swap()}\spxextra{RNA.DuplexVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.DuplexVector property)@\spxentry{thisown}\spxextra{RNA.DuplexVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.DuplexVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{E\_ExtLoop() (in module RNA)@\spxentry{E\_ExtLoop()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_ExtLoop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_ExtLoop}}}
{\sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_GQuad\_IntLoop\_L() (in module RNA)@\spxentry{E\_GQuad\_IntLoop\_L()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_GQuad_IntLoop_L}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_GQuad\_IntLoop\_L}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ggg}}\sphinxparamcomma \sphinxparam{\DUrole{n}{maxdist}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_GQuad\_IntLoop\_L\_comparative() (in module RNA)@\spxentry{E\_GQuad\_IntLoop\_L\_comparative()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_GQuad_IntLoop_L_comparative}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_GQuad\_IntLoop\_L\_comparative}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{tt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S\_cons}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S5}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S3}}\sphinxparamcomma \sphinxparam{\DUrole{n}{a2s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ggg}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n\_seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_Hairpin() (in module RNA)@\spxentry{E\_Hairpin()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_Hairpin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_Hairpin}}}
{\sphinxparam{\DUrole{n}{size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute the Energy of a hairpin\sphinxhyphen{}loop.

\sphinxAtStartPar
To evaluate the free energy of a hairpin\sphinxhyphen{}loop, several parameters have to be known. A general
hairpin\sphinxhyphen{}loop has this structure:
\begin{quote}
\begin{quote}
\begin{quote}

\sphinxAtStartPar
a3 a4
\end{quote}

\sphinxAtStartPar
a2     a5
a1     a6
\begin{quote}

\sphinxAtStartPar
X \sphinxhyphen{} Y
|   |
5’  3’
\end{quote}
\end{quote}

\sphinxAtStartPar
where X\sphinxhyphen{}Y marks the closing pair {[}e.g. a \sphinxstylestrong{(G,C)} pair{]}. The length of this loop is 6 as there are
six unpaired nucleotides (a1\sphinxhyphen{}a6) enclosed by (X,Y). The 5’ mismatching nucleotide is a1 while the
3’ mismatch is a6. The nucleotide sequence of this loop is “a1.a2.a3.a4.a5.a6”
\end{quote}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The size of the loop (number of unpaired nucleotides)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The pair type of the base pair closing the hairpin

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The sequence of the loop (May be \sphinxtitleref{NULL}, otherwise mst be at least \(size + 2\) long)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} (\sphinxcode{\sphinxupquote{RNA.param() *}}) \textendash{} The datastructure containing scaled energy parameters

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Free energy of the Hairpin\sphinxhyphen{}loop in dcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Not (really) thread safe! A threadsafe implementation will replace this function in a future
release!
\begin{quote}

\sphinxAtStartPar
Energy evaluation may change due to updates in global variable “tetra\_loop”
\end{quote}
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{scale\_parameters}}, {\hyperref[\detokenize{api_python:RNA.param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.param}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The parameter sequence should contain the sequence of the loop in capital letters of the nucleic
acid alphabet if the loop size is below 7. This is useful for unusually stable tri\sphinxhyphen{}, tetra\sphinxhyphen{} and
hexa\sphinxhyphen{}loops which are treated differently (based on experimental data) if they are tabulated.
\end{sphinxadmonition}

\end{fulllineitems}

\index{E\_IntLoop() (in module RNA)@\spxentry{E\_IntLoop()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_IntLoop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_IntLoop}}}
{\sphinxparam{\DUrole{n}{n1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type\_2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sp1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sq1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures

\subsection{Compute the Energy of an internal\sphinxhyphen{}loop}
\label{\detokenize{api_python:compute-the-energy-of-an-internal-loop}}
\sphinxAtStartPar
This function computes the free energy \(\Delta G\) of an internal\sphinxhyphen{}loop with the following
structure:
\begin{quote}
\begin{quote}
\begin{quote}

\sphinxAtStartPar
3’  5’
|   |
U \sphinxhyphen{} V
\end{quote}
\begin{description}
\sphinxlineitem{a\_n       b\_1}
\sphinxAtStartPar
.        .
.        .
.        .

\sphinxlineitem{a\_1       b\_m}
\sphinxAtStartPar
X \sphinxhyphen{} Y
|   |
5’  3’

\end{description}
\end{quote}

\sphinxAtStartPar
This general structure depicts an internal\sphinxhyphen{}loop that is closed by the base pair (X,Y). The enclosed
base pair is (V,U) which leaves the unpaired bases a\_1\sphinxhyphen{}a\_n and b\_1\sphinxhyphen{}b\_n that constitute the loop. In
this example, the length of the internal\sphinxhyphen{}loop is \((n+m)\) where n or m may be 0 resulting in a
bulge\sphinxhyphen{}loop or base pair stack. The mismatching nucleotides for the closing pair (X,Y) are:
5’\sphinxhyphen{}mismatch: a\_1
3’\sphinxhyphen{}mismatch: b\_m
and for the enclosed base pair (V,U):
5’\sphinxhyphen{}mismatch: b\_1
3’\sphinxhyphen{}mismatch: a\_n
\end{quote}
\begin{quote}\begin{description}
\sphinxlineitem{param n1}
\sphinxAtStartPar
The size of the ‘left’\sphinxhyphen{}loop (number of unpaired nucleotides)

\sphinxlineitem{type n1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param n2}
\sphinxAtStartPar
The size of the ‘right’\sphinxhyphen{}loop (number of unpaired nucleotides)

\sphinxlineitem{type n2}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param type}
\sphinxAtStartPar
The pair type of the base pair closing the internal loop

\sphinxlineitem{type type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param type\_2}
\sphinxAtStartPar
The pair type of the enclosed base pair

\sphinxlineitem{type type\_2}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param si1}
\sphinxAtStartPar
The 5’\sphinxhyphen{}mismatching nucleotide of the closing pair

\sphinxlineitem{type si1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param sj1}
\sphinxAtStartPar
The 3’\sphinxhyphen{}mismatching nucleotide of the closing pair

\sphinxlineitem{type sj1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param sp1}
\sphinxAtStartPar
The 3’\sphinxhyphen{}mismatching nucleotide of the enclosed pair

\sphinxlineitem{type sp1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param sq1}
\sphinxAtStartPar
The 5’\sphinxhyphen{}mismatching nucleotide of the enclosed pair

\sphinxlineitem{type sq1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param P}
\sphinxAtStartPar
The datastructure containing scaled energy parameters

\sphinxlineitem{type P}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.param() *}}

\sphinxlineitem{returns}
\sphinxAtStartPar
The Free energy of the Interior\sphinxhyphen{}loop in dcal/mol

\sphinxlineitem{rtype}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{scale\_parameters}}, {\hyperref[\detokenize{api_python:RNA.param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.param}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Base pairs are always denoted in 5’\sphinxhyphen{}\textgreater{}3’ direction. Thus the enclosed base pair must be ‘turned
arround’ when evaluating the free energy of the internal\sphinxhyphen{}loop
\begin{quote}

\sphinxAtStartPar
This function is threadsafe
\end{quote}
\end{sphinxadmonition}

\end{fulllineitems}

\index{E\_IntLoop\_Co() (in module RNA)@\spxentry{E\_IntLoop\_Co()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_IntLoop_Co}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_IntLoop\_Co}}}
{\sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type\_2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q}}\sphinxparamcomma \sphinxparam{\DUrole{n}{cutpoint}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sp1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sq1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dangles}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_MLstem() (in module RNA)@\spxentry{E\_MLstem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_MLstem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_MLstem}}}
{\sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_Stem() (in module RNA)@\spxentry{E\_Stem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_Stem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_Stem}}}
{\sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{extLoop}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute the energy contribution of a stem branching off a loop\sphinxhyphen{}region.

\sphinxAtStartPar
This function computes the energy contribution of a stem that branches off a loop region. This can
be the case in multiloops, when a stem branching off increases the degree of the loop but also
\sphinxstyleemphasis{immediately interior base pairs} of an exterior loop contribute free energy. To switch the behavior
of the function according to the evaluation of a multiloop\sphinxhyphen{} or exterior\sphinxhyphen{}loop\sphinxhyphen{}stem, you pass the flag
‘extLoop’. The returned energy contribution consists of a TerminalAU penalty if the pair type is
greater than 2, dangling end contributions of mismatching nucleotides adjacent to the stem if only
one of the si1, sj1 parameters is greater than 0 and mismatch energies if both mismatching
nucleotides are positive values. Thus, to avoid incorporating dangling end or mismatch energies just
pass a negative number, e.g. \sphinxhyphen{}1 to the mismatch argument.
\begin{description}
\sphinxlineitem{This is an illustration of how the energy contribution is assembled:}
\sphinxAtStartPar
3’  5’
|   |
X \sphinxhyphen{} Y

\end{description}

\sphinxAtStartPar
5’\sphinxhyphen{}si1     sj1\sphinxhyphen{}3’

\sphinxAtStartPar
Here, (X,Y) is the base pair that closes the stem that branches off a loop region. The nucleotides
si1 and sj1 are the 5’\sphinxhyphen{} and 3’\sphinxhyphen{} mismatches, respectively. If the base pair type of (X,Y) is greater
than 2 (i.e. an A\sphinxhyphen{}U or G\sphinxhyphen{}U pair, the TerminalAU penalty will be included in the energy contribution
returned. If si1 and sj1 are both nonnegative numbers, mismatch energies will also be included. If
one of si1 or sj1 is a negative value, only 5’ or 3’ dangling end contributions are taken into
account. To prohibit any of these mismatch contributions to be incorporated, just pass a negative
number to both, si1 and sj1. In case the argument extLoop is 0, the returned energy contribution
also includes the \sphinxstyleemphasis{internal\sphinxhyphen{}loop\sphinxhyphen{}penalty} of a multiloop stem with closing pair type.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Please use one of the functions RNA.E\_exterior\_stem() and RNA.E\_multibranch\_stem() instead!
Use the former for cases where \sphinxtitleref{extLoop} != 0 and the latter otherwise.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.E\_multibranch\_stem}}, \sphinxcode{\sphinxupquote{\_ExtLoop}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The pair type of the first base pair un the stem

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{extLoop}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} A flag that indicates whether the contribution reflects the one of an exterior loop or not

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} (\sphinxcode{\sphinxupquote{RNA.param() *}}) \textendash{} The data structure containing scaled energy parameters

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Free energy of the branch off the loop in dcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{E\_gquad() (in module RNA)@\spxentry{E\_gquad()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_gquad}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_gquad}}}
{\sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_gquad\_ali\_en() (in module RNA)@\spxentry{E\_gquad\_ali\_en()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_gquad_ali_en}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_gquad\_ali\_en}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{a2s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n\_seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}\sphinxparamcomma \sphinxparam{\DUrole{n}{en}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_ml\_rightmost\_stem() (in module RNA)@\spxentry{E\_ml\_rightmost\_stem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.E_ml_rightmost_stem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{E\_ml\_rightmost\_stem}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{fc}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ElemProbVector (class in RNA)@\spxentry{ElemProbVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ElemProbVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.ElemProbVector method)@\spxentry{append()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.ElemProbVector method)@\spxentry{assign()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.ElemProbVector method)@\spxentry{back()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.ElemProbVector method)@\spxentry{begin()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.ElemProbVector method)@\spxentry{capacity()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.ElemProbVector method)@\spxentry{clear()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.ElemProbVector method)@\spxentry{empty()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.ElemProbVector method)@\spxentry{end()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.ElemProbVector method)@\spxentry{erase()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.ElemProbVector method)@\spxentry{front()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.ElemProbVector method)@\spxentry{get\_allocator()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.ElemProbVector method)@\spxentry{insert()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.ElemProbVector method)@\spxentry{iterator()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.ElemProbVector method)@\spxentry{pop()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.ElemProbVector method)@\spxentry{pop\_back()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.ElemProbVector method)@\spxentry{push\_back()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.ElemProbVector method)@\spxentry{rbegin()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.ElemProbVector method)@\spxentry{rend()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.ElemProbVector method)@\spxentry{reserve()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.ElemProbVector method)@\spxentry{resize()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.ElemProbVector method)@\spxentry{size()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.ElemProbVector method)@\spxentry{swap()}\spxextra{RNA.ElemProbVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.ElemProbVector property)@\spxentry{thisown}\spxextra{RNA.ElemProbVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ElemProbVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{HeatCapacityVector (class in RNA)@\spxentry{HeatCapacityVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{HeatCapacityVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.HeatCapacityVector method)@\spxentry{append()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.HeatCapacityVector method)@\spxentry{assign()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.HeatCapacityVector method)@\spxentry{back()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.HeatCapacityVector method)@\spxentry{begin()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.HeatCapacityVector method)@\spxentry{capacity()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.HeatCapacityVector method)@\spxentry{clear()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.HeatCapacityVector method)@\spxentry{empty()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.HeatCapacityVector method)@\spxentry{end()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.HeatCapacityVector method)@\spxentry{erase()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.HeatCapacityVector method)@\spxentry{front()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.HeatCapacityVector method)@\spxentry{get\_allocator()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.HeatCapacityVector method)@\spxentry{insert()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.HeatCapacityVector method)@\spxentry{iterator()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.HeatCapacityVector method)@\spxentry{pop()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.HeatCapacityVector method)@\spxentry{pop\_back()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.HeatCapacityVector method)@\spxentry{push\_back()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.HeatCapacityVector method)@\spxentry{rbegin()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.HeatCapacityVector method)@\spxentry{rend()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.HeatCapacityVector method)@\spxentry{reserve()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.HeatCapacityVector method)@\spxentry{resize()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.HeatCapacityVector method)@\spxentry{size()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.HeatCapacityVector method)@\spxentry{swap()}\spxextra{RNA.HeatCapacityVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.HeatCapacityVector property)@\spxentry{thisown}\spxextra{RNA.HeatCapacityVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HeatCapacityVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{HelixVector (class in RNA)@\spxentry{HelixVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{HelixVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.HelixVector method)@\spxentry{append()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.HelixVector method)@\spxentry{assign()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.HelixVector method)@\spxentry{back()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.HelixVector method)@\spxentry{begin()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.HelixVector method)@\spxentry{capacity()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.HelixVector method)@\spxentry{clear()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.HelixVector method)@\spxentry{empty()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.HelixVector method)@\spxentry{end()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.HelixVector method)@\spxentry{erase()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.HelixVector method)@\spxentry{front()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.HelixVector method)@\spxentry{get\_allocator()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.HelixVector method)@\spxentry{insert()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.HelixVector method)@\spxentry{iterator()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.HelixVector method)@\spxentry{pop()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.HelixVector method)@\spxentry{pop\_back()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.HelixVector method)@\spxentry{push\_back()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.HelixVector method)@\spxentry{rbegin()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.HelixVector method)@\spxentry{rend()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.HelixVector method)@\spxentry{reserve()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.HelixVector method)@\spxentry{resize()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.HelixVector method)@\spxentry{size()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.HelixVector method)@\spxentry{swap()}\spxextra{RNA.HelixVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.HelixVector property)@\spxentry{thisown}\spxextra{RNA.HelixVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.HelixVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{IntIntVector (class in RNA)@\spxentry{IntIntVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{IntIntVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.IntIntVector method)@\spxentry{append()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.IntIntVector method)@\spxentry{assign()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.IntIntVector method)@\spxentry{back()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.IntIntVector method)@\spxentry{begin()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.IntIntVector method)@\spxentry{capacity()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.IntIntVector method)@\spxentry{clear()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.IntIntVector method)@\spxentry{empty()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.IntIntVector method)@\spxentry{end()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.IntIntVector method)@\spxentry{erase()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.IntIntVector method)@\spxentry{front()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.IntIntVector method)@\spxentry{get\_allocator()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.IntIntVector method)@\spxentry{insert()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.IntIntVector method)@\spxentry{iterator()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.IntIntVector method)@\spxentry{pop()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.IntIntVector method)@\spxentry{pop\_back()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.IntIntVector method)@\spxentry{push\_back()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.IntIntVector method)@\spxentry{rbegin()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.IntIntVector method)@\spxentry{rend()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.IntIntVector method)@\spxentry{reserve()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.IntIntVector method)@\spxentry{resize()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.IntIntVector method)@\spxentry{size()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.IntIntVector method)@\spxentry{swap()}\spxextra{RNA.IntIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.IntIntVector property)@\spxentry{thisown}\spxextra{RNA.IntIntVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntIntVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{IntVector (class in RNA)@\spxentry{IntVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{IntVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.IntVector method)@\spxentry{append()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.IntVector method)@\spxentry{assign()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.IntVector method)@\spxentry{back()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.IntVector method)@\spxentry{begin()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.IntVector method)@\spxentry{capacity()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.IntVector method)@\spxentry{clear()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.IntVector method)@\spxentry{empty()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.IntVector method)@\spxentry{end()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.IntVector method)@\spxentry{erase()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.IntVector method)@\spxentry{front()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.IntVector method)@\spxentry{get\_allocator()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.IntVector method)@\spxentry{insert()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.IntVector method)@\spxentry{iterator()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.IntVector method)@\spxentry{pop()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.IntVector method)@\spxentry{pop\_back()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.IntVector method)@\spxentry{push\_back()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.IntVector method)@\spxentry{rbegin()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.IntVector method)@\spxentry{rend()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.IntVector method)@\spxentry{reserve()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.IntVector method)@\spxentry{resize()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.IntVector method)@\spxentry{size()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.IntVector method)@\spxentry{swap()}\spxextra{RNA.IntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.IntVector property)@\spxentry{thisown}\spxextra{RNA.IntVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.IntVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{Lfold() (in module RNA)@\spxentry{Lfold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.Lfold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{Lfold}}}
{\sphinxparam{\DUrole{n}{sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{nullfile}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach (simplified interface).

\sphinxAtStartPar
This simplified interface to RNA.fold\_compound.mfe\_window() computes the MFE and locally optimal secondary
structure using default options. Structures are predicted using a sliding window approach, where
base pairs may not span outside the window. Memory required for dynamic programming (DP) matrices
will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively
filled matrices are not available any more for any post\sphinxhyphen{}processing.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{Lfold()} in the global namespace. The
parameter \sphinxtitleref{file} defaults to \sphinxtitleref{NULL} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.Lfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The nucleic acid sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The window size for locally optimal structures

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} The output file handle where predictions are written to (if NULL, output is written to stdout)

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window}}}}}, {\hyperref[\detokenize{api_python:RNA.Lfoldz}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfoldz}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you
require other conditions than specified by the default model details, use
RNA.fold\_compound.mfe\_window(), and the
data structure RNA.fold\_compound() instead.
\end{sphinxadmonition}

\end{fulllineitems}

\index{Lfold\_cb() (in module RNA)@\spxentry{Lfold\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.Lfold_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{Lfold\_cb}}}
{\sphinxparam{\DUrole{n}{char * string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}}
{{ $\rightarrow$ float}}
\pysigstopsignatures
\end{fulllineitems}

\index{Lfoldz() (in module RNA)@\spxentry{Lfoldz()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.Lfoldz}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{Lfoldz}}}
{\sphinxparam{\DUrole{n}{sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{min\_z}}\sphinxparamcomma \sphinxparam{\DUrole{n}{nullfile}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach with z\sphinxhyphen{}score cut\sphinxhyphen{}off (simplified interface).

\sphinxAtStartPar
This simplified interface to RNA.fold\_compound.mfe\_window\_zscore() computes the MFE and locally optimal secondary
structure using default options. Structures are predicted using a sliding window approach, where
base pairs may not span outside the window. Memory required for dynamic programming (DP) matrices
will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively
filled matrices are not available any more for any post\sphinxhyphen{}processing. This function is the z\sphinxhyphen{}score
version of RNA.Lfold(), i.e. only predictions above a certain z\sphinxhyphen{}score cut\sphinxhyphen{}off value are printed.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The nucleic acid sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The window size for locally optimal structures

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{min\_z}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The minimal z\sphinxhyphen{}score for a predicted structure to appear in the output

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} The output file handle where predictions are written to (if NULL, output is written to stdout)

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore}}}}}, {\hyperref[\detokenize{api_python:RNA.Lfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you
require other conditions than specified by the default model details, use
RNA.fold\_compound.mfe\_window(), and the
data structure RNA.fold\_compound() instead.
\end{sphinxadmonition}

\end{fulllineitems}

\index{Lfoldz\_cb() (in module RNA)@\spxentry{Lfoldz\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.Lfoldz_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{Lfoldz\_cb}}}
{\sphinxparam{\DUrole{n}{char * string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double min\_z}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}}
{{ $\rightarrow$ float}}
\pysigstopsignatures
\end{fulllineitems}

\index{MEA\_from\_plist() (in module RNA)@\spxentry{MEA\_from\_plist()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MEA_from_plist}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{MEA\_from\_plist}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute a MEA (maximum expected accuracy) structure from a list of probabilities.

\sphinxAtStartPar
The algorithm maximizes the expected accuracy
\begin{equation*}
\begin{split}A(S) = \sum_{(i,j) \in S} 2 \gamma p_{ij} + \sum_{i \notin S} p^u_{i}\end{split}
\end{equation*}
\sphinxAtStartPar
Higher values of \(\gamma\) result in more base pairs of lower probability and thus higher
sensitivity. Low values of \(\gamma\) result in structures containing only highly likely pairs
(high specificity). The code of the MEA function also demonstrates the use of sparse dynamic
programming scheme to reduce the time and memory complexity of folding.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{MEA\_from\_plist\textasciigrave{}(gamma = 1., md = NULL). Note,
that it returns the MEA structure and MEA value as a tuple (MEA\_structure, MEA). See, e.g.
:py:func:\textasciigrave{}RNA.MEA\_from\_plist()} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{plist}} (\sphinxcode{\sphinxupquote{RNA.ep() *}}) \textendash{} A list of base pair probabilities the MEA structure is computed from

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence that corresponds to the list of probability values

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{gamma}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The weighting factor for base pairs vs. unpaired nucleotides

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{RNA.md() *}}) \textendash{} A model details data structure (maybe NULL)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mea}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} A pointer to a variable where the MEA value will be written to

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An MEA structure (or NULL on any error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The unpaired probabilities \(p^u_{i} = 1 - \sum_{j \neq i} p_{ij}\) are usually computed from
the supplied pairing probabilities \(p_{ij}\) as stored in \sphinxtitleref{plist} entries of type
RNA.PLIST\_TYPE\_BASEPAIR. To overwrite individual \(p^u_{o}\) values simply add entries with
type RNA.PLIST\_TYPE\_UNPAIRED
\begin{quote}

\sphinxAtStartPar
To include G\sphinxhyphen{}Quadruplex support, the corresponding field in \sphinxtitleref{md} must be set.
\end{quote}
\end{sphinxadmonition}

\end{fulllineitems}

\index{Make\_bp\_profile() (in module RNA)@\spxentry{Make\_bp\_profile()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.Make_bp_profile}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{Make\_bp\_profile}}}
{\sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is deprecated and will be removed soon! See Make\_bp\_profile\_bppm() for a
replacement


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.Make_bp_profile_bppm}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Make\_bp\_profile\_bppm}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is NOT threadsafe
\end{sphinxadmonition}

\end{fulllineitems}

\index{Make\_bp\_profile\_bppm() (in module RNA)@\spxentry{Make\_bp\_profile\_bppm()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.Make_bp_profile_bppm}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{Make\_bp\_profile\_bppm}}}
{\sphinxparam{\DUrole{n}{bppm}}\sphinxparamcomma \sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
condense pair probability matrix into a vector containing probabilities for unpaired, upstream
paired and downstream paired.

\sphinxAtStartPar
This resulting probability profile is used as input for profile\_edit\_distance
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bppm}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} A pointer to the base pair probability matrix

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The length of the sequence

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The bp profile

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Make\_swString() (in module RNA)@\spxentry{Make\_swString()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.Make_swString}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{Make\_swString}}}
{\sphinxparam{\DUrole{n}{string}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Convert a structure into a format suitable for string\_edit\_distance().
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{swString *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MoveVector (class in RNA)@\spxentry{MoveVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{MoveVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.MoveVector method)@\spxentry{append()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.MoveVector method)@\spxentry{assign()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.MoveVector method)@\spxentry{back()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.MoveVector method)@\spxentry{begin()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.MoveVector method)@\spxentry{capacity()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.MoveVector method)@\spxentry{clear()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.MoveVector method)@\spxentry{empty()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.MoveVector method)@\spxentry{end()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.MoveVector method)@\spxentry{erase()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.MoveVector method)@\spxentry{front()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.MoveVector method)@\spxentry{get\_allocator()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.MoveVector method)@\spxentry{insert()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.MoveVector method)@\spxentry{iterator()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.MoveVector method)@\spxentry{pop()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.MoveVector method)@\spxentry{pop\_back()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.MoveVector method)@\spxentry{push\_back()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.MoveVector method)@\spxentry{rbegin()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.MoveVector method)@\spxentry{rend()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.MoveVector method)@\spxentry{reserve()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.MoveVector method)@\spxentry{resize()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.MoveVector method)@\spxentry{size()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.MoveVector method)@\spxentry{swap()}\spxextra{RNA.MoveVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.MoveVector property)@\spxentry{thisown}\spxextra{RNA.MoveVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.MoveVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{PS\_color\_dot\_plot() (in module RNA)@\spxentry{PS\_color\_dot\_plot()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_color_dot_plot}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_color\_dot\_plot}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pi}}\sphinxparamcomma \sphinxparam{\DUrole{n}{filename}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{PS\_color\_dot\_plot\_turn() (in module RNA)@\spxentry{PS\_color\_dot\_plot\_turn()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_color_dot_plot_turn}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_color\_dot\_plot\_turn}}}
{\sphinxparam{\DUrole{n}{seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pi}}\sphinxparamcomma \sphinxparam{\DUrole{n}{filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{winSize}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{PS\_dot\_plot() (in module RNA)@\spxentry{PS\_dot\_plot()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_dot_plot}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_dot\_plot}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{file}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce postscript dot\sphinxhyphen{}plot.

\sphinxAtStartPar
Wrapper to PS\_dot\_plot\_list

\sphinxAtStartPar
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

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is deprecated and will be removed soon! Use PS\_dot\_plot\_list() instead!

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
DO NOT USE THIS FUNCTION ANYMORE SINCE IT IS NOT THREADSAFE
\end{sphinxadmonition}

\end{fulllineitems}

\index{PS\_dot\_plot\_list() (in module RNA)@\spxentry{PS\_dot\_plot\_list()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_dot_plot_list}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_dot\_plot\_list}}}
{\sphinxparam{\DUrole{n}{seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pl}}\sphinxparamcomma \sphinxparam{\DUrole{n}{mf}}\sphinxparamcomma \sphinxparam{\DUrole{n}{comment}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a postscript dot\sphinxhyphen{}plot from two pair lists.

\sphinxAtStartPar
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.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A filename for the postscript output

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pl}} (\sphinxcode{\sphinxupquote{RNA.ep() *}}) \textendash{} The base pair probability pairlist

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mf}} (\sphinxcode{\sphinxupquote{RNA.ep() *}}) \textendash{} The mfe secondary structure pairlist

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{comment}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A comment

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if postscript was successfully written, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{assign\_plist\_from\_pr}}, \sphinxcode{\sphinxupquote{assign\_plist\_from\_db}}


\end{sphinxseealso}


\end{fulllineitems}

\index{PS\_dot\_plot\_turn() (in module RNA)@\spxentry{PS\_dot\_plot\_turn()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_dot_plot_turn}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_dot\_plot\_turn}}}
{\sphinxparam{\DUrole{n}{seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pl}}\sphinxparamcomma \sphinxparam{\DUrole{n}{filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{winSize}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{PS\_rna\_plot() (in module RNA)@\spxentry{PS\_rna\_plot()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_rna_plot}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_rna\_plot}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{file}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript and write it to ‘filename’.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.file\_PS\_rnaplot() instead!

\end{fulllineitems}

\index{PS\_rna\_plot\_a() (in module RNA)@\spxentry{PS\_rna\_plot\_a()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_rna_plot_a}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_rna\_plot\_a}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{file}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pre}}\sphinxparamcomma \sphinxparam{\DUrole{n}{post}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript including additional annotation macros and write
it to ‘filename’.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.file\_PS\_rnaplot\_a() instead!

\end{fulllineitems}

\index{PS\_rna\_plot\_a\_gquad() (in module RNA)@\spxentry{PS\_rna\_plot\_a\_gquad()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PS_rna_plot_a_gquad}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PS\_rna\_plot\_a\_gquad}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ssfile}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pre}}\sphinxparamcomma \sphinxparam{\DUrole{n}{post}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in PostScript including additional annotation macros and write
it to ‘filename’ (detect and draw g\sphinxhyphen{}quadruplexes).

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.file\_PS\_rnaplot\_a() instead!

\end{fulllineitems}

\index{PathVector (class in RNA)@\spxentry{PathVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{PathVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.PathVector method)@\spxentry{append()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.PathVector method)@\spxentry{assign()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.PathVector method)@\spxentry{back()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.PathVector method)@\spxentry{begin()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.PathVector method)@\spxentry{capacity()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.PathVector method)@\spxentry{clear()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.PathVector method)@\spxentry{empty()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.PathVector method)@\spxentry{end()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.PathVector method)@\spxentry{erase()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.PathVector method)@\spxentry{front()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.PathVector method)@\spxentry{get\_allocator()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.PathVector method)@\spxentry{insert()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.PathVector method)@\spxentry{iterator()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.PathVector method)@\spxentry{pop()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.PathVector method)@\spxentry{pop\_back()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.PathVector method)@\spxentry{push\_back()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.PathVector method)@\spxentry{rbegin()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.PathVector method)@\spxentry{rend()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.PathVector method)@\spxentry{reserve()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.PathVector method)@\spxentry{resize()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.PathVector method)@\spxentry{size()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.PathVector method)@\spxentry{swap()}\spxextra{RNA.PathVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.PathVector property)@\spxentry{thisown}\spxextra{RNA.PathVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.PathVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{SOLUTION (class in RNA)@\spxentry{SOLUTION}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTION}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{SOLUTION}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{energy (RNA.SOLUTION property)@\spxentry{energy}\spxextra{RNA.SOLUTION property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTION.energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures
\end{fulllineitems}

\index{get() (RNA.SOLUTION method)@\spxentry{get()}\spxextra{RNA.SOLUTION method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTION.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.SOLUTION method)@\spxentry{size()}\spxextra{RNA.SOLUTION method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTION.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{structure (RNA.SOLUTION property)@\spxentry{structure}\spxextra{RNA.SOLUTION property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTION.structure}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.SOLUTION property)@\spxentry{thisown}\spxextra{RNA.SOLUTION property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTION.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{SOLUTIONVector (class in RNA)@\spxentry{SOLUTIONVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{SOLUTIONVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.SOLUTIONVector method)@\spxentry{append()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.SOLUTIONVector method)@\spxentry{assign()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.SOLUTIONVector method)@\spxentry{back()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.SOLUTIONVector method)@\spxentry{begin()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.SOLUTIONVector method)@\spxentry{capacity()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.SOLUTIONVector method)@\spxentry{clear()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.SOLUTIONVector method)@\spxentry{empty()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.SOLUTIONVector method)@\spxentry{end()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.SOLUTIONVector method)@\spxentry{erase()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.SOLUTIONVector method)@\spxentry{front()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.SOLUTIONVector method)@\spxentry{get\_allocator()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.SOLUTIONVector method)@\spxentry{insert()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.SOLUTIONVector method)@\spxentry{iterator()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.SOLUTIONVector method)@\spxentry{pop()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.SOLUTIONVector method)@\spxentry{pop\_back()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.SOLUTIONVector method)@\spxentry{push\_back()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.SOLUTIONVector method)@\spxentry{rbegin()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.SOLUTIONVector method)@\spxentry{rend()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.SOLUTIONVector method)@\spxentry{reserve()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.SOLUTIONVector method)@\spxentry{resize()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.SOLUTIONVector method)@\spxentry{size()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.SOLUTIONVector method)@\spxentry{swap()}\spxextra{RNA.SOLUTIONVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.SOLUTIONVector property)@\spxentry{thisown}\spxextra{RNA.SOLUTIONVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SOLUTIONVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{StringVector (class in RNA)@\spxentry{StringVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{StringVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.StringVector method)@\spxentry{append()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.StringVector method)@\spxentry{assign()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.StringVector method)@\spxentry{back()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.StringVector method)@\spxentry{begin()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.StringVector method)@\spxentry{capacity()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.StringVector method)@\spxentry{clear()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.StringVector method)@\spxentry{empty()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.StringVector method)@\spxentry{end()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.StringVector method)@\spxentry{erase()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.StringVector method)@\spxentry{front()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.StringVector method)@\spxentry{get\_allocator()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.StringVector method)@\spxentry{insert()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.StringVector method)@\spxentry{iterator()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.StringVector method)@\spxentry{pop()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.StringVector method)@\spxentry{pop\_back()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.StringVector method)@\spxentry{push\_back()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.StringVector method)@\spxentry{rbegin()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.StringVector method)@\spxentry{rend()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.StringVector method)@\spxentry{reserve()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.StringVector method)@\spxentry{resize()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.StringVector method)@\spxentry{size()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.StringVector method)@\spxentry{swap()}\spxextra{RNA.StringVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.StringVector property)@\spxentry{thisown}\spxextra{RNA.StringVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.StringVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{SuboptVector (class in RNA)@\spxentry{SuboptVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{SuboptVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.SuboptVector method)@\spxentry{append()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.SuboptVector method)@\spxentry{assign()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.SuboptVector method)@\spxentry{back()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.SuboptVector method)@\spxentry{begin()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.SuboptVector method)@\spxentry{capacity()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.SuboptVector method)@\spxentry{clear()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.SuboptVector method)@\spxentry{empty()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.SuboptVector method)@\spxentry{end()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.SuboptVector method)@\spxentry{erase()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.SuboptVector method)@\spxentry{front()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.SuboptVector method)@\spxentry{get\_allocator()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.SuboptVector method)@\spxentry{insert()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.SuboptVector method)@\spxentry{iterator()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.SuboptVector method)@\spxentry{pop()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.SuboptVector method)@\spxentry{pop\_back()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.SuboptVector method)@\spxentry{push\_back()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.SuboptVector method)@\spxentry{rbegin()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.SuboptVector method)@\spxentry{rend()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.SuboptVector method)@\spxentry{reserve()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.SuboptVector method)@\spxentry{resize()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.SuboptVector method)@\spxentry{size()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.SuboptVector method)@\spxentry{swap()}\spxextra{RNA.SuboptVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.SuboptVector property)@\spxentry{thisown}\spxextra{RNA.SuboptVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SuboptVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{SwigPyIterator (class in RNA)@\spxentry{SwigPyIterator}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{SwigPyIterator}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{advance() (RNA.SwigPyIterator method)@\spxentry{advance()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.advance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{advance}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{copy() (RNA.SwigPyIterator method)@\spxentry{copy()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.copy}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{copy}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{decr() (RNA.SwigPyIterator method)@\spxentry{decr()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.decr}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{decr}}}
{\sphinxparam{\DUrole{n}{n}\DUrole{o}{=}\DUrole{default_value}{1}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{distance() (RNA.SwigPyIterator method)@\spxentry{distance()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{distance}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{equal() (RNA.SwigPyIterator method)@\spxentry{equal()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.equal}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{equal}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{incr() (RNA.SwigPyIterator method)@\spxentry{incr()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.incr}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{incr}}}
{\sphinxparam{\DUrole{n}{n}\DUrole{o}{=}\DUrole{default_value}{1}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{next() (RNA.SwigPyIterator method)@\spxentry{next()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.next}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{next}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{previous() (RNA.SwigPyIterator method)@\spxentry{previous()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.previous}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{previous}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.SwigPyIterator property)@\spxentry{thisown}\spxextra{RNA.SwigPyIterator property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{value() (RNA.SwigPyIterator method)@\spxentry{value()}\spxextra{RNA.SwigPyIterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.SwigPyIterator.value}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{value}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{UIntUIntVector (class in RNA)@\spxentry{UIntUIntVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{UIntUIntVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.UIntUIntVector method)@\spxentry{append()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.UIntUIntVector method)@\spxentry{assign()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.UIntUIntVector method)@\spxentry{back()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.UIntUIntVector method)@\spxentry{begin()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.UIntUIntVector method)@\spxentry{capacity()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.UIntUIntVector method)@\spxentry{clear()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.UIntUIntVector method)@\spxentry{empty()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.UIntUIntVector method)@\spxentry{end()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.UIntUIntVector method)@\spxentry{erase()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.UIntUIntVector method)@\spxentry{front()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.UIntUIntVector method)@\spxentry{get\_allocator()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.UIntUIntVector method)@\spxentry{insert()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.UIntUIntVector method)@\spxentry{iterator()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.UIntUIntVector method)@\spxentry{pop()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.UIntUIntVector method)@\spxentry{pop\_back()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.UIntUIntVector method)@\spxentry{push\_back()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.UIntUIntVector method)@\spxentry{rbegin()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.UIntUIntVector method)@\spxentry{rend()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.UIntUIntVector method)@\spxentry{reserve()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.UIntUIntVector method)@\spxentry{resize()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.UIntUIntVector method)@\spxentry{size()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.UIntUIntVector method)@\spxentry{swap()}\spxextra{RNA.UIntUIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.UIntUIntVector property)@\spxentry{thisown}\spxextra{RNA.UIntUIntVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntUIntVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{UIntVector (class in RNA)@\spxentry{UIntVector}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{UIntVector}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{append() (RNA.UIntVector method)@\spxentry{append()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.append}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{append}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{assign() (RNA.UIntVector method)@\spxentry{assign()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.assign}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{assign}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{back() (RNA.UIntVector method)@\spxentry{back()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{begin() (RNA.UIntVector method)@\spxentry{begin()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.begin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{begin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{capacity() (RNA.UIntVector method)@\spxentry{capacity()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{capacity}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{clear() (RNA.UIntVector method)@\spxentry{clear()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.clear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{clear}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{empty() (RNA.UIntVector method)@\spxentry{empty()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.empty}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{empty}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{end() (RNA.UIntVector method)@\spxentry{end()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.end}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{end}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{erase() (RNA.UIntVector method)@\spxentry{erase()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.erase}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{erase}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{front() (RNA.UIntVector method)@\spxentry{front()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.front}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{front}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_allocator() (RNA.UIntVector method)@\spxentry{get\_allocator()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.get_allocator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get\_allocator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{insert() (RNA.UIntVector method)@\spxentry{insert()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.insert}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{insert}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{iterator() (RNA.UIntVector method)@\spxentry{iterator()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{iterator}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop() (RNA.UIntVector method)@\spxentry{pop()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.pop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pop\_back() (RNA.UIntVector method)@\spxentry{pop\_back()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.pop_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pop\_back}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{push\_back() (RNA.UIntVector method)@\spxentry{push\_back()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.push_back}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{push\_back}}}
{\sphinxparam{\DUrole{n}{x}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rbegin() (RNA.UIntVector method)@\spxentry{rbegin()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.rbegin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rbegin}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{rend() (RNA.UIntVector method)@\spxentry{rend()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.rend}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rend}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{reserve() (RNA.UIntVector method)@\spxentry{reserve()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.reserve}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reserve}}}
{\sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{resize() (RNA.UIntVector method)@\spxentry{resize()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.resize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{resize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.UIntVector method)@\spxentry{size()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{swap() (RNA.UIntVector method)@\spxentry{swap()}\spxextra{RNA.UIntVector method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.swap}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{swap}}}
{\sphinxparam{\DUrole{n}{v}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.UIntVector property)@\spxentry{thisown}\spxextra{RNA.UIntVector property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.UIntVector.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{abstract\_shapes() (in module RNA)@\spxentry{abstract\_shapes()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.abstract_shapes}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{abstract\_shapes}}}
{\sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int level=5}}}
{{ $\rightarrow$ std::string}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{abstract\_shapes}}}
{\sphinxparam{\DUrole{n}{IntVector pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int level=5}}}
{{ $\rightarrow$ std::string}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{abstract\_shapes}}}
{\sphinxparam{\DUrole{n}{varArrayShort pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int level=5}}}
{{ $\rightarrow$ std::string}}
\pysigstopsignatures
\sphinxAtStartPar
Convert a secondary structure in dot\sphinxhyphen{}bracket notation to its abstract shapes representation.

\sphinxAtStartPar
This function converts a secondary structure into its abstract shapes representation as presented by
Giegerich \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id42}{2004}{]} .

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as an overloaded function \sphinxtitleref{abstract\_shapes()} where the optional
second parameter \sphinxtitleref{level} defaults to 5. See, e.g.   {\hyperref[\detokenize{api_python:RNA.abstract_shapes}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.abstract\_shapes()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{level}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The abstraction level (integer in the range of 0 to 5)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The secondary structure in abstract shapes notation

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.abstract\_shapes\_pt}}


\end{sphinxseealso}


\end{fulllineitems}

\index{add\_root() (in module RNA)@\spxentry{add\_root()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.add_root}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{add\_root}}}
{\sphinxparam{\DUrole{n}{arg1}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Adds a root to an un\sphinxhyphen{}rooted tree in any except bracket notation.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{aliLfold() (in module RNA)@\spxentry{aliLfold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aliLfold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aliLfold}}}
{\sphinxparam{\DUrole{n}{alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{nullfile}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{aliLfold()} in the global namespace. The
parameter \sphinxtitleref{fp} defaults to \sphinxtitleref{NULL} and may be omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.aliLfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aliLfold()}}}}} in
the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{aliLfold\_cb() (in module RNA)@\spxentry{aliLfold\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aliLfold_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aliLfold\_cb}}}
{\sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}}
{{ $\rightarrow$ float}}
\pysigstopsignatures
\end{fulllineitems}

\index{aliduplex\_subopt() (in module RNA)@\spxentry{aliduplex\_subopt()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aliduplex_subopt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aliduplex\_subopt}}}
{\sphinxparam{\DUrole{n}{StringVector alignment1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector alignment2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int delta}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int w}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.DuplexVector}]{\sphinxcrossref{DuplexVector}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{aliduplexfold() (in module RNA)@\spxentry{aliduplexfold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aliduplexfold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aliduplexfold}}}
{\sphinxparam{\DUrole{n}{StringVector alignment1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector alignment2}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.duplex_list_t}]{\sphinxcrossref{duplex\_list\_t}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{alifold() (in module RNA)@\spxentry{alifold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.alifold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{alifold}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding consensus secondary structure for an RNA
sequence alignment using a comparative method.

\sphinxAtStartPar
This simplified interface to RNA.fold\_compound.mfe() computes the MFE and, if required, a consensus secondary
structure for an RNA sequence alignment using default options. Memory required for dynamic
programming (DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this
function, the recursively filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g.
suboptimal backtracking, etc.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{alifold()} in the global namespace. The parameter
\sphinxtitleref{structure} is returned along with the MFE und must not be provided. See e.g.
{\hyperref[\detokenize{api_python:RNA.alifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.alifold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequences}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} RNA sequence alignment

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be
written to

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.circalifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circalifold}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you
require other conditions than specified by the default model details, use RNA.fold\_compound.mfe(),
and the data
structure RNA.fold\_compound() instead.
\end{sphinxadmonition}

\end{fulllineitems}

\index{aln\_consensus\_mis() (in module RNA)@\spxentry{aln\_consensus\_mis()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aln_consensus_mis}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aln\_consensus\_mis}}}
{\sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md\_p=None}}}
{{ $\rightarrow$ std::string}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the Most Informative Sequence (MIS) for a given multiple sequence alignment.

\sphinxAtStartPar
The most informative sequence (MIS)    {[}\hyperlink{cite.bibliography:id39}{Freyhult \sphinxstyleemphasis{et al.}, 2005}{]}  displays for each alignment column
the nucleotides with frequency greater than the background frequency, projected into IUPAC notation.
Columns where gaps are over\sphinxhyphen{}represented are in lower case.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{aln\_consensus\_mis()} where the last parameter
may be omitted, indicating \sphinxtitleref{md} = \sphinxtitleref{NULL}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_consensus_mis}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_consensus\_mis()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} (\sphinxcode{\sphinxupquote{const RNA.md() *}}) \textendash{} Model details that specify known nucleotides (Maybe \sphinxstyleemphasis{NULL})

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The most informative sequence for the alignment

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{aln\_consensus\_sequence() (in module RNA)@\spxentry{aln\_consensus\_sequence()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aln_consensus_sequence}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aln\_consensus\_sequence}}}
{\sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md\_p=None}}}
{{ $\rightarrow$ std::string}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the consensus sequence for a given multiple sequence alignment.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{aln\_consensus\_sequence()} where the last
parameter may be omitted, indicating \sphinxtitleref{md} = \sphinxtitleref{NULL}. See e.g.
{\hyperref[\detokenize{api_python:RNA.aln_consensus_sequence}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_consensus\_sequence()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md\_p}} (\sphinxcode{\sphinxupquote{const RNA.md() *}}) \textendash{} Model details that specify known nucleotides (Maybe \sphinxstyleemphasis{NULL})

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The consensus sequence of the alignment, i.e. the most frequent nucleotide for each alignment
column

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{aln\_conservation\_col() (in module RNA)@\spxentry{aln\_conservation\_col()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aln_conservation_col}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aln\_conservation\_col}}}
{\sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.DoubleVector}]{\sphinxcrossref{DoubleVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide conservation in an alignment.

\sphinxAtStartPar
This function computes the conservation of nucleotides in alignment columns. The simples measure is
Shannon Entropy and can be selected by passing the RNA.MEASURE\_SHANNON\_ENTROPY flag in the
\sphinxtitleref{options} parameter.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{aln\_conservation\_col()} where the last two
parameters may be omitted, indicating \sphinxtitleref{md} = \sphinxtitleref{NULL}, and \sphinxtitleref{options} =
RNA.MEASURE\_SHANNON\_ENTROPY, respectively. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_conservation_col}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_conservation\_col()}}}}} in
the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} \textendash{} Model details that specify known nucleotides (Maybe \sphinxstyleemphasis{NULL})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A flag indicating which measure of conservation should be applied

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A 1\sphinxhyphen{}based vector of column conservations

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.MEASURE\_SHANNON\_ENTROPY}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Currently, only RNA.MEASURE\_SHANNON\_ENTROPY is supported as conservation measure.
\end{sphinxadmonition}

\end{fulllineitems}

\index{aln\_conservation\_struct() (in module RNA)@\spxentry{aln\_conservation\_struct()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aln_conservation_struct}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aln\_conservation\_struct}}}
{\sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md=None}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.DoubleVector}]{\sphinxcrossref{DoubleVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute base pair conservation of a consensus structure.

\sphinxAtStartPar
This function computes the base pair conservation (fraction of canonical base pairs) of a consensus
structure given a multiple sequence alignment. The base pair types that are considered canonical may
be specified using the RNA.md().pair array. Passing \sphinxstyleemphasis{NULL} as parameter \sphinxtitleref{md} results in default
pairing rules, i.e. canonical Watson\sphinxhyphen{}Crick and GU Wobble pairs.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{aln\_conservation\_struct()} where the last
parameter \sphinxtitleref{md} may be omitted, indicating \sphinxtitleref{md} = \sphinxtitleref{NULL}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.aln_conservation_struct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_conservation\_struct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The input sequence alignment (last entry must be \sphinxstyleemphasis{NULL} terminated)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The consensus structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{const RNA.md() *}}) \textendash{} Model details that specify compatible base pairs (Maybe \sphinxstyleemphasis{NULL})

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A 1\sphinxhyphen{}based vector of base pair conservations

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{aln\_mpi() (in module RNA)@\spxentry{aln\_mpi()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aln_mpi}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aln\_mpi}}}
{\sphinxparam{\DUrole{n}{StringVector alignment}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Get the mean pairwise identity in steps from ?to?(ident).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{aln\_mpi()}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_mpi}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_mpi()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{alignment}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} Aligned sequences

\sphinxlineitem{Returns}
\sphinxAtStartPar
The mean pairwise identity

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{aln\_pscore() (in module RNA)@\spxentry{aln\_pscore()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.aln_pscore}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{aln\_pscore}}}
{\sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md=None}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.IntIntVector}]{\sphinxcrossref{IntIntVector}}}}}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{aln\_pscore()} where the last parameter may be
omitted, indicating \sphinxtitleref{md} = \sphinxtitleref{NULL}. See e.g.   {\hyperref[\detokenize{api_python:RNA.aln_pscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.aln\_pscore()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{b2C() (in module RNA)@\spxentry{b2C()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.b2C}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{b2C}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Converts the full structure from bracket notation to the a coarse grained notation using the ‘H’ ‘B’
‘I’ ‘M’ and ‘R’ identifiers.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}See RNA.db\_to\_tree\_string() and RNA.STRUCTURE\_TREE\_SHAPIRO\_SHORT for a replacement
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{b2HIT() (in module RNA)@\spxentry{b2HIT()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.b2HIT}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{b2HIT}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Converts the full structure from bracket notation to the HIT notation including root.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}See RNA.db\_to\_tree\_string() and RNA.STRUCTURE\_TREE\_HIT for a replacement
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{b2Shapiro() (in module RNA)@\spxentry{b2Shapiro()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.b2Shapiro}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{b2Shapiro}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Converts the full structure from bracket notation to the \sphinxstyleemphasis{weighted} coarse grained notation using
the ‘H’ ‘B’ ‘I’ ‘M’ ‘S’ ‘E’ and ‘R’ identifiers.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}See RNA.db\_to\_tree\_string() and RNA.STRUCTURE\_TREE\_SHAPIRO\_WEIGHT for a replacement
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{backtrack\_GQuad\_IntLoop\_L() (in module RNA)@\spxentry{backtrack\_GQuad\_IntLoop\_L()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.backtrack_GQuad_IntLoop_L}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{backtrack\_GQuad\_IntLoop\_L}}}
{\sphinxparam{\DUrole{n}{c}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ggg}}\sphinxparamcomma \sphinxparam{\DUrole{n}{maxdist}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
backtrack an internal loop like enclosed g\sphinxhyphen{}quadruplex with closing pair (i,j) with underlying Lfold
matrix
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{c}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The total contribution the loop should resemble

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} position i of enclosing pair

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} position j of enclosing pair

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} base pair type of enclosing pair (must be reverse type)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} integer encoded sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ggg}} (\sphinxcode{\sphinxupquote{int **}}) \textendash{} triangular matrix containing g\sphinxhyphen{}quadruplex contributions

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{p}} (\sphinxcode{\sphinxupquote{int *}}) \textendash{} here the 5’ position of the gquad is stored

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{q}} (\sphinxcode{\sphinxupquote{int *}}) \textendash{} here the 3’ position of the gquad is stored

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} (\sphinxcode{\sphinxupquote{RNA.param() *}}) \textendash{} the datastructure containing the precalculated contibutions

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 if no gquad found

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{backtrack\_GQuad\_IntLoop\_L\_comparative() (in module RNA)@\spxentry{backtrack\_GQuad\_IntLoop\_L\_comparative()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.backtrack_GQuad_IntLoop_L_comparative}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{backtrack\_GQuad\_IntLoop\_L\_comparative}}}
{\sphinxparam{\DUrole{n}{c}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S\_cons}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S5}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S3}}\sphinxparamcomma \sphinxparam{\DUrole{n}{a2s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ggg}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n\_seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{basepair (class in RNA)@\spxentry{basepair}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.basepair}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{basepair}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
Typename for base pair element.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.bp() instead!
\index{i (RNA.basepair attribute)@\spxentry{i}\spxextra{RNA.basepair attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.basepair.i}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{j (RNA.basepair attribute)@\spxentry{j}\spxextra{RNA.basepair attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.basepair.j}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
Typename for base pair element.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.bp() instead!
\index{i (RNA.basepair attribute)@\spxentry{i}\spxextra{RNA.basepair attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id6}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{j (RNA.basepair attribute)@\spxentry{j}\spxextra{RNA.basepair attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id7}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{i (RNA.basepair property)@\spxentry{i}\spxextra{RNA.basepair property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id8}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures
\end{fulllineitems}

\index{j (RNA.basepair property)@\spxentry{j}\spxextra{RNA.basepair property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id9}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.basepair property)@\spxentry{thisown}\spxextra{RNA.basepair property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.basepair.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{boustrophedon() (in module RNA)@\spxentry{boustrophedon()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.boustrophedon}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{boustrophedon}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Generate a sequence of Boustrophedon distributed numbers.

\sphinxAtStartPar
This function generates a sequence of positive natural numbers within the interval \([start,
end]\) in a Boustrophedon fashion. That is, the numbers \(start, \ldots, end\) in the resulting
list are alternating between left and right ends of the interval while progressing to the inside,
i.e. the list consists of a sequence of natural numbers of the form:
\begin{equation*}
\begin{split}start, end, start + 1, end - 1, start + 2, end - 2, \ldots\end{split}
\end{equation*}
\sphinxAtStartPar
The resulting list is 1\sphinxhyphen{}based and contains the length of the sequence of numbers at it’s 0\sphinxhyphen{}th
position.

\sphinxAtStartPar
Upon failure, the function returns \sphinxstylestrong{NULL}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded global function \sphinxtitleref{boustrophedon()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.boustrophedon}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.boustrophedon()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} (\sphinxcode{\sphinxupquote{size()}}) \textendash{} The first number of the list (left side of the interval)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} (\sphinxcode{\sphinxupquote{size()}}) \textendash{} The last number of the list (right side of the interval)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of alternating numbers from the interval \([start, end]\) (or \sphinxstylestrong{NULL} on error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.boustrophedon\_pos}}


\end{sphinxseealso}


\end{fulllineitems}

\index{bp\_distance() (in module RNA)@\spxentry{bp\_distance()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.bp_distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{bp\_distance}}}
{\sphinxparam{\DUrole{n}{std::string str1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string str2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{bp\_distance}}}
{\sphinxparam{\DUrole{n}{IntVector pt1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{IntVector pt2}}}
{{ $\rightarrow$ int}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{bp\_distance}}}
{\sphinxparam{\DUrole{n}{varArrayShort pt1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{varArrayShort pt2}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the “base pair” distance between two secondary structures s1 and s2.

\sphinxAtStartPar
This is a wrapper around \sphinxstylestrong{RNA.bp\_distance\_pt()}. The sequences should have the same length. dist
= number of base pairs in one structure but not in the other same as edit distance with open\sphinxhyphen{}pair
close\sphinxhyphen{}pair as move\sphinxhyphen{}set

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as an overloaded method \sphinxstylestrong{bp\_distance()}. Note that the SWIG wrapper
takes two structure in dot\sphinxhyphen{}bracket notation and converts them into pair tables using
RNA.ptable\_from\_string(). The resulting pair tables are then internally passed to
RNA.bp\_distance\_pt(). To control which kind of matching brackets will be used during
conversion, the optional argument \sphinxtitleref{options} can be used. See also the description of
RNA.ptable\_from\_string() for available options. (default: \sphinxstylestrong{RNA.BRACKETS\_RND}). See, e.g.
{\hyperref[\detokenize{api_python:RNA.bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{str1}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} First structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{str2}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Second structure in dot\sphinxhyphen{}bracket notation

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The base pair distance between str1 and str2

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.bp\_distance\_pt}}


\end{sphinxseealso}


\end{fulllineitems}

\index{cdata() (in module RNA)@\spxentry{cdata()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.cdata}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{cdata}}}
{\sphinxparam{\DUrole{n}{ptr}}\sphinxparamcomma \sphinxparam{\DUrole{n}{nelements}\DUrole{o}{=}\DUrole{default_value}{1}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{centroid() (in module RNA)@\spxentry{centroid()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.centroid}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{centroid}}}
{\sphinxparam{\DUrole{n}{length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dist}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is deprecated and should not be used anymore as it is not threadsafe!


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.get_centroid_struct_pl}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{get\_centroid\_struct\_pl}}}}}, {\hyperref[\detokenize{api_python:RNA.get_centroid_struct_pr}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{get\_centroid\_struct\_pr}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{circalifold() (in module RNA)@\spxentry{circalifold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.circalifold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{circalifold}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute MFE and according structure of an alignment of sequences assuming the sequences are circular
instead of linear.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Usage of this function is discouraged! Use RNA.alicircfold(), and RNA.fold\_compound.mfe()
instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{strings}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} A pointer to a NULL terminated array of character arrays

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to a character array that may contain a constraining consensus structure (will be
overwritten by a consensus structure that exhibits the MFE)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy score in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.alicircfold}}, {\hyperref[\detokenize{api_python:RNA.alifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.alifold}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{circfold() (in module RNA)@\spxentry{circfold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.circfold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{circfold}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for a circular RNA
sequence.

\sphinxAtStartPar
This simplified interface to RNA.fold\_compound.mfe() computes the MFE and, if required, a secondary structure for
a circular RNA sequence using default options. Memory required for dynamic programming (DP) matrices
will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively
filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal backtracking,
etc.

\sphinxAtStartPar
Folding of circular RNA sequences is handled as a post\sphinxhyphen{}processing step of the forward recursions.
See    Hofacker and Stadler {[}\hyperlink{cite.bibliography:id21}{2006}{]}  for further details.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{circfold()} in the global namespace. The parameter
\sphinxtitleref{structure} is returned along with the MFE und must not be provided. See e.g.
{\hyperref[\detokenize{api_python:RNA.circfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circfold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be
written to

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you
require other conditions than specified by the default model details, use RNA.fold\_compound.mfe(),
and the data
structure RNA.fold\_compound() instead.
\end{sphinxadmonition}

\end{fulllineitems}

\index{cmd (class in RNA)@\spxentry{cmd}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.cmd}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{cmd}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{thisown (RNA.cmd property)@\spxentry{thisown}\spxextra{RNA.cmd property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.cmd.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{co\_pf\_fold() (in module RNA)@\spxentry{co\_pf\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.co_pf_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{co\_pf\_fold}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{cofold() (in module RNA)@\spxentry{cofold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.cofold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{cofold}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for two dimerized RNA
sequences.

\sphinxAtStartPar
This simplified interface to RNA.fold\_compound.mfe() computes the MFE and, if required, a secondary structure for
two RNA sequences upon dimerization using default options. Memory required for dynamic programming
(DP) matrices will be allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the
recursively filled matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal
backtracking, etc.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is obsolete since RNA.mfe()/RNA.fold() can handle complexes multiple sequences
since v2.5.0. Use RNA.mfe()/RNA.fold() for connected component MFE instead and compute MFEs of
unconnected states separately.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you
require other conditions than specified by the default model details, use RNA.fold\_compound.mfe(),
and the data
structure RNA.fold\_compound() instead.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{cofold()} in the global namespace. The parameter
\sphinxtitleref{structure} is returned along with the MFE und must not be provided. See e.g.
{\hyperref[\detokenize{api_python:RNA.cofold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.cofold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} two RNA sequences separated by the ‘\&’ character

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be
written to

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.cut\_point\_insert}}


\end{sphinxseealso}


\end{fulllineitems}

\index{compare\_structure() (in module RNA)@\spxentry{compare\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.compare_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{compare\_structure}}}
{\sphinxparam{\DUrole{n}{std::string str1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string str2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int fuzzy=0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.score}]{\sphinxcrossref{score}}}}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{compare\_structure}}}
{\sphinxparam{\DUrole{n}{IntVector pt1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{IntVector pt2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int fuzzy=0}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.score}]{\sphinxcrossref{score}}}}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{compare\_structure}}}
{\sphinxparam{\DUrole{n}{varArrayShort pt1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{varArrayShort pt2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int fuzzy=0}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.score}]{\sphinxcrossref{score}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{consens\_mis() (in module RNA)@\spxentry{consens\_mis()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.consens_mis}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{consens\_mis}}}
{\sphinxparam{\DUrole{n}{alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md\_p}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{db\_flatten() (in module RNA)@\spxentry{db\_flatten()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_flatten}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_flatten}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Substitute pairs of brackets in a string with parenthesis.

\sphinxAtStartPar
This function can be used to replace brackets of unusual types, such as angular brackets \sphinxtitleref{\textless{}\textgreater{}} , to
dot\sphinxhyphen{}bracket format. The \sphinxtitleref{options} parameter is used tpo specify which types of brackets will be
replaced by round parenthesis {\color{red}\bfseries{}\textasciigrave{}\textasciigrave{}}() .

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function flattens an input structure string in\sphinxhyphen{}place! The second parameter is optional and
defaults to RNA.BRACKETS\_DEFAULT.

\sphinxAtStartPar
An overloaded version of this function exists, where an additional second parameter can be
passed to specify the target brackets, i.e. the type of matching pair characters all brackets
will be flattened to. Therefore, in the scripting language interface this function is a
replacement for RNA.db\_flatten\_to(). See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_flatten}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_flatten()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The structure string where brackets are flattened in\sphinxhyphen{}place

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitmask to specify which types of brackets should be flattened out

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.db\_flatten\_to}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_RND}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_ANG}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_CLY}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_SQR}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{db\_from\_WUSS() (in module RNA)@\spxentry{db\_from\_WUSS()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_from_WUSS}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_from\_WUSS}}}
{\sphinxparam{\DUrole{n}{wuss}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Convert a WUSS annotation string to dot\sphinxhyphen{}bracket format.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{wuss}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The input string in WUSS notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
A dot\sphinxhyphen{}bracket notation of the input secondary structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function flattens all brackets, and treats pseudo\sphinxhyphen{}knots annotated by matching pairs of
upper/lowercase letters as unpaired nucleotides
\end{sphinxadmonition}

\end{fulllineitems}

\index{db\_from\_plist() (in module RNA)@\spxentry{db\_from\_plist()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_from_plist}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_from\_plist}}}
{\sphinxparam{\DUrole{n}{ElemProbVector elem\_probs}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int length}}}
{{ $\rightarrow$ std::string}}
\pysigstopsignatures
\sphinxAtStartPar
Convert a list of base pairs into dot\sphinxhyphen{}bracket notation.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pairs}} (\sphinxcode{\sphinxupquote{RNA.ep() *}}) \textendash{} A RNA.ep() containing the pairs to be included in the dot\sphinxhyphen{}bracket string

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The length of the structure (number of nucleotides)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The dot\sphinxhyphen{}bracket string containing the provided base pairs

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plist}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{db\_from\_ptable() (in module RNA)@\spxentry{db\_from\_ptable()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_from_ptable}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_from\_ptable}}}
{\sphinxparam{\DUrole{n}{IntVector pt}}}
{{ $\rightarrow$ char}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_from\_ptable}}}
{\sphinxparam{\DUrole{n}{varArrayShort pt}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\sphinxAtStartPar
Convert a pair table into dot\sphinxhyphen{}parenthesis notation.

\sphinxAtStartPar
This function also converts pair table formatted structures that contain pseudoknots. Non\sphinxhyphen{}nested
base pairs result in additional pairs of parenthesis and brackets within the resulting dot\sphinxhyphen{}
parenthesis string. The following pairs are awailable: (), {[}{]}. \{\}. \textless{}\textgreater{}, as well as pairs of matching
upper\sphinxhyphen{}/lower\sphinxhyphen{}case characters from the alphabet A\sphinxhyphen{}Z.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} The pair table to be copied

\sphinxlineitem{Returns}
\sphinxAtStartPar
A char pointer to the dot\sphinxhyphen{}bracket string

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In cases where the level of non\sphinxhyphen{}nested base pairs exceeds the maximum number of 30 different base
pair indicators (4 parenthesis/brackets, 26 matching characters), a warning is printed and the
remaining base pairs are left out from the conversion.
\end{sphinxadmonition}

\end{fulllineitems}

\index{db\_pack() (in module RNA)@\spxentry{db\_pack()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_pack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_pack}}}
{\sphinxparam{\DUrole{n}{struc}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Pack secondary secondary structure, 5:1 compression using base 3 encoding.

\sphinxAtStartPar
Returns a binary string encoding of the secondary structure using a 5:1 compression scheme. The
string is NULL terminated and can therefore be used with standard string functions such as strcmp().
Useful for programs that need to keep many structures in memory.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{struc}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The binary encoded structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.db_unpack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_unpack}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{db\_pk\_remove() (in module RNA)@\spxentry{db\_pk\_remove()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_pk_remove}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_pk\_remove}}}
{\sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ std::string}}
\pysigstopsignatures
\sphinxAtStartPar
Remove pseudo\sphinxhyphen{}knots from an input structure.

\sphinxAtStartPar
This function removes pseudo\sphinxhyphen{}knots from an input structure by determining the minimum number of base
pairs that need to be removed to make the structure pseudo\sphinxhyphen{}knot free.

\sphinxAtStartPar
To accomplish that, we use a dynamic programming algorithm similar to the Nussinov maxmimum matching
approach.

\sphinxAtStartPar
The input structure must be in a dot\sphinxhyphen{}bracket string like form where crossing base pairs are denoted
by the use of additional types of matching brackets, e.g. \sphinxtitleref{\textless{}\textgreater{}}, \sphinxtitleref{\{\}}, {\color{red}\bfseries{}\textasciigrave{}\textasciigrave{}}{[}{]}, \sphinxtitleref{\{\}}. Furthermore,
crossing pairs may be annotated by matching uppercase/lowercase letters from the alphabet \sphinxtitleref{A\sphinxhyphen{}Z}. For
the latter, the uppercase letter must be the 5’ and the lowercase letter the 3’ nucleotide of the
base pair. The actual type of brackets to be recognized by this function must be specifed through
the \sphinxtitleref{options} parameter.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as an overloaded function \sphinxtitleref{db\_pk\_remove()} where the optional second
parameter \sphinxtitleref{options} defaults to RNA.BRACKETS\_ANY. See, e.g.   {\hyperref[\detokenize{api_python:RNA.db_pk_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_pk\_remove()}}}}} in
the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Input structure in dot\sphinxhyphen{}bracket format that may include pseudo\sphinxhyphen{}knots

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitmask to specify which types of brackets should be processed

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The input structure devoid of pseudo\sphinxhyphen{}knots in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.pt_pk_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.pt\_pk\_remove}}}}}, {\hyperref[\detokenize{api_python:RNA.db_flatten}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_flatten}}}}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_RND}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_ANG}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_CLY}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_SQR}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_ALPHA}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_DEFAULT}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_ANY}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Brackets in the input structure string that are not covered by the \sphinxtitleref{options} bitmask will be
silently ignored!
\end{sphinxadmonition}

\end{fulllineitems}

\index{db\_to\_element\_string() (in module RNA)@\spxentry{db\_to\_element\_string()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_to_element_string}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_to\_element\_string}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Convert a secondary structure in dot\sphinxhyphen{}bracket notation to a nucleotide annotation of loop contexts.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
A string annotating each nucleotide according to it’s structural context

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{db\_to\_tree\_string() (in module RNA)@\spxentry{db\_to\_tree\_string()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_to_tree_string}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_to\_tree\_string}}}
{\sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int type}}}
{{ $\rightarrow$ std::string}}
\pysigstopsignatures
\sphinxAtStartPar
Convert a Dot\sphinxhyphen{}Bracket structure string into tree string representation.

\sphinxAtStartPar
This function allows one to convert a secondary structure in dot\sphinxhyphen{}bracket notation into one of the
various tree representations for secondary structures. The resulting tree is then represented as a
string of parenthesis and node symbols, similar to to the Newick format.

\sphinxAtStartPar
Currently we support conversion into the following formats, denoted by the value of parameter
\sphinxtitleref{type:}
\begin{itemize}
\item {} 
\sphinxAtStartPar
RNA.STRUCTURE\_TREE\_HIT \sphinxhyphen{}   Homeomorphically Irreducible Tree (HIT) representation of a
secondary structure.    (See also    Fontana \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id25}{1993}{]} )

\item {} 
\sphinxAtStartPar
RNA.STRUCTURE\_TREE\_SHAPIRO\_SHORT \sphinxhyphen{}   (short) Coarse Grained representation of a secondary
structure    (same as    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} , but with root node \sphinxtitleref{R} and without \sphinxtitleref{S} nodes
for the stems)

\item {} 
\sphinxAtStartPar
RNA.STRUCTURE\_TREE\_SHAPIRO \sphinxhyphen{}   (full) Coarse Grained representation of a secondary structure
(See also    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} )

\item {} 
\sphinxAtStartPar
RNA.STRUCTURE\_TREE\_SHAPIRO\_EXT \sphinxhyphen{}   (extended) Coarse Grained representation of a secondary
structure    (same as    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]} , but external nodes denoted as \sphinxtitleref{E} )

\item {} 
\sphinxAtStartPar
RNA.STRUCTURE\_TREE\_SHAPIRO\_WEIGHT \sphinxhyphen{}   (weighted) Coarse Grained representation of a secondary
structure    (same as RNA.STRUCTURE\_TREE\_SHAPIRO\_EXT but with additional weights for number of
unpaired nucleotides in loop, and number of pairs in stems)

\item {} 
\sphinxAtStartPar
RNA.STRUCTURE\_TREE\_EXPANDED \sphinxhyphen{}   Expanded Tree representation of a secondary structure.

\end{itemize}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The null\sphinxhyphen{}terminated dot\sphinxhyphen{}bracket structure string

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A switch to determine the type of tree string representation

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A tree representation of the input \sphinxtitleref{structure}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{sec\_structure\_representations\_tree}}


\end{sphinxseealso}


\end{fulllineitems}

\index{db\_unpack() (in module RNA)@\spxentry{db\_unpack()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.db_unpack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{db\_unpack}}}
{\sphinxparam{\DUrole{n}{packed}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Unpack secondary structure previously packed with RNA.db\_pack().

\sphinxAtStartPar
Translate a compressed binary string produced by RNA.db\_pack() back into the familiar dot\sphinxhyphen{}bracket
notation.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{packed}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The binary encoded packed secondary structure

\sphinxlineitem{Returns}
\sphinxAtStartPar
The unpacked secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.db_pack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_pack}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{delete\_doubleP() (in module RNA)@\spxentry{delete\_doubleP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.delete_doubleP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{delete\_doubleP}}}
{\sphinxparam{\DUrole{n}{ary}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{delete\_floatP() (in module RNA)@\spxentry{delete\_floatP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.delete_floatP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{delete\_floatP}}}
{\sphinxparam{\DUrole{n}{ary}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{delete\_intP() (in module RNA)@\spxentry{delete\_intP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.delete_intP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{delete\_intP}}}
{\sphinxparam{\DUrole{n}{ary}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{delete\_shortP() (in module RNA)@\spxentry{delete\_shortP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.delete_shortP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{delete\_shortP}}}
{\sphinxparam{\DUrole{n}{ary}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{delete\_ushortP() (in module RNA)@\spxentry{delete\_ushortP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.delete_ushortP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{delete\_ushortP}}}
{\sphinxparam{\DUrole{n}{ary}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{deref\_any() (in module RNA)@\spxentry{deref\_any()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.deref_any}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{deref\_any}}}
{\sphinxparam{\DUrole{n}{ptr}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{dist\_mountain() (in module RNA)@\spxentry{dist\_mountain()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.dist_mountain}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{dist\_mountain}}}
{\sphinxparam{\DUrole{n}{str1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{str2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p}\DUrole{o}{=}\DUrole{default_value}{1}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{doubleArray (class in RNA)@\spxentry{doubleArray}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.doubleArray}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{doubleArray}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{cast() (RNA.doubleArray method)@\spxentry{cast()}\spxextra{RNA.doubleArray method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.doubleArray.cast}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{cast}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{frompointer() (RNA.doubleArray static method)@\spxentry{frompointer()}\spxextra{RNA.doubleArray static method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.doubleArray.frompointer}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{static}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{frompointer}}}
{\sphinxparam{\DUrole{n}{t}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.doubleArray property)@\spxentry{thisown}\spxextra{RNA.doubleArray property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.doubleArray.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{doubleP\_getitem() (in module RNA)@\spxentry{doubleP\_getitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.doubleP_getitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{doubleP\_getitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{doubleP\_setitem() (in module RNA)@\spxentry{doubleP\_setitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.doubleP_setitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{doubleP\_setitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}\sphinxparamcomma \sphinxparam{\DUrole{n}{value}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{duplexT (class in RNA)@\spxentry{duplexT}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{duplexT}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
Data structure for RNAduplex.
\index{i (RNA.duplexT attribute)@\spxentry{i}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.i}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{j (RNA.duplexT attribute)@\spxentry{j}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.j}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{end (RNA.duplexT attribute)@\spxentry{end}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.end}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{end}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{structure (RNA.duplexT attribute)@\spxentry{structure}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.structure}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{energy (RNA.duplexT attribute)@\spxentry{energy}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_backtrack (RNA.duplexT attribute)@\spxentry{energy\_backtrack}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.energy_backtrack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{energy\_backtrack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{opening\_backtrack\_x (RNA.duplexT attribute)@\spxentry{opening\_backtrack\_x}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.opening_backtrack_x}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{opening\_backtrack\_x}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{opening\_backtrack\_y (RNA.duplexT attribute)@\spxentry{opening\_backtrack\_y}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.opening_backtrack_y}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{opening\_backtrack\_y}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{offset (RNA.duplexT attribute)@\spxentry{offset}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.offset}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{offset}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dG1 (RNA.duplexT attribute)@\spxentry{dG1}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.dG1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dG1}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dG2 (RNA.duplexT attribute)@\spxentry{dG2}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.dG2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dG2}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ddG (RNA.duplexT attribute)@\spxentry{ddG}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.ddG}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ddG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{tb (RNA.duplexT attribute)@\spxentry{tb}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.tb}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{tb}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{te (RNA.duplexT attribute)@\spxentry{te}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.te}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{te}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{qb (RNA.duplexT attribute)@\spxentry{qb}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.qb}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{qb}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{qe (RNA.duplexT attribute)@\spxentry{qe}\spxextra{RNA.duplexT attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.qe}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{qe}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dG1 (RNA.duplexT property)@\spxentry{dG1}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id19}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{dG1}}}
\pysigstopsignatures
\end{fulllineitems}

\index{dG2 (RNA.duplexT property)@\spxentry{dG2}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id20}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{dG2}}}
\pysigstopsignatures
\end{fulllineitems}

\index{ddG (RNA.duplexT property)@\spxentry{ddG}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id21}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{ddG}}}
\pysigstopsignatures
\end{fulllineitems}

\index{end (RNA.duplexT property)@\spxentry{end}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id22}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{end}}}
\pysigstopsignatures
\end{fulllineitems}

\index{energy (RNA.duplexT property)@\spxentry{energy}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id23}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures
\end{fulllineitems}

\index{energy\_backtrack (RNA.duplexT property)@\spxentry{energy\_backtrack}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id24}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{energy\_backtrack}}}
\pysigstopsignatures
\end{fulllineitems}

\index{i (RNA.duplexT property)@\spxentry{i}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id25}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures
\end{fulllineitems}

\index{j (RNA.duplexT property)@\spxentry{j}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id26}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures
\end{fulllineitems}

\index{offset (RNA.duplexT property)@\spxentry{offset}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id27}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{offset}}}
\pysigstopsignatures
\end{fulllineitems}

\index{opening\_backtrack\_x (RNA.duplexT property)@\spxentry{opening\_backtrack\_x}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id28}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{opening\_backtrack\_x}}}
\pysigstopsignatures
\end{fulllineitems}

\index{opening\_backtrack\_y (RNA.duplexT property)@\spxentry{opening\_backtrack\_y}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id29}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{opening\_backtrack\_y}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qb (RNA.duplexT property)@\spxentry{qb}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id30}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qb}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qe (RNA.duplexT property)@\spxentry{qe}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id31}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qe}}}
\pysigstopsignatures
\end{fulllineitems}

\index{structure (RNA.duplexT property)@\spxentry{structure}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id32}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures
\end{fulllineitems}

\index{tb (RNA.duplexT property)@\spxentry{tb}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id33}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{tb}}}
\pysigstopsignatures
\end{fulllineitems}

\index{te (RNA.duplexT property)@\spxentry{te}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id34}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{te}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.duplexT property)@\spxentry{thisown}\spxextra{RNA.duplexT property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexT.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{duplex\_list\_t (class in RNA)@\spxentry{duplex\_list\_t}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplex_list_t}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{duplex\_list\_t}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{energy (RNA.duplex\_list\_t property)@\spxentry{energy}\spxextra{RNA.duplex\_list\_t property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplex_list_t.energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures
\end{fulllineitems}

\index{i (RNA.duplex\_list\_t property)@\spxentry{i}\spxextra{RNA.duplex\_list\_t property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplex_list_t.i}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures
\end{fulllineitems}

\index{j (RNA.duplex\_list\_t property)@\spxentry{j}\spxextra{RNA.duplex\_list\_t property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplex_list_t.j}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures
\end{fulllineitems}

\index{structure (RNA.duplex\_list\_t property)@\spxentry{structure}\spxextra{RNA.duplex\_list\_t property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplex_list_t.structure}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.duplex\_list\_t property)@\spxentry{thisown}\spxextra{RNA.duplex\_list\_t property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplex_list_t.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{duplex\_subopt() (in module RNA)@\spxentry{duplex\_subopt()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplex_subopt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{duplex\_subopt}}}
{\sphinxparam{\DUrole{n}{std::string s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int delta}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int w}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.DuplexVector}]{\sphinxcrossref{DuplexVector}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{duplexfold() (in module RNA)@\spxentry{duplexfold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.duplexfold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{duplexfold}}}
{\sphinxparam{\DUrole{n}{std::string s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s2}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.duplex_list_t}]{\sphinxcrossref{duplex\_list\_t}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{encode\_seq() (in module RNA)@\spxentry{encode\_seq()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.encode_seq}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{encode\_seq}}}
{\sphinxparam{\DUrole{n}{sequence}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{energy\_of\_circ\_struct() (in module RNA)@\spxentry{energy\_of\_circ\_struct()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_circ_struct}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_circ\_struct}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded circular RNA

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is deprecated and should not be used in future programs Use
energy\_of\_circ\_structure() instead!

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not entirely threadsafe! Depending on the state of the global variable eos\_debug it
prints energy information to stdout or not…
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.energy_of_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{energy\_of\_circ\_structure}}}}}, {\hyperref[\detokenize{api_python:RNA.energy_of_struct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{energy\_of\_struct}}}}}, {\hyperref[\detokenize{api_python:RNA.energy_of_struct_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{energy\_of\_struct\_pt}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{energy\_of\_circ\_structure() (in module RNA)@\spxentry{energy\_of\_circ\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_circ_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_circ\_structure}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{verbosity\_level}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded circular RNA.

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: This function relies on several global model settings variables and thus is not to be
considered threadsafe. See energy\_of\_circ\_struct\_par() for a completely threadsafe implementation.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.eval\_structure() or RNA.fold\_compound.eval\_structure\_verbose() instead!
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} A flag to turn verbose output on/off

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{energy\_of\_gquad\_structure() (in module RNA)@\spxentry{energy\_of\_gquad\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_gquad_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_gquad\_structure}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{verbosity\_level}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{energy\_of\_move() (in module RNA)@\spxentry{energy\_of\_move()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_move}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_move}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair).

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is
insertion (opening).

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.eval\_move() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} first coordinate of base pair

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} second coordinate of base pair

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{energy\_of\_move\_pt() (in module RNA)@\spxentry{energy\_of\_move\_pt()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_move_pt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_move\_pt}}}
{\sphinxparam{\DUrole{n}{pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair).

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is
insertion (opening).

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.eval\_move\_pt() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} the pair table of the secondary structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} first coordinate of base pair

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} second coordinate of base pair

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move\_pt}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{energy\_of\_struct() (in module RNA)@\spxentry{energy\_of\_struct()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_struct}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_struct}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is deprecated and should not be used in future programs! Use energy\_of\_structure()
instead!

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not entirely threadsafe! Depending on the state of the global variable eos\_debug it
prints energy information to stdout or not…
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.energy_of_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{energy\_of\_structure}}}}}, {\hyperref[\detokenize{api_python:RNA.energy_of_circ_struct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{energy\_of\_circ\_struct}}}}}, {\hyperref[\detokenize{api_python:RNA.energy_of_struct_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{energy\_of\_struct\_pt}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{energy\_of\_struct\_pt() (in module RNA)@\spxentry{energy\_of\_struct\_pt()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_struct_pt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_struct\_pt}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ptable}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s1}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is deprecated and should not be used in future programs! Use
energy\_of\_structure\_pt() instead!

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not entirely threadsafe! Depending on the state of the global variable eos\_debug it
prints energy information to stdout or not…
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} the pair table of the secondary structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in 10kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{make\_pair\_table}}, {\hyperref[\detokenize{api_python:RNA.energy_of_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{energy\_of\_structure}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{energy\_of\_structure() (in module RNA)@\spxentry{energy\_of\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_structure}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{verbosity\_level}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA using global model detail settings.

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.eval\_structure() or RNA.fold\_compound.eval\_structure\_verbose() instead!

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: This function relies on several global model settings variables and thus is not to be
considered threadsafe. See energy\_of\_struct\_par() for a completely threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} a flag to turn verbose output on/off

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{energy\_of\_structure\_pt() (in module RNA)@\spxentry{energy\_of\_structure\_pt()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.energy_of_structure_pt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{energy\_of\_structure\_pt}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ptable}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{verbosity\_level}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA.

\sphinxAtStartPar
If verbosity level is set to a value \textgreater{}0, energies of structure elements are printed to stdout

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.eval\_structure\_pt() or RNA.fold\_compound.eval\_structure\_pt\_verbose()
instead!

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
OpenMP: This function relies on several global model settings variables and thus is not to be
considered threadsafe. See energy\_of\_struct\_pt\_par() for a completely threadsafe implementation.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} the pair table of the secondary structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} a flag to turn verbose output on/off

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the free energy of the input structure given the input sequence in 10kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{enumerate\_necklaces() (in module RNA)@\spxentry{enumerate\_necklaces()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.enumerate_necklaces}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{enumerate\_necklaces}}}
{\sphinxparam{\DUrole{n}{entity\_counts}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Enumerate all necklaces with fixed content.

\sphinxAtStartPar
This function implements \sphinxstyleemphasis{A fast algorithm to generate necklaces with fixed content} as published by
Sawada {[}\hyperlink{cite.bibliography:id36}{2003}{]} .

\sphinxAtStartPar
The function receives a list of counts (the elements on the necklace) for each type of object within
a necklace. The list starts at index 0 and ends with an entry that has a count of 0. The algorithm
then enumerates all non\sphinxhyphen{}cyclic permutations of the content, returned as a list of necklaces. This
list, again, is zero\sphinxhyphen{}terminated, i.e. the last entry of the list is a \sphinxtitleref{NULL} pointer.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as global function \sphinxtitleref{enumerate\_necklaces()} which accepts lists input,
an produces list of lists output. See, e.g.    {\hyperref[\detokenize{api_python:RNA.enumerate_necklaces}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.enumerate\_necklaces()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type\_counts}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A 0\sphinxhyphen{}terminated list of entity counts

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of all non\sphinxhyphen{}cyclic permutations of the entities

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(list\sphinxhyphen{}like(unsigned int))}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ep (class in RNA)@\spxentry{ep}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ep}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ep}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
Data structure representing a single entry of an element probability list (e.g. list of pair
probabilities).


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plist}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.plist_from_probs}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.plist\_from\_probs}}}}}, {\hyperref[\detokenize{api_python:RNA.db_from_plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_from\_plist}}}}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_BASEPAIR}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_GQUAD}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_H\_MOTIF}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_I\_MOTIF}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_UD\_MOTIF}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_STACK}}


\end{sphinxseealso}

\index{i (RNA.ep attribute)@\spxentry{i}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ep.i}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures
\sphinxAtStartPar
Start position (usually 5’ nucleotide that starts the element, e.g. base pair).
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{j (RNA.ep attribute)@\spxentry{j}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ep.j}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures
\sphinxAtStartPar
End position (usually 3’ nucleotide that ends the element, e.g. base pair).
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{p (RNA.ep attribute)@\spxentry{p}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ep.p}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{p}}}
\pysigstopsignatures
\sphinxAtStartPar
Probability of the element.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{type (RNA.ep attribute)@\spxentry{type}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ep.type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\sphinxAtStartPar
Type of the element.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
Data structure representing a single entry of an element probability list (e.g. list of pair
probabilities).


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plist}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.plist_from_probs}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.plist\_from\_probs}}}}}, {\hyperref[\detokenize{api_python:RNA.db_from_plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_from\_plist}}}}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_BASEPAIR}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_GQUAD}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_H\_MOTIF}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_I\_MOTIF}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_UD\_MOTIF}}, \sphinxcode{\sphinxupquote{RNA.PLIST\_TYPE\_STACK}}


\end{sphinxseealso}

\index{i (RNA.ep attribute)@\spxentry{i}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id36}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures
\sphinxAtStartPar
Start position (usually 5’ nucleotide that starts the element, e.g. base pair).
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{j (RNA.ep attribute)@\spxentry{j}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id37}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures
\sphinxAtStartPar
End position (usually 3’ nucleotide that ends the element, e.g. base pair).
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{p (RNA.ep attribute)@\spxentry{p}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id38}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{p}}}
\pysigstopsignatures
\sphinxAtStartPar
Probability of the element.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{type (RNA.ep attribute)@\spxentry{type}\spxextra{RNA.ep attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id39}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\sphinxAtStartPar
Type of the element.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{i (RNA.ep property)@\spxentry{i}\spxextra{RNA.ep property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id40}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{i}}}
\pysigstopsignatures
\end{fulllineitems}

\index{j (RNA.ep property)@\spxentry{j}\spxextra{RNA.ep property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id41}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{j}}}
\pysigstopsignatures
\end{fulllineitems}

\index{p (RNA.ep property)@\spxentry{p}\spxextra{RNA.ep property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id42}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{p}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.ep property)@\spxentry{thisown}\spxextra{RNA.ep property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ep.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type (RNA.ep property)@\spxentry{type}\spxextra{RNA.ep property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id43}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{equilibrium\_conc() (in module RNA)@\spxentry{equilibrium\_conc()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.equilibrium_conc}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{equilibrium\_conc}}}
{\sphinxparam{\DUrole{n}{eq\_constants}}\sphinxparamcomma \sphinxparam{\DUrole{n}{concentration\_strands}}\sphinxparamcomma \sphinxparam{\DUrole{n}{A}}\sphinxparamcomma \sphinxparam{\DUrole{n}{strands}\DUrole{o}{=}\DUrole{default_value}{0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{complexes}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{equilibrium\_constants() (in module RNA)@\spxentry{equilibrium\_constants()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.equilibrium_constants}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{equilibrium\_constants}}}
{\sphinxparam{\DUrole{n}{dG\_complexes}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dG\_strands}}\sphinxparamcomma \sphinxparam{\DUrole{n}{A}}\sphinxparamcomma \sphinxparam{\DUrole{n}{kT}}\sphinxparamcomma \sphinxparam{\DUrole{n}{strands}\DUrole{o}{=}\DUrole{default_value}{0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{complexes}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{eval\_circ\_gquad\_structure() (in module RNA)@\spxentry{eval\_circ\_gquad\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.eval_circ_gquad_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{eval\_circ\_gquad\_structure}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Evaluate free energy of a sequence/structure pair, assume sequence to be circular, allow for
G\sphinxhyphen{}Quadruplexes in the structure, and print contributions per loop.

\sphinxAtStartPar
This function is the same as RNA.eval\_structure\_simple\_v() but assumes the input sequence to be
circular and allows for annotated G\sphinxhyphen{}Quadruplexes in the dot\sphinxhyphen{}bracket structure input.

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences
must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer
G\sphinxhyphen{}quadruplex:

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available through an overloaded version of RNA.eval\_circ\_gquad\_structure().
The last two arguments for this function are optional and default to RNA.VERBOSITY\_QUIET and
\sphinxtitleref{NULL}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_gquad\_structure()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence in uppercase letters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The level of verbosity of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle where this function should print to (may be NULL).

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_circ\_structure() (in module RNA)@\spxentry{eval\_circ\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.eval_circ_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{eval\_circ\_structure}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Evaluate free energy of a sequence/structure pair, assume sequence to be circular and print
contributions per loop.

\sphinxAtStartPar
This function is the same as RNA.eval\_structure\_simple\_v() but assumes the input sequence to be
circularized.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available through an overloaded version of RNA.eval\_circ\_structure(). The last
two arguments for this function are optional and default to RNA.VERBOSITY\_QUIET and \sphinxtitleref{NULL},
respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence in uppercase letters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The level of verbosity of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle where this function should print to (may be NULL).

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple\_v}}, {\hyperref[\detokenize{api_python:RNA.eval_circ_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_circ\_structure}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_gquad\_structure() (in module RNA)@\spxentry{eval\_gquad\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.eval_gquad_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{eval\_gquad\_structure}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Evaluate free energy of a sequence/structure pair, allow for G\sphinxhyphen{}Quadruplexes in the structure and
print contributions per loop.

\sphinxAtStartPar
This function is the same as RNA.eval\_structure\_simple\_v() but allows for annotated G\sphinxhyphen{}Quadruplexes
in the dot\sphinxhyphen{}bracket structure input.

\sphinxAtStartPar
G\sphinxhyphen{}Quadruplexes are annotated as plus signs (‘+’) for each G involved in the motif. Linker sequences
must be denoted by dots (‘.’) as they are considered unpaired. Below is an example of a 2\sphinxhyphen{}layer
G\sphinxhyphen{}quadruplex:

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available through an overloaded version of RNA.eval\_gquad\_structure(). The
last two arguments for this function are optional and default to RNA.VERBOSITY\_QUIET and
\sphinxtitleref{NULL}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence in uppercase letters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The level of verbosity of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle where this function should print to (may be NULL).

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple\_v}}, {\hyperref[\detokenize{api_python:RNA.eval_gquad_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_gquad\_structure}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_structure\_pt\_simple() (in module RNA)@\spxentry{eval\_structure\_pt\_simple()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.eval_structure_pt_simple}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{eval\_structure\_pt\_simple}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA.

\sphinxAtStartPar
This function allows for energy evaluation of a given sequence/structure pair where the structure is
provided in pair\_table format as obtained from RNA.ptable(). Model details, energy parameters, and
possibly soft constraints are used as provided via the parameter ‘fc’. The fold\_compound does not
need to contain any DP matrices, but all the most basic init values as one would get from a call
like this:  In contrast to RNA.fold\_compound.eval\_structure\_pt\_verbose() this function assumes default model
details and default energy parameters in order to evaluate the free energy of the secondary
structure. Threefore, it serves as a simple interface function for energy evaluation for situations
where no changes on the energy model are required.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence in uppercase letters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} Secondary structure as pair\_table

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The level of verbosity of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle where this function should print to (may be NULL).

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable}}}}}, \sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_v}}, {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_structure\_simple() (in module RNA)@\spxentry{eval\_structure\_simple()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.eval_structure_simple}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{eval\_structure\_simple}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA and print contributions per loop.

\sphinxAtStartPar
This function allows for detailed energy evaluation of a given sequence/structure pair. In contrast
to RNA.fold\_compound.eval\_structure() this function prints detailed energy contributions based on individual
loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout.
Any positive \sphinxtitleref{verbosity\_level} activates potential warning message of the energy evaluting
functions, while values \(\ge 1\) allow for detailed control of what data is printed. A
negative parameter \sphinxtitleref{verbosity\_level} turns off printing all together.

\sphinxAtStartPar
In contrast to RNA.fold\_compound.eval\_structure\_verbose() this function assumes default model details and default
energy parameters in order to evaluate the free energy of the secondary structure. Threefore, it
serves as a simple interface function for energy evaluation for situations where no changes on the
energy model are required.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available through an overloaded version of RNA.eval\_structure\_simple(). The
last two arguments for this function are optional and default to RNA.VERBOSITY\_QUIET and
\sphinxtitleref{NULL}, respectively. See, e.g.    {\hyperref[\detokenize{api_python:RNA.eval_structure_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.eval\_structure\_simple()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence in uppercase letters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{verbosity\_level}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The level of verbosity of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle where this function should print to (may be NULL).

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt\_verbose}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{exp\_E\_ExtLoop() (in module RNA)@\spxentry{exp\_E\_ExtLoop()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_E_ExtLoop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_E\_ExtLoop}}}
{\sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
This is the partition function variant of E\_ExtLoop()

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.exp\_E\_ext\_stem() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weighted energy contribution of the introduced exterior\sphinxhyphen{}loop stem

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.E_ExtLoop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{E\_ExtLoop}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{exp\_E\_Hairpin() (in module RNA)@\spxentry{exp\_E\_Hairpin()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_E_Hairpin}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_E\_Hairpin}}}
{\sphinxparam{\DUrole{n}{u}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute Boltzmann weight \(e^{-\Delta G/kT}\) of a hairpin loop.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{u}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The size of the loop (number of unpaired nucleotides)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The pair type of the base pair closing the hairpin

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{si1}} (\sphinxcode{\sphinxupquote{short}}) \textendash{} The 5’\sphinxhyphen{}mismatching nucleotide

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sj1}} (\sphinxcode{\sphinxupquote{short}}) \textendash{} The 3’\sphinxhyphen{}mismatching nucleotide

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The sequence of the loop (May be \sphinxtitleref{NULL}, otherwise mst be at least \(size + 2\) long)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} (\sphinxcode{\sphinxupquote{RNA.exp\_param() *}}) \textendash{} The datastructure containing scaled Boltzmann weights of the energy parameters

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The Boltzmann weight of the Hairpin\sphinxhyphen{}loop

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Not (really) thread safe! A threadsafe implementation will replace this function in a future
release!
\begin{quote}

\sphinxAtStartPar
Energy evaluation may change due to updates in global variable “tetra\_loop”
\end{quote}
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{get\_scaled\_pf\_parameters}}, {\hyperref[\detokenize{api_python:RNA.exp_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.exp\_param}}}}}, {\hyperref[\detokenize{api_python:RNA.E_Hairpin}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{E\_Hairpin}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
multiply by scale{[}u+2{]}
\end{sphinxadmonition}

\end{fulllineitems}

\index{exp\_E\_IntLoop() (in module RNA)@\spxentry{exp\_E\_IntLoop()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_E_IntLoop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_E\_IntLoop}}}
{\sphinxparam{\DUrole{n}{u1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{u2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sp1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sq1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures

\subsection{Compute Boltzmann weight \protect\(e^{-\Delta G/kT}\protect\) of internal loop}
\label{\detokenize{api_python:compute-boltzmann-weight-e-delta-g-kt-of-internal-loop}}
\sphinxAtStartPar
multiply by scale{[}u1+u2+2{]} for scaling
\begin{quote}\begin{description}
\sphinxlineitem{param u1}
\sphinxAtStartPar
The size of the ‘left’\sphinxhyphen{}loop (number of unpaired nucleotides)

\sphinxlineitem{type u1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param u2}
\sphinxAtStartPar
The size of the ‘right’\sphinxhyphen{}loop (number of unpaired nucleotides)

\sphinxlineitem{type u2}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param type}
\sphinxAtStartPar
The pair type of the base pair closing the internal loop

\sphinxlineitem{type type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param type2}
\sphinxAtStartPar
The pair type of the enclosed base pair

\sphinxlineitem{type type2}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\sphinxlineitem{param si1}
\sphinxAtStartPar
The 5’\sphinxhyphen{}mismatching nucleotide of the closing pair

\sphinxlineitem{type si1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\sphinxlineitem{param sj1}
\sphinxAtStartPar
The 3’\sphinxhyphen{}mismatching nucleotide of the closing pair

\sphinxlineitem{type sj1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\sphinxlineitem{param sp1}
\sphinxAtStartPar
The 3’\sphinxhyphen{}mismatching nucleotide of the enclosed pair

\sphinxlineitem{type sp1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\sphinxlineitem{param sq1}
\sphinxAtStartPar
The 5’\sphinxhyphen{}mismatching nucleotide of the enclosed pair

\sphinxlineitem{type sq1}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\sphinxlineitem{param P}
\sphinxAtStartPar
The datastructure containing scaled Boltzmann weights of the energy parameters

\sphinxlineitem{type P}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.exp\_param() *}}

\sphinxlineitem{returns}
\sphinxAtStartPar
The Boltzmann weight of the Interior\sphinxhyphen{}loop

\sphinxlineitem{rtype}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{get\_scaled\_pf\_parameters}}, {\hyperref[\detokenize{api_python:RNA.exp_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.exp\_param}}}}}, {\hyperref[\detokenize{api_python:RNA.E_IntLoop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{E\_IntLoop}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe
\end{sphinxadmonition}

\end{fulllineitems}

\index{exp\_E\_MLstem() (in module RNA)@\spxentry{exp\_E\_MLstem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_E_MLstem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_E\_MLstem}}}
{\sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_E\_Stem() (in module RNA)@\spxentry{exp\_E\_Stem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_E_Stem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_E\_Stem}}}
{\sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{extLoop}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures

\subsection{Compute the Boltzmann weighted energy contribution of a stem branching off a loop\sphinxhyphen{}region}
\label{\detokenize{api_python:compute-the-boltzmann-weighted-energy-contribution-of-a-stem-branching-off-a-loop-region}}
\sphinxAtStartPar
This is the partition function variant of E\_Stem()
\begin{quote}\begin{description}
\sphinxlineitem{returns}
\sphinxAtStartPar
The Boltzmann weighted energy contribution of the branch off the loop

\sphinxlineitem{rtype}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.E_Stem}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{E\_Stem}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is threadsafe
\end{sphinxadmonition}

\end{fulllineitems}

\index{exp\_E\_gquad() (in module RNA)@\spxentry{exp\_E\_gquad()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_E_gquad}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_E\_gquad}}}
{\sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pf}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_E\_gquad\_ali() (in module RNA)@\spxentry{exp\_E\_gquad\_ali()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_E_gquad_ali}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_E\_gquad\_ali}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{a2s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n\_seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pf}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_param (class in RNA)@\spxentry{exp\_param}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{exp\_param}}}
{\sphinxparam{\DUrole{n}{model\_details}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
The data structure that contains temperature scaled Boltzmann weights of the energy parameters.
\index{id (RNA.exp\_param attribute)@\spxentry{id}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{id}}}
\pysigstopsignatures
\sphinxAtStartPar
An identifier for the data structure.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This attribute will be removed in version 3
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expstack (RNA.exp\_param attribute)@\spxentry{expstack}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expstack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expstack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exphairpin (RNA.exp\_param attribute)@\spxentry{exphairpin}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.exphairpin}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exphairpin}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expbulge (RNA.exp\_param attribute)@\spxentry{expbulge}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expbulge}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expbulge}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expinternal (RNA.exp\_param attribute)@\spxentry{expinternal}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expinternal}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expinternal}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchExt (RNA.exp\_param attribute)@\spxentry{expmismatchExt}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expmismatchExt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchExt}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchI (RNA.exp\_param attribute)@\spxentry{expmismatchI}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expmismatchI}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatch23I (RNA.exp\_param attribute)@\spxentry{expmismatch23I}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expmismatch23I}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatch23I}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatch1nI (RNA.exp\_param attribute)@\spxentry{expmismatch1nI}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expmismatch1nI}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatch1nI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchH (RNA.exp\_param attribute)@\spxentry{expmismatchH}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expmismatchH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchM (RNA.exp\_param attribute)@\spxentry{expmismatchM}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expmismatchM}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchM}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expdangle5 (RNA.exp\_param attribute)@\spxentry{expdangle5}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expdangle5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expdangle5}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expdangle3 (RNA.exp\_param attribute)@\spxentry{expdangle3}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expdangle3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expdangle3}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expint11 (RNA.exp\_param attribute)@\spxentry{expint11}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expint11}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expint11}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expint21 (RNA.exp\_param attribute)@\spxentry{expint21}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expint21}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expint21}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expint22 (RNA.exp\_param attribute)@\spxentry{expint22}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expint22}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expint22}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expninio (RNA.exp\_param attribute)@\spxentry{expninio}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expninio}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expninio}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{lxc (RNA.exp\_param attribute)@\spxentry{lxc}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.lxc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{lxc}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMLbase (RNA.exp\_param attribute)@\spxentry{expMLbase}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expMLbase}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMLintern (RNA.exp\_param attribute)@\spxentry{expMLintern}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expMLintern}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMLclosing (RNA.exp\_param attribute)@\spxentry{expMLclosing}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expMLclosing}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expTermAU (RNA.exp\_param attribute)@\spxentry{expTermAU}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expTermAU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expTermAU}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expDuplexInit (RNA.exp\_param attribute)@\spxentry{expDuplexInit}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expDuplexInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expDuplexInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exptetra (RNA.exp\_param attribute)@\spxentry{exptetra}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.exptetra}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exptetra}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exptri (RNA.exp\_param attribute)@\spxentry{exptri}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.exptri}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exptri}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exphex (RNA.exp\_param attribute)@\spxentry{exphex}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.exphex}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exphex}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Tetraloops (RNA.exp\_param attribute)@\spxentry{Tetraloops}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.Tetraloops}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Tetraloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expTriloop (RNA.exp\_param attribute)@\spxentry{expTriloop}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expTriloop}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expTriloop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Triloops (RNA.exp\_param attribute)@\spxentry{Triloops}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.Triloops}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Triloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Hexaloops (RNA.exp\_param attribute)@\spxentry{Hexaloops}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.Hexaloops}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Hexaloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expTripleC (RNA.exp\_param attribute)@\spxentry{expTripleC}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expTripleC}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expTripleC}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMultipleCA (RNA.exp\_param attribute)@\spxentry{expMultipleCA}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expMultipleCA}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMultipleCA}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMultipleCB (RNA.exp\_param attribute)@\spxentry{expMultipleCB}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expMultipleCB}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMultipleCB}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expgquad (RNA.exp\_param attribute)@\spxentry{expgquad}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expgquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expgquad}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expgquadLayerMismatch (RNA.exp\_param attribute)@\spxentry{expgquadLayerMismatch}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expgquadLayerMismatch}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expgquadLayerMismatch}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquadLayerMismatchMax (RNA.exp\_param attribute)@\spxentry{gquadLayerMismatchMax}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.gquadLayerMismatchMax}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquadLayerMismatchMax}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{kT (RNA.exp\_param attribute)@\spxentry{kT}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.kT}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{kT}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pf\_scale (RNA.exp\_param attribute)@\spxentry{pf\_scale}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.pf_scale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pf\_scale}}}
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor to avoid over\sphinxhyphen{}/underflows.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{temperature (RNA.exp\_param attribute)@\spxentry{temperature}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.temperature}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\sphinxAtStartPar
Temperature used for loop contribution scaling.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{alpha (RNA.exp\_param attribute)@\spxentry{alpha}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.alpha}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{alpha}}}
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor for the thermodynamic temperature.

\sphinxAtStartPar
This allows for temperature scaling in Boltzmann factors independently from the energy
contributions. The resulting Boltzmann factors are then computed by \(e^{-E/(\alpha \cdot
K \cdot T)}\)
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{model\_details (RNA.exp\_param attribute)@\spxentry{model\_details}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.model_details}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{model\_details}}}
\pysigstopsignatures
\sphinxAtStartPar
Model details to be used in the recursions.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_md\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{param\_file (RNA.exp\_param attribute)@\spxentry{param\_file}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.param_file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{param\_file}}}
\pysigstopsignatures
\sphinxAtStartPar
The filename the parameters were derived from, or empty string if they represent the default.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expSaltStack (RNA.exp\_param attribute)@\spxentry{expSaltStack}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expSaltStack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expSaltStack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expSaltLoop (RNA.exp\_param attribute)@\spxentry{expSaltLoop}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.expSaltLoop}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expSaltLoop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltLoopDbl (RNA.exp\_param attribute)@\spxentry{SaltLoopDbl}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.SaltLoopDbl}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltLoopDbl}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLbase (RNA.exp\_param attribute)@\spxentry{SaltMLbase}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.SaltMLbase}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLintern (RNA.exp\_param attribute)@\spxentry{SaltMLintern}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.SaltMLintern}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLclosing (RNA.exp\_param attribute)@\spxentry{SaltMLclosing}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.SaltMLclosing}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltDPXInit (RNA.exp\_param attribute)@\spxentry{SaltDPXInit}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.SaltDPXInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltDPXInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
The data structure that contains temperature scaled Boltzmann weights of the energy parameters.
\index{id (RNA.exp\_param attribute)@\spxentry{id}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id44}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{id}}}
\pysigstopsignatures
\sphinxAtStartPar
An identifier for the data structure.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This attribute will be removed in version 3
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expstack (RNA.exp\_param attribute)@\spxentry{expstack}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id45}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expstack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exphairpin (RNA.exp\_param attribute)@\spxentry{exphairpin}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id46}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exphairpin}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expbulge (RNA.exp\_param attribute)@\spxentry{expbulge}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id47}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expbulge}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expinternal (RNA.exp\_param attribute)@\spxentry{expinternal}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id48}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expinternal}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchExt (RNA.exp\_param attribute)@\spxentry{expmismatchExt}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id49}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchExt}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchI (RNA.exp\_param attribute)@\spxentry{expmismatchI}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id50}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatch23I (RNA.exp\_param attribute)@\spxentry{expmismatch23I}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id51}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatch23I}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatch1nI (RNA.exp\_param attribute)@\spxentry{expmismatch1nI}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id52}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatch1nI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchH (RNA.exp\_param attribute)@\spxentry{expmismatchH}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id53}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expmismatchM (RNA.exp\_param attribute)@\spxentry{expmismatchM}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id54}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expmismatchM}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expdangle5 (RNA.exp\_param attribute)@\spxentry{expdangle5}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id55}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expdangle5}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expdangle3 (RNA.exp\_param attribute)@\spxentry{expdangle3}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id56}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expdangle3}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expint11 (RNA.exp\_param attribute)@\spxentry{expint11}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id57}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expint11}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expint21 (RNA.exp\_param attribute)@\spxentry{expint21}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id58}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expint21}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expint22 (RNA.exp\_param attribute)@\spxentry{expint22}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id59}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expint22}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expninio (RNA.exp\_param attribute)@\spxentry{expninio}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id60}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expninio}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{lxc (RNA.exp\_param attribute)@\spxentry{lxc}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id61}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{lxc}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMLbase (RNA.exp\_param attribute)@\spxentry{expMLbase}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id62}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMLintern (RNA.exp\_param attribute)@\spxentry{expMLintern}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id63}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMLclosing (RNA.exp\_param attribute)@\spxentry{expMLclosing}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id64}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expTermAU (RNA.exp\_param attribute)@\spxentry{expTermAU}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id65}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expTermAU}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expDuplexInit (RNA.exp\_param attribute)@\spxentry{expDuplexInit}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id66}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expDuplexInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exptetra (RNA.exp\_param attribute)@\spxentry{exptetra}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id67}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exptetra}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exptri (RNA.exp\_param attribute)@\spxentry{exptri}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id68}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exptri}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exphex (RNA.exp\_param attribute)@\spxentry{exphex}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id69}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exphex}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Tetraloops (RNA.exp\_param attribute)@\spxentry{Tetraloops}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id70}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Tetraloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expTriloop (RNA.exp\_param attribute)@\spxentry{expTriloop}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id71}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expTriloop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Triloops (RNA.exp\_param attribute)@\spxentry{Triloops}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id72}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Triloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Hexaloops (RNA.exp\_param attribute)@\spxentry{Hexaloops}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id73}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Hexaloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expTripleC (RNA.exp\_param attribute)@\spxentry{expTripleC}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id74}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expTripleC}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMultipleCA (RNA.exp\_param attribute)@\spxentry{expMultipleCA}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id75}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMultipleCA}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expMultipleCB (RNA.exp\_param attribute)@\spxentry{expMultipleCB}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id76}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expMultipleCB}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expgquad (RNA.exp\_param attribute)@\spxentry{expgquad}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id77}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expgquad}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expgquadLayerMismatch (RNA.exp\_param attribute)@\spxentry{expgquadLayerMismatch}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id78}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expgquadLayerMismatch}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquadLayerMismatchMax (RNA.exp\_param attribute)@\spxentry{gquadLayerMismatchMax}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id79}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquadLayerMismatchMax}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{kT (RNA.exp\_param attribute)@\spxentry{kT}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id80}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{kT}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pf\_scale (RNA.exp\_param attribute)@\spxentry{pf\_scale}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id81}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pf\_scale}}}
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor to avoid over\sphinxhyphen{}/underflows.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{temperature (RNA.exp\_param attribute)@\spxentry{temperature}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id82}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\sphinxAtStartPar
Temperature used for loop contribution scaling.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{alpha (RNA.exp\_param attribute)@\spxentry{alpha}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id83}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{alpha}}}
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor for the thermodynamic temperature.

\sphinxAtStartPar
This allows for temperature scaling in Boltzmann factors independently from the energy
contributions. The resulting Boltzmann factors are then computed by \(e^{-E/(\alpha \cdot
K \cdot T)}\)
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{model\_details (RNA.exp\_param attribute)@\spxentry{model\_details}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id84}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{model\_details}}}
\pysigstopsignatures
\sphinxAtStartPar
Model details to be used in the recursions.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_md\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{param\_file (RNA.exp\_param attribute)@\spxentry{param\_file}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id85}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{param\_file}}}
\pysigstopsignatures
\sphinxAtStartPar
The filename the parameters were derived from, or empty string if they represent the default.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expSaltStack (RNA.exp\_param attribute)@\spxentry{expSaltStack}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id86}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expSaltStack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expSaltLoop (RNA.exp\_param attribute)@\spxentry{expSaltLoop}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id87}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{expSaltLoop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltLoopDbl (RNA.exp\_param attribute)@\spxentry{SaltLoopDbl}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id88}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltLoopDbl}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLbase (RNA.exp\_param attribute)@\spxentry{SaltMLbase}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id89}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLintern (RNA.exp\_param attribute)@\spxentry{SaltMLintern}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id90}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLclosing (RNA.exp\_param attribute)@\spxentry{SaltMLclosing}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id91}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltDPXInit (RNA.exp\_param attribute)@\spxentry{SaltDPXInit}\spxextra{RNA.exp\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id92}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltDPXInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Hexaloops (RNA.exp\_param property)@\spxentry{Hexaloops}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id93}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Hexaloops}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltDPXInit (RNA.exp\_param property)@\spxentry{SaltDPXInit}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id94}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltDPXInit}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltLoopDbl (RNA.exp\_param property)@\spxentry{SaltLoopDbl}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id95}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltLoopDbl}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltMLbase (RNA.exp\_param property)@\spxentry{SaltMLbase}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id96}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltMLbase}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltMLclosing (RNA.exp\_param property)@\spxentry{SaltMLclosing}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id97}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltMLclosing}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltMLintern (RNA.exp\_param property)@\spxentry{SaltMLintern}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id98}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltMLintern}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Tetraloops (RNA.exp\_param property)@\spxentry{Tetraloops}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id99}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Tetraloops}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Triloops (RNA.exp\_param property)@\spxentry{Triloops}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id100}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Triloops}}}
\pysigstopsignatures
\end{fulllineitems}

\index{alpha (RNA.exp\_param property)@\spxentry{alpha}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id101}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{alpha}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expDuplexInit (RNA.exp\_param property)@\spxentry{expDuplexInit}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id102}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expDuplexInit}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expMLbase (RNA.exp\_param property)@\spxentry{expMLbase}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id103}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expMLbase}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expMLclosing (RNA.exp\_param property)@\spxentry{expMLclosing}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id104}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expMLclosing}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expMLintern (RNA.exp\_param property)@\spxentry{expMLintern}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id105}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expMLintern}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expMultipleCA (RNA.exp\_param property)@\spxentry{expMultipleCA}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id106}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expMultipleCA}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expMultipleCB (RNA.exp\_param property)@\spxentry{expMultipleCB}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id107}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expMultipleCB}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expSaltLoop (RNA.exp\_param property)@\spxentry{expSaltLoop}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id108}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expSaltLoop}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expSaltStack (RNA.exp\_param property)@\spxentry{expSaltStack}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id109}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expSaltStack}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expTermAU (RNA.exp\_param property)@\spxentry{expTermAU}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id110}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expTermAU}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expTriloop (RNA.exp\_param property)@\spxentry{expTriloop}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id111}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expTriloop}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expTripleC (RNA.exp\_param property)@\spxentry{expTripleC}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id112}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expTripleC}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expbulge (RNA.exp\_param property)@\spxentry{expbulge}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id113}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expbulge}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expdangle3 (RNA.exp\_param property)@\spxentry{expdangle3}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id114}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expdangle3}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expdangle5 (RNA.exp\_param property)@\spxentry{expdangle5}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id115}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expdangle5}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expgquad (RNA.exp\_param property)@\spxentry{expgquad}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id116}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expgquad}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expgquadLayerMismatch (RNA.exp\_param property)@\spxentry{expgquadLayerMismatch}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id117}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expgquadLayerMismatch}}}
\pysigstopsignatures
\end{fulllineitems}

\index{exphairpin (RNA.exp\_param property)@\spxentry{exphairpin}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id118}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{exphairpin}}}
\pysigstopsignatures
\end{fulllineitems}

\index{exphex (RNA.exp\_param property)@\spxentry{exphex}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id119}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{exphex}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expint11 (RNA.exp\_param property)@\spxentry{expint11}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id120}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expint11}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expint21 (RNA.exp\_param property)@\spxentry{expint21}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id121}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expint21}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expint22 (RNA.exp\_param property)@\spxentry{expint22}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id122}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expint22}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expinternal (RNA.exp\_param property)@\spxentry{expinternal}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id123}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expinternal}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expmismatch1nI (RNA.exp\_param property)@\spxentry{expmismatch1nI}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id124}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expmismatch1nI}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expmismatch23I (RNA.exp\_param property)@\spxentry{expmismatch23I}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id125}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expmismatch23I}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expmismatchExt (RNA.exp\_param property)@\spxentry{expmismatchExt}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id126}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expmismatchExt}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expmismatchH (RNA.exp\_param property)@\spxentry{expmismatchH}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id127}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expmismatchH}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expmismatchI (RNA.exp\_param property)@\spxentry{expmismatchI}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id128}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expmismatchI}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expmismatchM (RNA.exp\_param property)@\spxentry{expmismatchM}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id129}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expmismatchM}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expninio (RNA.exp\_param property)@\spxentry{expninio}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id130}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expninio}}}
\pysigstopsignatures
\end{fulllineitems}

\index{expstack (RNA.exp\_param property)@\spxentry{expstack}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id131}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expstack}}}
\pysigstopsignatures
\end{fulllineitems}

\index{exptetra (RNA.exp\_param property)@\spxentry{exptetra}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id132}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{exptetra}}}
\pysigstopsignatures
\end{fulllineitems}

\index{exptri (RNA.exp\_param property)@\spxentry{exptri}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id133}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{exptri}}}
\pysigstopsignatures
\end{fulllineitems}

\index{gquadLayerMismatchMax (RNA.exp\_param property)@\spxentry{gquadLayerMismatchMax}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id134}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{gquadLayerMismatchMax}}}
\pysigstopsignatures
\end{fulllineitems}

\index{id (RNA.exp\_param property)@\spxentry{id}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id135}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{id}}}
\pysigstopsignatures
\end{fulllineitems}

\index{kT (RNA.exp\_param property)@\spxentry{kT}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id136}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{kT}}}
\pysigstopsignatures
\end{fulllineitems}

\index{lxc (RNA.exp\_param property)@\spxentry{lxc}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id137}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{lxc}}}
\pysigstopsignatures
\end{fulllineitems}

\index{model\_details (RNA.exp\_param property)@\spxentry{model\_details}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id138}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{model\_details}}}
\pysigstopsignatures
\end{fulllineitems}

\index{param\_file (RNA.exp\_param property)@\spxentry{param\_file}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id139}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{param\_file}}}
\pysigstopsignatures
\end{fulllineitems}

\index{pf\_scale (RNA.exp\_param property)@\spxentry{pf\_scale}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id140}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{pf\_scale}}}
\pysigstopsignatures
\end{fulllineitems}

\index{temperature (RNA.exp\_param property)@\spxentry{temperature}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id141}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.exp\_param property)@\spxentry{thisown}\spxextra{RNA.exp\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.exp_param.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{expand\_Full() (in module RNA)@\spxentry{expand\_Full()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.expand_Full}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{expand\_Full}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Convert the full structure from bracket notation to the expanded notation including root.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{expand\_Shapiro() (in module RNA)@\spxentry{expand\_Shapiro()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.expand_Shapiro}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{expand\_Shapiro}}}
{\sphinxparam{\DUrole{n}{coarse}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Inserts missing ‘S’ identifiers in unweighted coarse grained structures as obtained from b2C().
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{coarse}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{extract\_record\_rest\_structure() (in module RNA)@\spxentry{extract\_record\_rest\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.extract_record_rest_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{extract\_record\_rest\_structure}}}
{\sphinxparam{\DUrole{n}{lines}}\sphinxparamcomma \sphinxparam{\DUrole{n}{length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{option}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{fc\_add\_pycallback() (in module RNA)@\spxentry{fc\_add\_pycallback()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fc_add_pycallback}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{fc\_add\_pycallback}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyFunc}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{fc\_add\_pydata() (in module RNA)@\spxentry{fc\_add\_pydata()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fc_add_pydata}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{fc\_add\_pydata}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyFuncOrNone}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{file\_PS\_aln() (in module RNA)@\spxentry{file\_PS\_aln()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_PS_aln}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_PS\_aln}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector identifiers}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int start=0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int end=0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int offset=0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int columns=60}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Create an annotated PostScript alignment plot.

\sphinxAtStartPar
Similar to RNA.file\_PS\_aln() but allows the user to print a particular slice of the alignment by
specifying a \sphinxtitleref{start} and \sphinxtitleref{end} position. The additional \sphinxtitleref{offset} parameter allows for adjusting the
alignment position ruler value.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{file\_PS\_aln()} where the last four parameter
may be omitted, indicating \sphinxtitleref{start} = \sphinxstyleemphasis{0}, \sphinxtitleref{end} = \sphinxstyleemphasis{0}, \sphinxtitleref{offset} = \sphinxstyleemphasis{0}, and \sphinxtitleref{columns} = \sphinxstyleemphasis{60}.
See, e.g.   {\hyperref[\detokenize{api_python:RNA.file_PS_aln}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_PS\_aln()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The output file name

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seqs}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The aligned sequences

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The names of the sequences

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The consensus structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The start of the alignment slice (a value of 0 indicates the first position of the alignment,
i.e. no slicing at 5’ side)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The end of the alignment slice (a value of 0 indicates the last position of the alignment, i.e.
no slicing at 3’ side)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{offset}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The alignment coordinate offset for the position ruler.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{columns}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The number of columns before the alignment is wrapped as a new block (a value of 0 indicates no
wrapping)

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.file\_PS\_aln\_slice}}


\end{sphinxseealso}


\end{fulllineitems}

\index{file\_PS\_rnaplot() (in module RNA)@\spxentry{file\_PS\_rnaplot()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_PS_rnaplot}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_PS\_rnaplot}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{file\_PS\_rnaplot\_a() (in module RNA)@\spxentry{file\_PS\_rnaplot\_a()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_PS_rnaplot_a}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_PS\_rnaplot\_a}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{file\_RNAstrand\_db\_read\_record() (in module RNA)@\spxentry{file\_RNAstrand\_db\_read\_record()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_RNAstrand_db_read_record}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_RNAstrand\_db\_read\_record}}}
{\sphinxparam{\DUrole{n}{fp}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{file\_SHAPE\_read() (in module RNA)@\spxentry{file\_SHAPE\_read()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_SHAPE_read}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_SHAPE\_read}}}
{\sphinxparam{\DUrole{n}{file\_name}}\sphinxparamcomma \sphinxparam{\DUrole{n}{length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{default\_value}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Read data from a given SHAPE reactivity input file.

\sphinxAtStartPar
This function parses the informations from a given file and stores the result in the preallocated
string sequence and the double array values.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file\_name}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Path to the constraints file

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Length of the sequence (file entries exceeding this limit will cause an error)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{default\_value}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Value for missing indices

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Pointer to an array used for storing the sequence obtained from the SHAPE reactivity file

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{values}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} Pointer to an array used for storing the values obtained from the SHAPE reactivity file

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{file\_commands\_read() (in module RNA)@\spxentry{file\_commands\_read()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_commands_read}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_commands\_read}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.cmd}]{\sphinxcrossref{cmd}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Extract a list of commands from a command file.

\sphinxAtStartPar
Read a list of commands specified in the input file and return them as list of abstract commands

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as global function \sphinxtitleref{file\_commands\_read()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.file_commands_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_commands\_read()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The filename

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to limit the type of commands read from the file

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of abstract commands

\sphinxlineitem{Return type}
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.cmd}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.cmd()}}}}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.commands_apply}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.commands\_apply}}}}}, \sphinxcode{\sphinxupquote{RNA.file\_commands\_apply}}, \sphinxcode{\sphinxupquote{RNA.commands\_free}}


\end{sphinxseealso}


\end{fulllineitems}

\index{file\_connect\_read\_record() (in module RNA)@\spxentry{file\_connect\_read\_record()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_connect_read_record}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_connect\_read\_record}}}
{\sphinxparam{\DUrole{n}{fp}}\sphinxparamcomma \sphinxparam{\DUrole{n}{remainder}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{file\_fasta\_read() (in module RNA)@\spxentry{file\_fasta\_read()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_fasta_read}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_fasta\_read}}}
{\sphinxparam{\DUrole{n}{FILE * file}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=0}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Get a (fasta) data set from a file or stdin.

\sphinxAtStartPar
This function may be used to obtain complete datasets from a filehandle or stdin. A dataset is
always defined to contain at least a sequence. If data starts with a fasta header, i.e. a line like
\begin{quote}

\sphinxAtStartPar
\textgreater{}some header info  then RNA.file\_fasta\_read\_record() will assume that the sequence that follows
the header may span over several lines. To disable this behavior and to assign a single line to
the argument ‘sequence’ one can pass RNA.INPUT\_NO\_SPAN in the ‘options’ argument. If no fasta
header is read in the beginning of a data block, a sequence must not span over multiple lines!
\end{quote}

\sphinxAtStartPar
Unless the options RNA.INPUT\_NOSKIP\_COMMENTS or RNA.INPUT\_NOSKIP\_BLANK\_LINES are passed, a
sequence may be interrupted by lines starting with a comment character or empty lines.
\begin{quote}

\sphinxAtStartPar
A sequence is regarded as completely read if it was either assumed to not span over multiple lines,
a secondary structure or structure constraint follows the sequence on the next line, or a new
header marks the beginning of a new sequence…
\end{quote}

\sphinxAtStartPar
All lines following the sequence (this includes comments) that do not initiate a new dataset
according to the above definition are available through the line\sphinxhyphen{}array ‘rest’. Here one can usually
find the structure constraint or other information belonging to the current dataset. Filling of
‘rest’ may be prevented by passing RNA.INPUT\_NO\_REST to the options argument.

\sphinxAtStartPar
The main purpose of this function is to be able to easily parse blocks of data in the header of a
loop where all calculations for the appropriate data is done inside the loop. The loop may be then
left on certain return values, e.g.:

\sphinxAtStartPar
In the example above, the while loop will be terminated when RNA.file\_fasta\_read\_record() returns
either an error, EOF, or a user initiated quit request.

\sphinxAtStartPar
As long as data is read from stdin (we are passing NULL as the file pointer), the id is printed if
it is available for the current block of data. The sequence will be printed in any case and if some
more lines belong to the current block of data each line will be printed as well.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{header}} (\sphinxcode{\sphinxupquote{char **}}) \textendash{} A pointer which will be set such that it points to the header of the record

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{char **}}) \textendash{} A pointer which will be set such that it points to the sequence of the record

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{rest}} (\sphinxcode{\sphinxupquote{char ***}}) \textendash{} A pointer which will be set such that it points to an array of lines which also belong to the
record

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle to read from (if NULL, this function reads from stdin)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Some options which may be passed to alter the behavior of the function, use 0 for no options

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A flag with information about what the function actually did read

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{note}{Note:}\begin{description}
\sphinxlineitem{This function will exit any program with an error message if no sequence could be read!}
\sphinxAtStartPar
This function is NOT threadsafe! It uses a global variable to store information about the next data
block. Do not forget to free the memory occupied by header, sequence and rest!

\end{description}
\end{sphinxadmonition}

\end{fulllineitems}

\index{file\_msa\_detect\_format() (in module RNA)@\spxentry{file\_msa\_detect\_format()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_msa_detect_format}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_msa\_detect\_format}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures
\sphinxAtStartPar
Detect the format of a multiple sequence alignment file.

\sphinxAtStartPar
This function attempts to determine the format of a file that supposedly contains a multiple
sequence alignment (MSA). This is useful in cases where a MSA file contains more than a single
record and therefore RNA.file\_msa\_read() can not be applied, since it only retrieves the first.
Here, one can try to guess the correct file format using this function and then loop over the file,
record by record using one of the low\sphinxhyphen{}level record retrieval functions for the corresponding MSA
file format.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function exists as an overloaded version where the \sphinxtitleref{options} parameter may be omitted! In
that case, the \sphinxtitleref{options} parameter defaults to RNA.FILE\_FORMAT\_MSA\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.file_msa_detect_format}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_detect\_format()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The name of input file that contains the alignment

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to manipulate the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The MSA file format, or RNA.FILE\_FORMAT\_MSA\_UNKNOWN

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.file_msa_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read}}}}}, \sphinxcode{\sphinxupquote{RNA.file\_stockholm\_read\_record}}, \sphinxcode{\sphinxupquote{RNA.file\_clustal\_read\_record}}, \sphinxcode{\sphinxupquote{RNA.file\_fasta\_read\_record}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function parses the entire first record within the specified file. As a result, it returns
RNA.FILE\_FORMAT\_MSA\_UNKNOWN not only if it can’t detect the file’s format, but also in cases where
the file doesn’t contain sequences!
\end{sphinxadmonition}

\end{fulllineitems}

\index{file\_msa\_read() (in module RNA)@\spxentry{file\_msa\_read()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_msa_read}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_msa\_read}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Read a multiple sequence alignment from file.

\sphinxAtStartPar
This function reads the (first) multiple sequence alignment from an input file. The read alignment
is split into the sequence id/name part and the actual sequence information and stored in memory as
arrays of ids/names and sequences. If the alignment file format allows for additional information,
such as an ID of the entire alignment or consensus structure information, this data is retrieved as
well and made available. The \sphinxtitleref{options} parameter allows to specify the set of alignment file formats
that should be used to retrieve the data. If 0 is passed as option, the list of alignment file
formats defaults to RNA.FILE\_FORMAT\_MSA\_DEFAULT.

\sphinxAtStartPar
Currently, the list of parsable multiple sequence alignment file formats consists of:
\begin{itemize}
\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}clustal

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}stockholm

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}fasta

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}maf

\end{itemize}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
In the target scripting language, only the first and last argument, \sphinxtitleref{filename} and \sphinxtitleref{options},
are passed to the corresponding function. The other arguments, which serve as output in the
C\sphinxhyphen{}library, are available as additional return values. This function exists as an overloaded
version where the \sphinxtitleref{options} parameter may be omitted! In that case, the \sphinxtitleref{options} parameter
defaults to RNA.FILE\_FORMAT\_MSA\_STOCKHOLM. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and    {\hyperref[\detokenize{examples/python:parsing-alignments}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Parsing Alignments}}}}}  in the Python examples.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The name of input file that contains the alignment

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} (\sphinxcode{\sphinxupquote{char ***}}) \textendash{} An address to the pointer where sequence identifiers should be written to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{aln}} (\sphinxcode{\sphinxupquote{char ***}}) \textendash{} An address to the pointer where aligned sequences should be written to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{id}} (\sphinxcode{\sphinxupquote{char **}}) \textendash{} An address to the pointer where the alignment ID should be written to (Maybe NULL)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{char **}}) \textendash{} An address to the pointer where consensus structure information should be written to (Maybe
NULL)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to manipulate the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the alignment, or \sphinxhyphen{}1 if no alignment record could be found

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.file_msa_read_record}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read\_record}}}}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_CLUSTAL}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_STOCKHOLM}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_FASTA}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_MAF}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_DEFAULT}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_NOCHECK}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
After successfully reading an alignment, this function performs a validation of the data that
includes uniqueness of the sequence identifiers, and equal sequence lengths. This check can be
deactivated by passing RNA.FILE\_FORMAT\_MSA\_NOCHECK in the \sphinxtitleref{options} parameter.
\begin{quote}

\sphinxAtStartPar
It is the users responsibility to free any memory occupied by the output arguments \sphinxtitleref{names}, \sphinxtitleref{aln},
\sphinxtitleref{id}, and \sphinxtitleref{structure} after calling this function. The function automatically sets the latter two
arguments to \sphinxtitleref{NULL} in case no corresponding data could be retrieved from the input alignment.
\end{quote}
\end{sphinxadmonition}

\end{fulllineitems}

\index{file\_msa\_read\_record() (in module RNA)@\spxentry{file\_msa\_read\_record()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_msa_read_record}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_msa\_read\_record}}}
{\sphinxparam{\DUrole{n}{FILE * filehandle}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Read a multiple sequence alignment from file handle.

\sphinxAtStartPar
Similar to RNA.file\_msa\_read(), this function reads a multiple sequence alignment from an input
file handle. Since using a file handle, this function is not limited to the first alignment record,
but allows for looping over all alignments within the input.

\sphinxAtStartPar
The read alignment is split into the sequence id/name part and the actual sequence information and
stored in memory as arrays of ids/names and sequences. If the alignment file format allows for
additional information, such as an ID of the entire alignment or consensus structure information,
this data is retrieved as well and made available. The \sphinxtitleref{options} parameter allows to specify the
alignment file format used to retrieve the data. A single format must be specified here, see
RNA.file\_msa\_detect\_format() for helping to determine the correct MSA file format.

\sphinxAtStartPar
Currently, the list of parsable multiple sequence alignment file formats consists of:
\begin{itemize}
\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}clustal

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}stockholm

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}fasta

\item {} 
\sphinxAtStartPar
msa\sphinxhyphen{}formats\sphinxhyphen{}maf

\end{itemize}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
In the target scripting language, only the first and last argument, \sphinxtitleref{fp} and \sphinxtitleref{options}, are
passed to the corresponding function. The other arguments, which serve as output in the
C\sphinxhyphen{}library, are available as additional return values. This function exists as an overloaded
version where the \sphinxtitleref{options} parameter may be omitted! In that case, the \sphinxtitleref{options} parameter
defaults to RNA.FILE\_FORMAT\_MSA\_STOCKHOLM. See, e.g.    {\hyperref[\detokenize{api_python:RNA.file_msa_read_record}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read\_record()}}}}}
in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and    {\hyperref[\detokenize{examples/python:parsing-alignments}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Parsing Alignments}}}}}  in the Python
examples.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} The file pointer the data will be retrieved from

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} (\sphinxcode{\sphinxupquote{char ***}}) \textendash{} An address to the pointer where sequence identifiers should be written to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{aln}} (\sphinxcode{\sphinxupquote{char ***}}) \textendash{} An address to the pointer where aligned sequences should be written to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{id}} (\sphinxcode{\sphinxupquote{char **}}) \textendash{} An address to the pointer where the alignment ID should be written to (Maybe NULL)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{char **}}) \textendash{} An address to the pointer where consensus structure information should be written to (Maybe
NULL)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to manipulate the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of sequences in the alignment, or \sphinxhyphen{}1 if no alignment record could be found

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.file_msa_read}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_read}}}}}, {\hyperref[\detokenize{api_python:RNA.file_msa_detect_format}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_detect\_format}}}}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_CLUSTAL}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_STOCKHOLM}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_FASTA}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_MAF}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_DEFAULT}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_NOCHECK}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
After successfully reading an alignment, this function performs a validation of the data that
includes uniqueness of the sequence identifiers, and equal sequence lengths. This check can be
deactivated by passing RNA.FILE\_FORMAT\_MSA\_NOCHECK in the \sphinxtitleref{options} parameter.
\begin{quote}

\sphinxAtStartPar
It is the users responsibility to free any memory occupied by the output arguments \sphinxtitleref{names}, \sphinxtitleref{aln},
\sphinxtitleref{id}, and \sphinxtitleref{structure} after calling this function. The function automatically sets the latter two
arguments to \sphinxtitleref{NULL} in case no corresponding data could be retrieved from the input alignment.
\end{quote}
\end{sphinxadmonition}

\end{fulllineitems}

\index{file\_msa\_write() (in module RNA)@\spxentry{file\_msa\_write()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.file_msa_write}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{file\_msa\_write}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector names}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string id=""}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure=""}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string source=""}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=VRNA\_FILE\_FORMAT\_MSA\_STOCKHOLM|VRNA\_FILE\_FORMAT\_MSA\_APPEND}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Write multiple sequence alignment file.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
In the target scripting language, this function exists as a set of overloaded versions, where
the last four parameters may be omitted. If the \sphinxtitleref{options} parameter is missing the options
default to (RNA.FILE\_FORMAT\_MSA\_STOCKHOLM | RNA.FILE\_FORMAT\_MSA\_APPEND). See, e.g.
{\hyperref[\detokenize{api_python:RNA.file_msa_write}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_msa\_write()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The output filename

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{names}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The array of sequence names / identifies

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{aln}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} The array of aligned sequences

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{id}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} An optional ID for the alignment

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} An optional consensus structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{source}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A string describing the source of the alignment

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to manipulate the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}null upon successfully writing the alignment to file

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_STOCKHOLM}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_APPEND}}, \sphinxcode{\sphinxupquote{RNA.FILE\_FORMAT\_MSA\_MIS}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Currently, we only support msa\sphinxhyphen{}formats\sphinxhyphen{}stockholm output
\end{sphinxadmonition}

\end{fulllineitems}

\index{filename\_sanitize() (in module RNA)@\spxentry{filename\_sanitize()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.filename_sanitize}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{filename\_sanitize}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Sanitize a file name.

\sphinxAtStartPar
Returns a new file name where all invalid characters are substituted by a replacement character. If
no replacement character is supplied, invalid characters are simply removed from the filename. File
names may also never exceed a length of 255 characters. Longer file names will undergo a ‘smart’
truncation process, where the filenames’ suffix, i.e. everything after the last dot ‘.’, is
attempted to be kept intact. Hence, only the filename part before the suffix is reduced in such a
way that the total filename complies to the length restriction of 255 characters. If no suffix is
present or the suffix itself already exceeds the maximum length, the filename is simply truncated
from the back of the string.

\sphinxAtStartPar
For now we consider the following characters invalid:
\begin{itemize}
\item {} 
\sphinxAtStartPar
backslash ‘\textquotesingle{}

\item {} 
\sphinxAtStartPar
slash ‘/’

\item {} 
\sphinxAtStartPar
question mark ‘?’

\item {} 
\sphinxAtStartPar
percent sign ‘’

\item {} 
\sphinxAtStartPar
asterisk ‘*’

\item {} 
\sphinxAtStartPar
colon ‘:’

\item {} 
\sphinxAtStartPar
pipe symbol ‘|’

\item {} 
\sphinxAtStartPar
double quote ‘”’

\item {} 
\sphinxAtStartPar
triangular brackets ‘\textless{}’ and ‘\textgreater{}’

\end{itemize}

\sphinxAtStartPar
Furthermore, the (resulting) file name must not be a reserved file name, such as:
\begin{itemize}
\item {} 
\sphinxAtStartPar
‘.’

\item {} 
\sphinxAtStartPar
‘..’

\end{itemize}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{name}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The input file name

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{replacement}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The replacement character, or NULL

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The sanitized file name, or NULL

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function allocates a new block of memory for the sanitized string. It also may return (a) NULL
if the input is pointing to NULL, or (b) an empty string if the input only consists of invalid
characters which are simply removed!
\end{sphinxadmonition}

\end{fulllineitems}

\index{find\_saddle() (in module RNA)@\spxentry{find\_saddle()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.find_saddle}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{find\_saddle}}}
{\sphinxparam{\DUrole{n}{seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{width}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Find energy of a saddle point between 2 structures (search only direct path).

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.path\_findpath\_saddle() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the first secondary structure in dot\sphinxhyphen{}bracket notation
will be written to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the second secondary structure in dot\sphinxhyphen{}bracket notation
will be written to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} integer how many strutures are being kept during the search

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the saddle energy in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{floatArray (class in RNA)@\spxentry{floatArray}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.floatArray}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{floatArray}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{cast() (RNA.floatArray method)@\spxentry{cast()}\spxextra{RNA.floatArray method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.floatArray.cast}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{cast}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{frompointer() (RNA.floatArray static method)@\spxentry{frompointer()}\spxextra{RNA.floatArray static method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.floatArray.frompointer}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{static}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{frompointer}}}
{\sphinxparam{\DUrole{n}{t}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.floatArray property)@\spxentry{thisown}\spxextra{RNA.floatArray property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.floatArray.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{floatP\_getitem() (in module RNA)@\spxentry{floatP\_getitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.floatP_getitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{floatP\_getitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{floatP\_setitem() (in module RNA)@\spxentry{floatP\_setitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.floatP_setitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{floatP\_setitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}\sphinxparamcomma \sphinxparam{\DUrole{n}{value}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{fold() (in module RNA)@\spxentry{fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{fold}}}
{\sphinxparam{\DUrole{n}{string) \sphinxhyphen{}\textgreater{} (structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{mfe)fold(string) \sphinxhyphen{}\textgreater{} (structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{mfe}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for an RNA sequence.

\sphinxAtStartPar
This simplified interface to RNA.fold\_compound.mfe() computes the MFE and, if required, a secondary structure for
an RNA sequence using default options. Memory required for dynamic programming (DP) matrices will be
allocated and free’d on\sphinxhyphen{}the\sphinxhyphen{}fly. Hence, after return of this function, the recursively filled
matrices are not available any more for any post\sphinxhyphen{}processing, e.g. suboptimal backtracking, etc.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{fold()} in the global namespace. The parameter
\sphinxtitleref{structure} is returned along with the MFE und must not be provided. See e.g.
{\hyperref[\detokenize{api_python:RNA.fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be
written to

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.circfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circfold}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
In case you want to use the filled DP matrices for any subsequent post\sphinxhyphen{}processing step, or you
require other conditions than specified by the default model details, use RNA.fold\_compound.mfe(),
and the data
structure RNA.fold\_compound() instead.
\end{sphinxadmonition}

\end{fulllineitems}

\index{fold\_compound (class in RNA)@\spxentry{fold\_compound}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{fold\_compound}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{fold\_compound}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{fold\_compound}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{fold\_compound}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char * s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char * s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{fold\_compound}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
The most basic data structure required by many functions throughout the RNAlib.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Please read the documentation of this data structure carefully! Some attributes are only available
for specific types this data structure can adopt.
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Reading/Writing from/to attributes that are not within the scope of the current type usually result
in undefined behavior!
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound\_comparative}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound\_free}}, \sphinxcode{\sphinxupquote{RNA.FC\_TYPE\_SINGLE}}, \sphinxcode{\sphinxupquote{RNA.FC\_TYPE\_COMPARATIVE}}, \sphinxcode{\sphinxupquote{}}

\sphinxAtStartPar
This data structure is wrapped as class \sphinxtitleref{fold\_compound} with several related functions attached
as methods.

\sphinxAtStartPar
A new \sphinxtitleref{fold\_compound} can be obtained by calling one of its constructors:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxtitleref{fold\_compound(seq)} \sphinxhyphen{} Initialize with a single sequence, or two concatenated sequences
separated by an ampersand character \sphinxtitleref{\&} (for cofolding)

\item {} 
\sphinxAtStartPar
\sphinxtitleref{fold\_compound(aln)} \sphinxhyphen{} Initialize with a sequence alignment \sphinxstyleemphasis{aln} stored as a list of
sequences (with gap characters).

\end{itemize}

\sphinxAtStartPar
The resulting object has a list of attached methods which in most cases directly correspond to
functions that mainly operate on the corresponding \sphinxtitleref{C} data structure:
\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxtitleref{type()} \sphinxhyphen{} Get the type of the \sphinxstyleemphasis{fold\_compound} (See RNA.fc\_type)

\item {} 
\sphinxAtStartPar
\sphinxtitleref{length()} \sphinxhyphen{} Get the length of the sequence(s) or alignment stored within the
\sphinxtitleref{fold\_compound}.

\end{itemize}

\sphinxAtStartPar
See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.


\end{sphinxseealso}

\index{type (RNA.fold\_compound attribute)@\spxentry{type}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\sphinxAtStartPar
The type of the RNA.fold\_compound().

\sphinxAtStartPar
Currently possible values are RNA.FC\_TYPE\_SINGLE, and RNA.FC\_TYPE\_COMPARATIVE

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Do not edit this attribute, it will be automagically set by the corresponding get() methods for
the RNA.fold\_compound(). The value specified in this attribute dictates the set of other
attributes to use within this data structure.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{const vrna\_fc\_type\_e}}

\end{description}\end{quote}

\end{fulllineitems}

\index{length (RNA.fold\_compound attribute)@\spxentry{length}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{length}}}
\pysigstopsignatures
\sphinxAtStartPar
The length of the sequence (or sequence alignment).
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{cutpoint (RNA.fold\_compound attribute)@\spxentry{cutpoint}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.cutpoint}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{cutpoint}}}
\pysigstopsignatures
\sphinxAtStartPar
The position of the (cofold) cutpoint within the provided sequence. If there is no cutpoint,
this field will be set to \sphinxhyphen{}1.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strand\_number (RNA.fold\_compound attribute)@\spxentry{strand\_number}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.strand_number}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strand\_number}}}
\pysigstopsignatures
\sphinxAtStartPar
The strand number a particular nucleotide is associated with.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strand\_order (RNA.fold\_compound attribute)@\spxentry{strand\_order}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.strand_order}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strand\_order}}}
\pysigstopsignatures
\sphinxAtStartPar
The strand order, i.e. permutation of current concatenated sequence.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strand\_order\_uniq (RNA.fold\_compound attribute)@\spxentry{strand\_order\_uniq}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.strand_order_uniq}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strand\_order\_uniq}}}
\pysigstopsignatures
\sphinxAtStartPar
The strand order array where identical sequences have the same ID.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strand\_start (RNA.fold\_compound attribute)@\spxentry{strand\_start}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.strand_start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strand\_start}}}
\pysigstopsignatures
\sphinxAtStartPar
The start position of a particular strand within the current concatenated sequence.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strand\_end (RNA.fold\_compound attribute)@\spxentry{strand\_end}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.strand_end}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strand\_end}}}
\pysigstopsignatures
\sphinxAtStartPar
The end (last) position of a particular strand within the current concatenated sequence.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strands (RNA.fold\_compound attribute)@\spxentry{strands}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.strands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strands}}}
\pysigstopsignatures
\sphinxAtStartPar
Number of interacting strands.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{nucleotides (RNA.fold\_compound attribute)@\spxentry{nucleotides}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.nucleotides}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{nucleotides}}}
\pysigstopsignatures
\sphinxAtStartPar
Set of nucleotide sequences.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_seq\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{alignment (RNA.fold\_compound attribute)@\spxentry{alignment}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.alignment}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{alignment}}}
\pysigstopsignatures
\sphinxAtStartPar
Set of alignments.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_msa\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{hc (RNA.fold\_compound attribute)@\spxentry{hc}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{hc}}}
\pysigstopsignatures
\sphinxAtStartPar
The hard constraints data structure used for structure prediction.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{matrices (RNA.fold\_compound attribute)@\spxentry{matrices}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.matrices}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{matrices}}}
\pysigstopsignatures
\sphinxAtStartPar
The MFE DP matrices.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_mx\_mfe\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exp\_matrices (RNA.fold\_compound attribute)@\spxentry{exp\_matrices}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_matrices}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exp\_matrices}}}
\pysigstopsignatures
\sphinxAtStartPar
The PF DP matrices.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_mx\_pf\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{params (RNA.fold\_compound attribute)@\spxentry{params}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.params}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{params}}}
\pysigstopsignatures
\sphinxAtStartPar
The precomputed free energy contributions for each type of loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{param}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{exp\_params (RNA.fold\_compound attribute)@\spxentry{exp\_params}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_params}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{exp\_params}}}
\pysigstopsignatures
\sphinxAtStartPar
The precomputed free energy contributions as Boltzmann factors.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.exp_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{exp\_param}}}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{iindx (RNA.fold\_compound attribute)@\spxentry{iindx}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.iindx}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{iindx}}}
\pysigstopsignatures
\sphinxAtStartPar
DP matrix accessor.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{jindx (RNA.fold\_compound attribute)@\spxentry{jindx}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.jindx}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{jindx}}}
\pysigstopsignatures
\sphinxAtStartPar
DP matrix accessor.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{stat\_cb (RNA.fold\_compound attribute)@\spxentry{stat\_cb}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.stat_cb}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{stat\_cb}}}
\pysigstopsignatures
\sphinxAtStartPar
Recursion status callback (usually called just before, and after recursive computations in the
library.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.recursion\_status}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.add_callback}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.add\_callback}}}}}


\end{sphinxseealso}

\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_recursion\_status\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{auxdata (RNA.fold\_compound attribute)@\spxentry{auxdata}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.auxdata}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{auxdata}}}
\pysigstopsignatures
\sphinxAtStartPar
A pointer to auxiliary, user\sphinxhyphen{}defined data.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.add_auxdata}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.add\_auxdata}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}


\end{sphinxseealso}

\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{void *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_auxdata (RNA.fold\_compound attribute)@\spxentry{free\_auxdata}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.free_auxdata}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{free\_auxdata}}}
\pysigstopsignatures
\sphinxAtStartPar
A callback to free auxiliary user data whenever the fold\_compound itself is free’d.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.auxdata\_free}}


\end{sphinxseealso}

\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_auxdata\_free\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{domains\_struc (RNA.fold\_compound attribute)@\spxentry{domains\_struc}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.domains_struc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{domains\_struc}}}
\pysigstopsignatures
\sphinxAtStartPar
Additional structured domains.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_sd\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{domains\_up (RNA.fold\_compound attribute)@\spxentry{domains\_up}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.domains_up}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{domains\_up}}}
\pysigstopsignatures
\sphinxAtStartPar
Additional unstructured domains.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_ud\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{aux\_grammar (RNA.fold\_compound attribute)@\spxentry{aux\_grammar}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.aux_grammar}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{aux\_grammar}}}
\pysigstopsignatures
\sphinxAtStartPar
Additional decomposition grammar rules.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_gr\_aux\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sequence (RNA.fold\_compound attribute)@\spxentry{sequence}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequence}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sequence}}}
\pysigstopsignatures
\sphinxAtStartPar
The input sequence string.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_SINGLE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sequence\_encoding (RNA.fold\_compound attribute)@\spxentry{sequence\_encoding}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequence_encoding}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sequence\_encoding}}}
\pysigstopsignatures
\sphinxAtStartPar
Numerical encoding of the input sequence.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.sequence\_encode}}


\end{sphinxseealso}


\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_SINGLE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{encoding5 (RNA.fold\_compound attribute)@\spxentry{encoding5}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.encoding5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{encoding5}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{encoding3 (RNA.fold\_compound attribute)@\spxentry{encoding3}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.encoding3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{encoding3}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sequence\_encoding2 (RNA.fold\_compound attribute)@\spxentry{sequence\_encoding2}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequence_encoding2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sequence\_encoding2}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ptype (RNA.fold\_compound attribute)@\spxentry{ptype}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ptype}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ptype}}}
\pysigstopsignatures
\sphinxAtStartPar
Pair type array.

\sphinxAtStartPar
Contains the numerical encoding of the pair type for each pair (i,j) used in MFE, Partition
function and Evaluation computations.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This array is always indexed via jindx, in contrast to previously different indexing between mfe
and pf variants!
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_SINGLE
\end{quote}
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.idx\_col\_wise}}, \sphinxcode{\sphinxupquote{RNA.ptypes}}


\end{sphinxseealso}

\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ptype\_pf\_compat (RNA.fold\_compound attribute)@\spxentry{ptype\_pf\_compat}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ptype_pf_compat}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ptype\_pf\_compat}}}
\pysigstopsignatures
\sphinxAtStartPar
ptype array indexed via iindx

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This attribute will vanish in the future! It’s meant for backward compatibility only!

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_SINGLE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sc (RNA.fold\_compound attribute)@\spxentry{sc}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sc}}}
\pysigstopsignatures
\sphinxAtStartPar
The soft constraints for usage in structure prediction and evaluation.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_SINGLE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_sc\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sequences (RNA.fold\_compound attribute)@\spxentry{sequences}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequences}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sequences}}}
\pysigstopsignatures
\sphinxAtStartPar
The aligned sequences.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The end of the alignment is indicated by a NULL pointer in the second dimension
\end{sphinxadmonition}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{n\_seq (RNA.fold\_compound attribute)@\spxentry{n\_seq}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.n_seq}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{n\_seq}}}
\pysigstopsignatures
\sphinxAtStartPar
The number of sequences in the alignment.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{cons\_seq (RNA.fold\_compound attribute)@\spxentry{cons\_seq}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.cons_seq}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{cons\_seq}}}
\pysigstopsignatures
\sphinxAtStartPar
The consensus sequence of the aligned sequences.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{S\_cons (RNA.fold\_compound attribute)@\spxentry{S\_cons}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.S_cons}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{S\_cons}}}
\pysigstopsignatures
\sphinxAtStartPar
Numerical encoding of the consensus sequence.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{S (RNA.fold\_compound attribute)@\spxentry{S}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.S}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{S}}}
\pysigstopsignatures
\sphinxAtStartPar
Numerical encoding of the sequences in the alignment.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{S5 (RNA.fold\_compound attribute)@\spxentry{S5}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.S5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{S5}}}
\pysigstopsignatures
\sphinxAtStartPar
S5{[}s{]}{[}i{]} holds next base 5’ of i in sequence s.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{S3 (RNA.fold\_compound attribute)@\spxentry{S3}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.S3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{S3}}}
\pysigstopsignatures
\sphinxAtStartPar
Sl{[}s{]}{[}i{]} holds next base 3’ of i in sequence s.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Ss (RNA.fold\_compound attribute)@\spxentry{Ss}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.Ss}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Ss}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{a2s (RNA.fold\_compound attribute)@\spxentry{a2s}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.a2s}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{a2s}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(list\sphinxhyphen{}like(unsigned int))}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pscore (RNA.fold\_compound attribute)@\spxentry{pscore}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pscore}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pscore}}}
\pysigstopsignatures
\sphinxAtStartPar
Precomputed array of pair types expressed as pairing scores.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pscore\_local (RNA.fold\_compound attribute)@\spxentry{pscore\_local}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pscore_local}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pscore\_local}}}
\pysigstopsignatures
\sphinxAtStartPar
Precomputed array of pair types expressed as pairing scores.

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pscore\_pf\_compat (RNA.fold\_compound attribute)@\spxentry{pscore\_pf\_compat}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pscore_pf_compat}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pscore\_pf\_compat}}}
\pysigstopsignatures
\sphinxAtStartPar
Precomputed array of pair types expressed as pairing scores indexed via iindx.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This attribute will vanish in the future!

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{scs (RNA.fold\_compound attribute)@\spxentry{scs}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.scs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{scs}}}
\pysigstopsignatures
\sphinxAtStartPar
A set of soft constraints (for each sequence in the alignment).

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Only available if
\begin{quote}

\sphinxAtStartPar
type==RNA.FC\_TYPE\_COMPARATIVE
\end{quote}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_sc\_t **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{oldAliEn (RNA.fold\_compound attribute)@\spxentry{oldAliEn}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.oldAliEn}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{oldAliEn}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{maxD1 (RNA.fold\_compound attribute)@\spxentry{maxD1}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.maxD1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{maxD1}}}
\pysigstopsignatures
\sphinxAtStartPar
Maximum allowed base pair distance to first reference.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{maxD2 (RNA.fold\_compound attribute)@\spxentry{maxD2}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.maxD2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{maxD2}}}
\pysigstopsignatures
\sphinxAtStartPar
Maximum allowed base pair distance to second reference.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{reference\_pt1 (RNA.fold\_compound attribute)@\spxentry{reference\_pt1}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.reference_pt1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{reference\_pt1}}}
\pysigstopsignatures
\sphinxAtStartPar
A pairtable of the first reference structure.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{reference\_pt2 (RNA.fold\_compound attribute)@\spxentry{reference\_pt2}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.reference_pt2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{reference\_pt2}}}
\pysigstopsignatures
\sphinxAtStartPar
A pairtable of the second reference structure.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{referenceBPs1 (RNA.fold\_compound attribute)@\spxentry{referenceBPs1}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.referenceBPs1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{referenceBPs1}}}
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing number of basepairs of reference structure1 in interval {[}i,j{]}.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{referenceBPs2 (RNA.fold\_compound attribute)@\spxentry{referenceBPs2}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.referenceBPs2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{referenceBPs2}}}
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing number of basepairs of reference structure2 in interval {[}i,j{]}.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{bpdist (RNA.fold\_compound attribute)@\spxentry{bpdist}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.bpdist}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{bpdist}}}
\pysigstopsignatures
\sphinxAtStartPar
Matrix containing base pair distance of reference structure 1 and 2 on interval {[}i,j{]}.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mm1 (RNA.fold\_compound attribute)@\spxentry{mm1}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mm1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mm1}}}
\pysigstopsignatures
\sphinxAtStartPar
Maximum matching matrix, reference struct 1 disallowed.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mm2 (RNA.fold\_compound attribute)@\spxentry{mm2}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mm2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mm2}}}
\pysigstopsignatures
\sphinxAtStartPar
Maximum matching matrix, reference struct 2 disallowed.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{window\_size (RNA.fold\_compound attribute)@\spxentry{window\_size}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.window_size}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{window\_size}}}
\pysigstopsignatures
\sphinxAtStartPar
window size for local folding sliding window approach
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ptype\_local (RNA.fold\_compound attribute)@\spxentry{ptype\_local}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ptype_local}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ptype\_local}}}
\pysigstopsignatures
\sphinxAtStartPar
Pair type array (for local folding).
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{zscore\_data (RNA.fold\_compound attribute)@\spxentry{zscore\_data}\spxextra{RNA.fold\_compound attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zscore_data}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{zscore\_data}}}
\pysigstopsignatures\begin{quote}

\sphinxAtStartPar
Data structure with settings for z\sphinxhyphen{}score computations.
\end{quote}

\sphinxAtStartPar
: union vrna\_fc\_s
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_zsc\_dat\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{E\_ext\_hp\_loop() (RNA.fold\_compound method)@\spxentry{E\_ext\_hp\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.E_ext_hp_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{E\_ext\_hp\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_ext\_int\_loop() (RNA.fold\_compound method)@\spxentry{E\_ext\_int\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.E_ext_int_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{E\_ext\_int\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_hp\_loop() (RNA.fold\_compound method)@\spxentry{E\_hp\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.E_hp_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{E\_hp\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_int\_loop() (RNA.fold\_compound method)@\spxentry{E\_int\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.E_int_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{E\_int\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{E\_stack() (RNA.fold\_compound method)@\spxentry{E\_stack()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.E_stack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{E\_stack}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{MEA() (RNA.fold\_compound method)@\spxentry{MEA()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.MEA}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{MEA}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}}
{{ $\rightarrow$ char}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{MEA}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double gamma}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\sphinxAtStartPar
Compute a MEA (maximum expected accuracy) structure.

\sphinxAtStartPar
The algorithm maximizes the expected accuracy
\begin{equation*}
\begin{split}A(S) = \sum_{(i,j) \in S} 2 \gamma p_{ij} + \sum_{i \notin S} p^u_{i}\end{split}
\end{equation*}
\sphinxAtStartPar
Higher values of \(\gamma\) result in more base pairs of lower probability and thus higher
sensitivity. Low values of \(\gamma\) result in structures containing only highly likely pairs
(high specificity). The code of the MEA function also demonstrates the use of sparse dynamic
programming scheme to reduce the time and memory complexity of folding.
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
RNA.fold\_compound.pf() must be executed on input parameter \sphinxtitleref{fc}

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{MEA\textasciigrave{}(gamma = 1.) to objects of type
\textasciigrave{}fold\_compound}. Note, that it returns the MEA structure and MEA value as a tuple
(MEA\_structure, MEA). See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.MEA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.MEA()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{gamma}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The weighting factor for base pairs vs. unpaired nucleotides

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mea}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} A pointer to a variable where the MEA value will be written to

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An MEA structure (or NULL on any error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{add\_auxdata() (RNA.fold\_compound method)@\spxentry{add\_auxdata()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.add_auxdata}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{add\_auxdata}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFuncOrNone=Py\_None}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Add auxiliary data to the RNA.fold\_compound().

\sphinxAtStartPar
This function allows one to bind arbitrary data to a RNA.fold\_compound() which may later on be used
by one of the callback functions, e.g. RNA.recursion\_status(). To allow for proper cleanup of the
memory occupied by this auxiliary data, the user may also provide a pointer to a cleanup function
that free’s the corresponding memory. This function will be called automatically when the
RNA.fold\_compound() is free’d with RNA.fold\_compound\_free().
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxcode{\sphinxupquote{void *}}) \textendash{} A pointer to an arbitrary data structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} (\sphinxcode{\sphinxupquote{RNA.auxdata\_free}}) \textendash{} A pointer to function that free’s memory occupied by the arbitrary data (May be NULL)

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.auxdata\_free}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Before attaching the arbitrary data pointer, this function will call the RNA.auxdata\_free() on
any pre\sphinxhyphen{}existing data that is already attached.
\end{sphinxadmonition}

\end{fulllineitems}

\index{add\_callback() (RNA.fold\_compound method)@\spxentry{add\_callback()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.add_callback}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{add\_callback}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Add a recursion status callback to the RNA.fold\_compound().

\sphinxAtStartPar
Binding a recursion status callback function to a RNA.fold\_compound() allows one to perform
arbitrary operations just before, or after an actual recursive computations, e.g. MFE prediction, is
performed by the RNAlib. The callback function will be provided with a pointer to its
RNA.fold\_compound(), and a status message. Hence, it has complete access to all variables that
incluence the recursive computations.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} (\sphinxcode{\sphinxupquote{RNA.recursion\_status}}) \textendash{} The pointer to the recursion status callback function

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.recursion\_status}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.STATUS\_MFE\_PRE}}, \sphinxcode{\sphinxupquote{RNA.STATUS\_MFE\_POST}}, \sphinxcode{\sphinxupquote{RNA.STATUS\_PF\_PRE}}, \sphinxcode{\sphinxupquote{RNA.STATUS\_PF\_POST}}


\end{sphinxseealso}


\end{fulllineitems}

\index{backtrack() (RNA.fold\_compound method)@\spxentry{backtrack()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.backtrack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{backtrack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int length}}}
{{ $\rightarrow$ char}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{backtrack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\sphinxAtStartPar
Backtrack an MFE (sub)structure.

\sphinxAtStartPar
This function allows one to backtrack the MFE structure for a (sub)sequence
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
Requires pre\sphinxhyphen{}filled MFE dynamic programming matrices, i.e. one has to call
RNA.fold\_compound.mfe() prior to
calling this function

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{backtrack()} to objects of type \sphinxtitleref{The Fold
Compound}. The parameter \sphinxtitleref{length} defaults to the total length of the RNA sequence and may be
omitted. The parameter \sphinxtitleref{structure} is returned along with the MFE und must not be provided. See
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.backtrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.backtrack()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The length of the subsequence, starting from the 5’ end

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be
written to. (Must have size of at least \$p length + 1)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The minimum free energy (MFE) for the specified \sphinxtitleref{length} in kcal/mol and a corresponding
secondary structure in dot\sphinxhyphen{}bracket notation (stored in \sphinxtitleref{structure})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On error, the function returns INF / 100. and stores the empty string in \sphinxtitleref{structure}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{benchmark() (RNA.fold\_compound method)@\spxentry{benchmark()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.benchmark}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{benchmark}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string gold}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int fuzzy=0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=8}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.score}]{\sphinxcrossref{score}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{bpp() (RNA.fold\_compound method)@\spxentry{bpp()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.bpp}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{bpp}}}
{\sphinxparam{\DUrole{n}{symmetric}\DUrole{o}{=}\DUrole{default_value}{False}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{centroid() (RNA.fold\_compound method)@\spxentry{centroid()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.centroid}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{centroid}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\sphinxAtStartPar
Get the centroid structure of the ensemble.

\sphinxAtStartPar
The centroid is the structure with the minimal average distance to all other structures
\(<d(S)> = \sum_{(i,j) \in S} (1-p_{ij}) + \sum_{(i,j) \notin S} p_{ij}\)
Thus, the centroid is simply the structure containing all pairs with \(p_{i}j>0.5\) The distance
of the centroid to the ensemble is written to the memory adressed by \sphinxstyleemphasis{dist}.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dist}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} A pointer to the distance variable where the centroid distance will be written to

\sphinxlineitem{Returns}
\sphinxAtStartPar
The centroid structure of the ensemble in dot\sphinxhyphen{}bracket notation (\sphinxtitleref{NULL} on error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{commands\_apply() (RNA.fold\_compound method)@\spxentry{commands\_apply()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.commands_apply}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{commands\_apply}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{cmd commands}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Apply a list of commands to a RNA.fold\_compound().

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{commands\_apply()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.commands_apply}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.commands\_apply()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{commands}} ({\hyperref[\detokenize{api_python:RNA.cmd}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.cmd()}}}}}) \textendash{} The commands to apply

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to limit the type of commands read from the file

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of commands successfully applied

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{constraints\_add() (RNA.fold\_compound method)@\spxentry{constraints\_add()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.constraints_add}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{constraints\_add}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * constraint}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add constraints to a RNA.fold\_compound() data structure.

\sphinxAtStartPar
Use this function to add/update the hard/soft constraints The function allows for passing a string
‘constraint’ that can either be a filename that points to a constraints definition file or it may be
a pseudo dot\sphinxhyphen{}bracket notation indicating hard constraints. For the latter, the user has to pass the
RNA.CONSTRAINT\_DB option. Also, the user has to specify, which characters are allowed to be
interpreted as constraints by passing the corresponding options via the third parameter.

\sphinxAtStartPar
The following is an example for adding hard constraints given in pseudo dot\sphinxhyphen{}bracket notation. Here,
\sphinxtitleref{fc} is the RNA.fold\_compound() object, \sphinxtitleref{structure} is a char array with the hard constraint in
dot\sphinxhyphen{}bracket notation, and \sphinxtitleref{enforceConstraints} is a flag indicating whether or not constraints for
base pairs should be enforced instead of just doing a removal of base pair that conflict with the
constraint.

\sphinxAtStartPar
In constrat to the above, constraints may also be read from file:
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraint}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A string with either the filename of the constraint definitions or a pseudo dot\sphinxhyphen{}bracket notation
of the hard constraint. May be NULL.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The option flags

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_from_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_from\_db}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_up}}}}}, \sphinxcode{\sphinxupquote{RNA.hc\_add\_up\_batch}}, \sphinxcode{\sphinxupquote{RNA.hc\_add\_bp\_unspecific}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_zarringhalam}}}}}, \sphinxcode{\sphinxupquote{RNA.hc\_free}}, \sphinxcode{\sphinxupquote{RNA.sc\_free}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_DEFAULT}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_PIPE}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_DOT}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_X}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_ANG\_BRACK}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_RND\_BRACK}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_INTRAMOL}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_INTERMOL}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_GQUAD}}


\end{sphinxseealso}


\end{fulllineitems}

\index{db\_from\_probs() (RNA.fold\_compound method)@\spxentry{db\_from\_probs()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.db_from_probs}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{db\_from\_probs}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ensemble\_defect() (RNA.fold\_compound method)@\spxentry{ensemble\_defect()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ensemble_defect}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{ensemble\_defect}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute the Ensemble Defect for a given target structure.

\sphinxAtStartPar
This is a wrapper around \sphinxstylestrong{RNA.ensemble\_defect\_pt()}. Given a target structure \(s\), compute
the average dissimilarity of a randomly drawn structure from the ensemble, i.e.:
\begin{equation*}
\begin{split}ED(s) = 1 - \frac{1}{n} \sum_{ij, (i,j) \in s} p_{ij} - \frac{1}{n} \sum_{i}(1 - s_{i})q_{i}\end{split}
\end{equation*}
\sphinxAtStartPar
with sequence length \(n\), the probability \(p_{ij}\) of a base pair \((i,j)\), the
probability \(q_{i} = 1 - \sum_{j} p_{ij}\) of nucleotide \(i\) being unpaired, and the
indicator variable \(s_{i} = 1\) if \(\exists (i,j) \in s\), and \(s_{i} = 0\)
otherwise.
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
The RNA.fold\_compound() input parameter \sphinxtitleref{fc} must contain a valid base pair probability matrix.
This means that partition function and base pair probabilities must have been computed using
\sphinxtitleref{fc} before execution of this function!

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{ensemble\_defect()} to objects of type \sphinxtitleref{fold\_compound}. Note
that the SWIG wrapper takes a structure in dot\sphinxhyphen{}bracket notation and converts it into a pair
table using RNA.ptable\_from\_string(). The resulting pair table is then internally passed to
RNA.ensemble\_defect\_pt(). To control which kind of matching brackets will be used during
conversion, the optional argument \sphinxtitleref{options} can be used. See also the description of
RNA.ptable\_from\_string() for available options. (default: \sphinxtitleref{RNA.BRACKETS\_RND}). See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.ensemble_defect}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ensemble\_defect()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A target structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble defect with respect to the target structure, or \sphinxhyphen{}1. upon failure, e.g. pre\sphinxhyphen{}
conditions are not met

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.pf}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pf}}}}}, \sphinxcode{\sphinxupquote{RNA.pairing\_probs}}, \sphinxcode{\sphinxupquote{RNA.ensemble\_defect\_pt}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_covar\_structure() (RNA.fold\_compound method)@\spxentry{eval\_covar\_structure()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_covar_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_covar\_structure}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the pseudo energy derived by the covariance scores of a set of aligned sequences.

\sphinxAtStartPar
Consensus structure prediction is driven by covariance scores of base pairs in rows of the provided
alignment. This function allows one to retrieve the total amount of this covariance pseudo energy
scores. The RNA.fold\_compound() does not need to contain any DP matrices, but requires all most
basic init values as one would get from a call like this:

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_covar\_structure()} to objects of type \sphinxtitleref{fold\_compound}.
See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_covar_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_covar\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary (consensus) structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The covariance pseudo energy score of the input structure given the input sequence alignment in
kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.fold\_compound\_comparative}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_COMPARATIVE only!
\end{sphinxadmonition}

\end{fulllineitems}

\index{eval\_ext\_hp\_loop() (RNA.fold\_compound method)@\spxentry{eval\_ext\_hp\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_ext_hp_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_ext\_hp\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{eval\_ext\_stem() (RNA.fold\_compound method)@\spxentry{eval\_ext\_stem()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_ext_stem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_ext\_stem}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{eval\_hp\_loop() (RNA.fold\_compound method)@\spxentry{eval\_hp\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_hp_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_hp\_loop}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int j}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_hp\_loop()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_hp_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_hp\_loop()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}

\end{fulllineitems}

\index{eval\_int\_loop() (RNA.fold\_compound method)@\spxentry{eval\_int\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_int_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_int\_loop}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int k}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int l}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_int\_loop()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_int_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_int\_loop()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}

\end{fulllineitems}

\index{eval\_loop\_pt() (RNA.fold\_compound method)@\spxentry{eval\_loop\_pt()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_loop_pt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_loop\_pt}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a loop.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_loop\_pt()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_loop_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_loop\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} position of covering base pair

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} the pair table of the secondary structure

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
free energy of the loop in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_move() (RNA.fold\_compound method)@\spxentry{eval\_move()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_move}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_move}}}
{\sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair).

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is
insertion (opening).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_move()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} first coordinate of base pair

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} second coordinate of base pair

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in kcal/mol (INF / 100. upon any error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move\_pt}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_move\_pt() (RNA.fold\_compound method)@\spxentry{eval\_move\_pt()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_move_pt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_move\_pt}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a move (closing or opening of a base pair).

\sphinxAtStartPar
If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is
insertion (opening).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_move\_pt()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} the pair table of the secondary structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m1}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} first coordinate of base pair

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m2}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} second coordinate of base pair

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
energy change of the move in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_move}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_move}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_structure() (RNA.fold\_compound method)@\spxentry{eval\_structure()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_structure}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA.

\sphinxAtStartPar
This function allows for energy evaluation of a given pair of structure and sequence (alignment).
Model details, energy parameters, and possibly soft constraints are used as provided via the
parameter ‘fc’. The RNA.fold\_compound() does not need to contain any DP matrices, but requires all
most basic init values as one would get from a call like this:

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_structure()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt\_verbose}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound\_comparative}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_covar_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_covar\_structure}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE and RNA.FC\_TYPE\_COMPARATIVE
\end{sphinxadmonition}

\end{fulllineitems}

\index{eval\_structure\_pt() (RNA.fold\_compound method)@\spxentry{eval\_structure\_pt()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_structure_pt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_structure\_pt}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA.

\sphinxAtStartPar
This function allows for energy evaluation of a given sequence/structure pair where the structure is
provided in pair\_table format as obtained from RNA.ptable(). Model details, energy parameters, and
possibly soft constraints are used as provided via the parameter ‘fc’. The fold\_compound does not
need to contain any DP matrices, but all the most basic init values as one would get from a call
like this:

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_structure\_pt()} to objects of type \sphinxtitleref{fold\_compound}.
See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} Secondary structure as pair\_table

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt\_verbose}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_structure\_pt\_verbose() (RNA.fold\_compound method)@\spxentry{eval\_structure\_pt\_verbose()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_structure\_pt\_verbose}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA.

\sphinxAtStartPar
This function is a simplyfied version of RNA.eval\_structure\_simple\_v() that uses the \sphinxstyleemphasis{default}
verbosity level.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_structure\_pt\_verbose()} to objects of type
\sphinxtitleref{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt\_verbose()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} Secondary structure as pair\_table

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle where this function should print to (may be NULL).

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.eval\_structure\_pt\_v}}, {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{eval\_structure\_verbose() (RNA.fold\_compound method)@\spxentry{eval\_structure\_verbose()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{eval\_structure\_verbose}}}
{\sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{nullfile}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the free energy of an already folded RNA and print contributions on a per\sphinxhyphen{}loop base.

\sphinxAtStartPar
This function is a simplyfied version of RNA.eval\_structure\_v() that uses the \sphinxstyleemphasis{default} verbosity
level.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{eval\_structure\_verbose()} to objects of type
\sphinxtitleref{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} A file handle where this function should print to (may be NULL).

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The free energy of the input structure given the input sequence in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_verbose}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.eval_structure_pt_verbose}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_structure\_pt\_verbose}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{exp\_E\_ext\_stem() (RNA.fold\_compound method)@\spxentry{exp\_E\_ext\_stem()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_E_ext_stem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{exp\_E\_ext\_stem}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_E\_hp\_loop() (RNA.fold\_compound method)@\spxentry{exp\_E\_hp\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_E_hp_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{exp\_E\_hp\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_E\_int\_loop() (RNA.fold\_compound method)@\spxentry{exp\_E\_int\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_E_int_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{exp\_E\_int\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_E\_interior\_loop() (RNA.fold\_compound method)@\spxentry{exp\_E\_interior\_loop()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_E_interior_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{exp\_E\_interior\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{k}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_matrices (RNA.fold\_compound property)@\spxentry{exp\_matrices}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id142}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{exp\_matrices}}}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_params (RNA.fold\_compound property)@\spxentry{exp\_params}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id143}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{exp\_params}}}
\pysigstopsignatures
\end{fulllineitems}

\index{exp\_params\_rescale() (RNA.fold\_compound method)@\spxentry{exp\_params\_rescale()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_params_rescale}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{exp\_params\_rescale}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Rescale Boltzmann factors for partition function computations.

\sphinxAtStartPar
This function may be used to (automatically) rescale the Boltzmann factors used in partition
function computations. Since partition functions over subsequences can easily become extremely
large, the RNAlib internally rescales them to avoid numerical over\sphinxhyphen{} and/or underflow. Therefore, a
proper scaling factor \(s\) needs to be chosen that in turn is then used to normalize the
corresponding partition functions \(\hat{q}[i,j] = q[i,j] / s^{(j-i+1)}\).

\sphinxAtStartPar
This function provides two ways to automatically adjust the scaling factor.
\begin{enumerate}
\sphinxsetlistlabels{\arabic}{enumi}{enumii}{}{.}%
\item {} 
\sphinxAtStartPar
Automatic guess

\item {} 
\sphinxAtStartPar
Automatic adjustment according to MFE

\end{enumerate}

\sphinxAtStartPar
Passing \sphinxtitleref{NULL} as second parameter activates the \sphinxstyleemphasis{automatic guess mode}. Here, the scaling factor is
recomputed according to a mean free energy of \sphinxtitleref{184.3*length} cal for random sequences.
On the other hand, if the MFE for a sequence is known, it can be used to recompute a more robust
scaling factor, since it represents the lowest free energy of the entire ensemble of structures,
i.e. the highest Boltzmann factor. To activate this second mode of \sphinxstyleemphasis{automatic adjustment according
to MFE}, a pointer to the MFE value needs to be passed as second argument. This value is then taken
to compute the scaling factor as \(s = exp((sfact * MFE) / kT / length )\), where sfact is an
additional scaling weight located in the RNA.md() data structure of \sphinxtitleref{exp\_params} in \sphinxtitleref{fc}.

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This recomputation only takes place if the \sphinxtitleref{pf\_scale} attribute of the \sphinxtitleref{exp\_params} data structure
contained in \sphinxtitleref{fc} has a value below \sphinxtitleref{1.0}.

\sphinxAtStartPar
The computed scaling factor \(s\) will be stored as \sphinxtitleref{pf\_scale} attribute of the \sphinxtitleref{exp\_params}
data structure in \sphinxtitleref{fc}.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached to RNA.fc() objects as overloaded \sphinxtitleref{exp\_params\_rescale()} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxtitleref{NULL}
as second parameter to RNA.fold\_compound.exp\_params\_rescale(), i.e. default scaling of the
partition
function. Passing an energy in kcal/mol, e.g. as retrieved by a previous call to the \sphinxtitleref{mfe()}
method, instructs all subsequent calls to scale the partition function accordingly. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_rescale}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_rescale()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mfe}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} A pointer to the MFE (in kcal/mol) or NULL

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_subst}}}}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}, {\hyperref[\detokenize{api_python:RNA.exp_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.exp\_param}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{exp\_params\_reset() (RNA.fold\_compound method)@\spxentry{exp\_params\_reset()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_params_reset}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{exp\_params\_reset}}}
{\sphinxparam{\DUrole{n}{md}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Reset Boltzmann factors for partition function computations within a RNA.fold\_compound() according
to provided, or default model details.

\sphinxAtStartPar
This function allows one to rescale Boltzmann factors for subsequent partition function computations
according to a set of model details, e.g. temperature values. To do so, the caller provides either a
pointer to a set of model details to be used for rescaling, or NULL if global default setting should
be used.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached to RNA.fc() objects as overloaded \sphinxtitleref{exp\_params\_reset()} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxtitleref{NULL}
as second parameter to RNA.fold\_compound.exp\_params\_reset(), i.e. global default model settings
are used.
Passing an object of type RNA.md() resets the fold compound according to the specifications
stored within the RNA.md() object. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_reset()}}}}}
in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{RNA.md() *}}) \textendash{} A pointer to the new model details (or NULL for reset to defaults)

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_reset}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_subst}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_rescale}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_rescale}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{exp\_params\_subst() (RNA.fold\_compound method)@\spxentry{exp\_params\_subst()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.exp_params_subst}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{exp\_params\_subst}}}
{\sphinxparam{\DUrole{n}{par}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Update the energy parameters for subsequent partition function computations.

\sphinxAtStartPar
This function can be used to properly assign new energy parameters for partition function
computations to a RNA.fold\_compound(). For this purpose, the data of the provided pointer \sphinxtitleref{params}
will be copied into \sphinxtitleref{fc} and a recomputation of the partition function scaling factor is issued, if
the \sphinxtitleref{pf\_scale} attribute of \sphinxtitleref{params} is less than \sphinxtitleref{1.0}.

\sphinxAtStartPar
Passing NULL as second argument leads to a reset of the energy parameters within fc to their default
values

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached to RNA.fc() objects as overloaded \sphinxtitleref{exp\_params\_subst()} method.

\sphinxAtStartPar
When no parameter is passed, the resulting action is the same as passing \sphinxtitleref{NULL} as second
parameter to RNA.fold\_compound.exp\_params\_subst(), i.e. resetting the parameters to the global
defaults. See,
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_subst()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{params}} (\sphinxcode{\sphinxupquote{RNA.exp\_param() *}}) \textendash{} A pointer to the new energy parameters

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_reset}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_rescale}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_rescale}}}}}, {\hyperref[\detokenize{api_python:RNA.exp_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.exp\_param}}}}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}, \sphinxcode{\sphinxupquote{RNA.exp\_params}}


\end{sphinxseealso}


\end{fulllineitems}

\index{file\_commands\_apply() (RNA.fold\_compound method)@\spxentry{file\_commands\_apply()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.file_commands_apply}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{file\_commands\_apply}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{hc (RNA.fold\_compound property)@\spxentry{hc}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id144}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{hc}}}
\pysigstopsignatures
\end{fulllineitems}

\index{hc\_add\_bp() (RNA.fold\_compound method)@\spxentry{hc\_add\_bp()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc_add_bp}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{hc\_add\_bp}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int option=VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Favorize/Enforce a certain base pair (i,j).
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The 5’ located nucleotide position of the base pair (1\sphinxhyphen{}based)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The 3’ located nucleotide position of the base pair (1\sphinxhyphen{}based)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} (\sphinxcode{\sphinxupquote{unsigned char}}) \textendash{} The options flag indicating how/where to store the hard constraints

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_bp_nonspecific}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_bp\_nonspecific}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init}}}}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_EXT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_HP\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_ENFORCE}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}


\end{sphinxseealso}


\end{fulllineitems}

\index{hc\_add\_bp\_nonspecific() (RNA.fold\_compound method)@\spxentry{hc\_add\_bp\_nonspecific()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc_add_bp_nonspecific}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{hc\_add\_bp\_nonspecific}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int d}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int option=VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Enforce a nucleotide to be paired (upstream/downstream).
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The position that needs to stay unpaired (1\sphinxhyphen{}based)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{d}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The direction of base pairing ( \(d < 0\): pairs upstream, \(d > 0\): pairs downstream,
\(d == 0\): no direction)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} (\sphinxcode{\sphinxupquote{unsigned char}}) \textendash{} The options flag indicating in which loop type context the pairs may appear

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init}}}}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_EXT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_HP\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}


\end{sphinxseealso}


\end{fulllineitems}

\index{hc\_add\_bp\_strand() (RNA.fold\_compound method)@\spxentry{hc\_add\_bp\_strand()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc_add_bp_strand}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{hc\_add\_bp\_strand}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{hc\_add\_from\_db() (RNA.fold\_compound method)@\spxentry{hc\_add\_from\_db()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc_add_from_db}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{hc\_add\_from\_db}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * constraint}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Add hard constraints from pseudo dot\sphinxhyphen{}bracket notation.

\sphinxAtStartPar
This function allows one to apply hard constraints from a pseudo dot\sphinxhyphen{}bracket notation. The \sphinxtitleref{options}
parameter controls, which characters are recognized by the parser. Use the
RNA.CONSTRAINT\_DB\_DEFAULT convenience macro, if you want to allow all known characters

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{hc\_add\_from\_db()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_from_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_from\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraint}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pseudo dot\sphinxhyphen{}bracket notation of the hard constraint.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The option flags

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_PIPE}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_DOT}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_X}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_ANG\_BRACK}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_RND\_BRACK}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_INTRAMOL}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_INTERMOL}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_DB\_GQUAD}}


\end{sphinxseealso}


\end{fulllineitems}

\index{hc\_add\_up() (RNA.fold\_compound method)@\spxentry{hc\_add\_up()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc_add_up}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{hc\_add\_up}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int option=VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Make a certain nucleotide unpaired.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The position that needs to stay unpaired (1\sphinxhyphen{}based)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} (\sphinxcode{\sphinxupquote{unsigned char}}) \textendash{} The options flag indicating how/where to store the hard constraints

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_bp_nonspecific}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_bp\_nonspecific}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init}}}}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_EXT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_HP\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_ALL\_LOOPS}}


\end{sphinxseealso}


\end{fulllineitems}

\index{hc\_add\_up\_strand() (RNA.fold\_compound method)@\spxentry{hc\_add\_up\_strand()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc_add_up_strand}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{hc\_add\_up\_strand}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{hc\_init() (RNA.fold\_compound method)@\spxentry{hc\_init()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.hc_init}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{hc\_init}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Initialize/Reset hard constraints to default values.

\sphinxAtStartPar
This function resets the hard constraints to their default values, i.e. all positions may be
unpaired in all contexts, and base pairs are allowed in all contexts, if they resemble canonical
pairs. Previously set hard constraints will be removed before initialization.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{hc\_init()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_bp_nonspecific}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_bp\_nonspecific}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.hc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_add\_up}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{heat\_capacity() (RNA.fold\_compound method)@\spxentry{heat\_capacity()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.heat_capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{heat\_capacity}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float T\_min=0.}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float T\_max=100.}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float T\_increment=1.}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int mpoints=2}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.HeatCapacityVector}]{\sphinxcrossref{HeatCapacityVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the specific heat for an RNA.

\sphinxAtStartPar
This function computes an RNAs specific heat in a given temperature range from the partition
function by numeric differentiation. The result is returned as a list of pairs of temperature in C
and specific heat in Kcal/(Mol*K).

\sphinxAtStartPar
Users can specify the temperature range for the computation from \sphinxtitleref{T\_min} to \sphinxtitleref{T\_max}, as well as the
increment step size \sphinxtitleref{T\_increment}. The latter also determines how many times the partition function
is computed. Finally, the parameter \sphinxtitleref{mpoints} determines how smooth the curve should be. The
algorithm itself fits a parabola to \(2 \cdot mpoints + 1\) data points to calculate 2nd
derivatives. Increasing this parameter produces a smoother curve.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{heat\_capacity()} to objects of type
\sphinxtitleref{fold\_compound}. If the optional function arguments \sphinxtitleref{T\_min}, \sphinxtitleref{T\_max}, \sphinxtitleref{T\_increment}, and
\sphinxtitleref{mpoints} are omitted, they default to 0.0, 100.0, 1.0 and 2, respectively. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_min}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Lowest temperature in C

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_max}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Highest temperature in C

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_increment}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Stepsize for temperature incrementation in C (a reasonable choice might be 1C)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mpoints}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The number of interpolation points to calculate 2nd derivative (a reasonable choice might be 2,
min: 1, max: 100)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of pairs of temperatures and corresponding heat capacity or \sphinxstyleemphasis{NULL} upon any failure. The
last entry of the list is indicated by a \sphinxstylestrong{temperature} field set to a value smaller than
\sphinxtitleref{T\_min}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.heat\_capacity() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity\_cb}}}}}, {\hyperref[\detokenize{api_python:RNA.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.heat\_capacity}}}}}, {\hyperref[\detokenize{api_python:RNA.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.heat\_capacity}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{heat\_capacity\_cb() (RNA.fold\_compound method)@\spxentry{heat\_capacity\_cb()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.heat_capacity_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{heat\_capacity\_cb}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float T\_min}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float T\_max}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float T\_increment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int mpoints}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the specific heat for an RNA (callback variant).

\sphinxAtStartPar
Similar to RNA.fold\_compound.heat\_capacity(), this function computes an RNAs specific heat in a given temperature
range from the partition function by numeric differentiation. Instead of returning a list of
temperature/specific heat pairs, however, this function returns the individual results through a
callback mechanism. The provided function will be called for each result and passed the
corresponding temperature and specific heat values along with the arbitrary data as provided through
the \sphinxtitleref{data} pointer argument.

\sphinxAtStartPar
Users can specify the temperature range for the computation from \sphinxtitleref{T\_min} to \sphinxtitleref{T\_max}, as well as the
increment step size \sphinxtitleref{T\_increment}. The latter also determines how many times the partition function
is computed. Finally, the parameter \sphinxtitleref{mpoints} determines how smooth the curve should be. The
algorithm itself fits a parabola to \(2 \cdot mpoints + 1\) data points to calculate 2nd
derivatives. Increasing this parameter produces a smoother curve.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{heat\_capacity\_cb()} to objects of type \sphinxtitleref{fold\_compound}.
See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_min}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Lowest temperature in C

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_max}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Highest temperature in C

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_increment}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Stepsize for temperature incrementation in C (a reasonable choice might be 1C)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mpoints}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The number of interpolation points to calculate 2nd derivative (a reasonable choice might be 2,
min: 1, max: 100)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} ({\hyperref[\detokenize{api_python:RNA.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.heat\_capacity}}}}}) \textendash{} The user\sphinxhyphen{}defined callback function that receives the individual results

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxcode{\sphinxupquote{void *}}) \textendash{} An arbitrary data structure that will be passed to the callback in conjunction with the results

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Returns 0 upon failure, and non\sphinxhyphen{}zero otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity}}}}}, {\hyperref[\detokenize{api_python:RNA.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.heat\_capacity}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{iindx (RNA.fold\_compound property)@\spxentry{iindx}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id145}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{iindx}}}
\pysigstopsignatures
\end{fulllineitems}

\index{jindx (RNA.fold\_compound property)@\spxentry{jindx}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id146}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{jindx}}}
\pysigstopsignatures
\end{fulllineitems}

\index{length (RNA.fold\_compound property)@\spxentry{length}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id147}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{length}}}
\pysigstopsignatures
\end{fulllineitems}

\index{matrices (RNA.fold\_compound property)@\spxentry{matrices}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id148}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{matrices}}}
\pysigstopsignatures
\end{fulllineitems}

\index{maxmimum\_matching() (RNA.fold\_compound method)@\spxentry{maxmimum\_matching()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.maxmimum_matching}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{maxmimum\_matching}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{mean\_bp\_distance() (RNA.fold\_compound method)@\spxentry{mean\_bp\_distance()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mean_bp_distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{mean\_bp\_distance}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the mean base pair distance in the thermodynamic ensemble.
\begin{equation*}
\begin{split}<d> = \sum_{a,b} p_{a} p_{b} d(S_{a},S_{b})\end{split}
\end{equation*}
\sphinxAtStartPar
this can be computed from the pair probs \(p_{ij}\) as
\begin{equation*}
\begin{split}<d> = \sum_{ij} p_{ij}(1-p_{ij})\end{split}
\end{equation*}
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{mean\_bp\_distance()} to objects of type \sphinxtitleref{fold\_compound}.
See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mean_bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mean\_bp\_distance()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The mean pair distance of the structure ensemble

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mfe() (RNA.fold\_compound method)@\spxentry{mfe()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mfe}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{mfe}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute minimum free energy and an appropriate secondary structure of an RNA sequence, or RNA
sequence alignment.

\sphinxAtStartPar
Depending on the type of the provided RNA.fold\_compound(), this function predicts the MFE for a
single sequence (or connected component of multiple sequences), or an averaged MFE for a sequence
alignment. If backtracking is activated, it also constructs the corresponding secondary structure,
or consensus structure. Therefore, the second parameter, \sphinxstyleemphasis{structure}, has to point to an allocated
block of memory with a size of at least \(\mathrm{strlen}(\mathrm{sequence})+1\) to store the
backtracked MFE structure. (For consensus structures, this is the length of the alignment + 1. If
\sphinxtitleref{NULL} is passed, no backtracking will be performed.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{Minimum Free Energy (MFE) Algorithms} to objects of type
\sphinxtitleref{The Fold Compound}. The parameter \sphinxtitleref{structure} is returned along with the MFE und must not be
provided. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where the secondary structure in dot\sphinxhyphen{}bracket notation will be
written to (Maybe NULL)

\sphinxlineitem{Returns}
\sphinxAtStartPar
the minimum free energy (MFE) in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold}}}}}, {\hyperref[\detokenize{api_python:RNA.circfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circfold}}}}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound\_comparative}}, {\hyperref[\detokenize{api_python:RNA.alifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.alifold}}}}}, {\hyperref[\detokenize{api_python:RNA.circalifold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.circalifold}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE, and
RNA.FC\_TYPE\_COMPARATIVE.
\end{sphinxadmonition}

\end{fulllineitems}

\index{mfe\_dimer() (RNA.fold\_compound method)@\spxentry{mfe\_dimer()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mfe_dimer}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{mfe\_dimer}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\sphinxAtStartPar
Compute the minimum free energy of two interacting RNA molecules.

\sphinxAtStartPar
The code is analog to the RNA.fold\_compound.mfe() function.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is obsolete since RNA.fold\_compound.mfe() can handle complexes multiple sequences
since v2.5.0.
Use RNA.fold\_compound.mfe() for connected component MFE instead and compute MFEs of unconnected
states
separately.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{mfe\_dimer()} to objects of type \sphinxtitleref{The Fold Compound}. The
parameter \sphinxtitleref{structure} is returned along with the MFE und must not be provided. See e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_dimer}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_dimer()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Will hold the barcket dot structure of the dimer molecule

\sphinxlineitem{Returns}
\sphinxAtStartPar
minimum free energy of the structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{mfe\_window() (RNA.fold\_compound method)@\spxentry{mfe\_window()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mfe_window}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{mfe\_window}}}
{\sphinxparam{\DUrole{n}{nullfile}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach.

\sphinxAtStartPar
Computes minimum free energy structures using a sliding window approach, where base pairs may not
span outside the window. In contrast to RNA.fold\_compound.mfe(), where a maximum base pair span may be set using
the RNA.md().max\_bp\_span attribute and one globally optimal structure is predicted, this function
uses a sliding window to retrieve all locally optimal structures within each window. The size of the
sliding window is set in the RNA.md().window\_size attribute, prior to the retrieval of the
RNA.fold\_compound() using RNA.fold\_compound() with option RNA.OPTION\_WINDOW

\sphinxAtStartPar
The predicted structures are written on\sphinxhyphen{}the\sphinxhyphen{}fly, either to stdout, if a NULL pointer is passed as
file parameter, or to the corresponding filehandle.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{Local (sliding window) MFE Prediction} to
objects of type \sphinxtitleref{The Fold Compound}. The parameter \sphinxtitleref{FILE} has default value of \sphinxtitleref{NULL} and can be
omitted. See e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} The output file handle where predictions are written to (maybe NULL)

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}, {\hyperref[\detokenize{api_python:RNA.Lfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold}}}}}, {\hyperref[\detokenize{api_python:RNA.Lfoldz}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfoldz}}}}}, \sphinxcode{\sphinxupquote{RNA.OPTION\_WINDOW}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{mfe\_window\_cb() (RNA.fold\_compound method)@\spxentry{mfe\_window\_cb()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mfe_window_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{mfe\_window\_cb}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}}
{{ $\rightarrow$ float}}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{mfe\_window\_cb()} to objects of type \sphinxtitleref{The Fold
Compound}. The parameter \sphinxtitleref{data} has default value of \sphinxtitleref{NULL} and can be omitted. See e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{mfe\_window\_zscore() (RNA.fold\_compound method)@\spxentry{mfe\_window\_zscore()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{mfe\_window\_zscore}}}
{\sphinxparam{\DUrole{n}{min\_z}}\sphinxparamcomma \sphinxparam{\DUrole{n}{nullfile}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Local MFE prediction using a sliding window approach (with z\sphinxhyphen{}score cut\sphinxhyphen{}off).

\sphinxAtStartPar
Computes minimum free energy structures using a sliding window approach, where base pairs may not
span outside the window. This function is the z\sphinxhyphen{}score version of RNA.fold\_compound.mfe\_window(), i.e. only
predictions above a certain z\sphinxhyphen{}score cut\sphinxhyphen{}off value are printed. As for RNA.fold\_compound.mfe\_window(), the size of
the sliding window is set in the RNA.md().window\_size attribute, prior to the retrieval of the
RNA.fold\_compound() using RNA.fold\_compound() with option RNA.OPTION\_WINDOW.

\sphinxAtStartPar
The predicted structures are written on\sphinxhyphen{}the\sphinxhyphen{}fly, either to stdout, if a NULL pointer is passed as
file parameter, or to the corresponding filehandle.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{mfe\_window\_zscore()} to objects of type \sphinxtitleref{The
Fold Compound}. The parameter \sphinxtitleref{FILE} has default value of \sphinxtitleref{NULL} and can be omitted. See e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{min\_z}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The minimal z\sphinxhyphen{}score for a predicted structure to appear in the output

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{file}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} The output file handle where predictions are written to (maybe NULL)

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_window_zscore}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_window\_zscore}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe}}}}}, {\hyperref[\detokenize{api_python:RNA.Lfold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfold}}}}}, {\hyperref[\detokenize{api_python:RNA.Lfoldz}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.Lfoldz}}}}}, \sphinxcode{\sphinxupquote{RNA.OPTION\_WINDOW}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{mfe\_window\_zscore\_cb() (RNA.fold\_compound method)@\spxentry{mfe\_window\_zscore\_cb()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.mfe_window_zscore_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{mfe\_window\_zscore\_cb}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double min\_z}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}}
{{ $\rightarrow$ float}}
\pysigstopsignatures
\end{fulllineitems}

\index{move\_neighbor\_diff() (RNA.fold\_compound method)@\spxentry{move\_neighbor\_diff()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.move_neighbor_diff}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{move\_neighbor\_diff}}}
{\sphinxparam{\DUrole{n}{self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{move}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options}\DUrole{o}{=}\DUrole{default_value}{4 | 8}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.varArrayMove}]{\sphinxcrossref{varArrayMove}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{move\_neighbor\_diff}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{varArrayShort pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{move move}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=(4|8)}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Apply a move to a secondary structure and indicate which neighbors have changed consequentially.

\sphinxAtStartPar
Similar to RNA.move\_neighbor\_diff\_cb(), this function applies a move to a secondary structure and
reports back the neighbors of the current structure become affected by this move. Instead of
executing a callback for each of the affected neighbors, this function compiles two lists of
neighbor moves, one that is returned and consists of all moves that are novel or may have changed in
energy, and a second, \sphinxtitleref{invalid\_moves}, that consists of all the neighbor moves that become invalid,
respectively.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} The current structure as pair table

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{move}} ({\hyperref[\detokenize{api_python:RNA.move}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.move()}}}}}) \textendash{} The move to apply

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{invalid\_moves}} (\sphinxcode{\sphinxupquote{RNA.move() **}}) \textendash{} The address of a move list where the function stores those moves that become invalid

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to modify the behavior of this function, .e.g available move set

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of moves that might have changed in energy or are novel compared to the structure before
application of the move

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.move() *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{neighbors() (RNA.fold\_compound method)@\spxentry{neighbors()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.neighbors}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{neighbors}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{varArrayShort pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=(4|8)}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.varArrayMove}]{\sphinxcrossref{varArrayMove}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Generate neighbors of a secondary structure.

\sphinxAtStartPar
This function allows one to generate all structural neighbors (according to a particular move set)
of an RNA secondary structure. The neighborhood is then returned as a list of transitions / moves
required to transform the current structure into the actual neighbor.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{neighbors()} to objects of type
\sphinxtitleref{fold\_compound}. The optional parameter \sphinxtitleref{options} defaults to RNA.MOVESET\_DEFAULT if it is
omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.neighbors}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.neighbors()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} The pair table representation of the structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to modify the behavior of this function, e.g. available move set

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Neighbors as a list of moves / transitions (the last element in the list has both of its fields
set to 0)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.move() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.neighbors\_successive}}, \sphinxcode{\sphinxupquote{RNA.move\_apply}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_INSERTION}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_DELETION}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_SHIFT}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params (RNA.fold\_compound property)@\spxentry{params}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id149}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{params}}}
\pysigstopsignatures
\end{fulllineitems}

\index{params\_reset() (RNA.fold\_compound method)@\spxentry{params\_reset()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.params_reset}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{params\_reset}}}
{\sphinxparam{\DUrole{n}{md}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Reset free energy parameters within a RNA.fold\_compound() according to provided, or default model
details.

\sphinxAtStartPar
This function allows one to rescale free energy parameters for subsequent structure prediction or
evaluation according to a set of model details, e.g. temperature values. To do so, the caller
provides either a pointer to a set of model details to be used for rescaling, or NULL if global
default setting should be used.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached to RNA.fc() objects as overloaded \sphinxtitleref{params\_reset()} method.

\sphinxAtStartPar
When no parameter is passed to this method, the resulting action is the same as passing \sphinxtitleref{NULL}
as second parameter to RNA.fold\_compound.params\_reset(), i.e. global default model settings are
used. Passing
an object of type RNA.md() resets the fold compound according to the specifications stored
within the RNA.md() object. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_reset()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{RNA.md() *}}) \textendash{} A pointer to the new model details (or NULL for reset to defaults)

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.exp_params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.exp\_params\_reset}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_subs}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_subst() (RNA.fold\_compound method)@\spxentry{params\_subst()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.params_subst}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{params\_subst}}}
{\sphinxparam{\DUrole{n}{par}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Update/Reset energy parameters data structure within a RNA.fold\_compound().

\sphinxAtStartPar
Passing NULL as second argument leads to a reset of the energy parameters within fc to their default
values. Otherwise, the energy parameters provided will be copied over into fc.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached to RNA.fc() objects as overloaded \sphinxtitleref{params\_subst()} method.

\sphinxAtStartPar
When no parameter is passed, the resulting action is the same as passing \sphinxtitleref{NULL} as second
parameter to RNA.fold\_compound.params\_subst(), i.e. resetting the parameters to the global
defaults. See,
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.params_subst}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_subst()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{par}} (\sphinxcode{\sphinxupquote{RNA.param() *}}) \textendash{} The energy parameters used to substitute those within fc (Maybe NULL)

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.params_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.params\_reset}}}}}, {\hyperref[\detokenize{api_python:RNA.param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.param}}}}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}, \sphinxcode{\sphinxupquote{RNA.params}}


\end{sphinxseealso}


\end{fulllineitems}

\index{path() (RNA.fold\_compound method)@\spxentry{path()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.path}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{IntVector pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int steps}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.MoveVector}]{\sphinxcrossref{MoveVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{varArrayShort pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int steps}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.MoveVector}]{\sphinxcrossref{MoveVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute a path, store the final structure, and return a list of transition moves from the start to
the final structure.

\sphinxAtStartPar
This function computes, given a start structure in pair table format, a transition path, updates the
pair table to the final structure of the path. Finally, if not requested otherwise by using the
RNA.PATH\_NO\_TRANSITION\_OUTPUT flag in the \sphinxtitleref{options} field, this function returns a list of
individual transitions that lead from the start to the final structure if requested.

\sphinxAtStartPar
The currently available transition paths are
\begin{itemize}
\item {} 
\sphinxAtStartPar
Steepest Descent / Gradient walk (flag: RNA.PATH\_STEEPEST\_DESCENT)

\item {} 
\sphinxAtStartPar
Random walk (flag: RNA.PATH\_RANDOM)

\end{itemize}

\sphinxAtStartPar
The type of transitions must be set through the \sphinxtitleref{options} parameter

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{path()} to objects of type \sphinxtitleref{fold\_compound}.
The optional parameter \sphinxtitleref{options} defaults to RNA.PATH\_DEFAULT if it is omitted. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.path}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} The pair table containing the start structure. Used to update to the final structure after
execution of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to modify the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of transition moves (default), or NULL (if options \& RNA.PATH\_NO\_TRANSITION\_OUTPUT)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.move() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.path_gradient}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_gradient}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.path_random}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_random}}}}}, {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable}}}}}, \sphinxcode{\sphinxupquote{RNA.ptable\_copy}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.PATH\_RANDOM}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_DEFAULT}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_SHIFT}}, \sphinxcode{\sphinxupquote{RNA.PATH\_NO\_TRANSITION\_OUTPUT}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Since the result is written to the input structure you may want to use RNA.ptable\_copy() before
calling this function to keep the initial structure
\end{sphinxadmonition}

\end{fulllineitems}

\index{path\_direct() (RNA.fold\_compound method)@\spxentry{path\_direct()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.path_direct}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path\_direct}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int maxE=INT\_MAX\sphinxhyphen{}1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{path\_options options=None}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.PathVector}]{\sphinxcrossref{PathVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Determine an optimal direct (re\sphinxhyphen{})folding path between two secondary structures.

\sphinxAtStartPar
This function is similar to RNA.path\_direct(), but allows to specify an \sphinxstyleemphasis{upper\sphinxhyphen{}bound} for the
saddle point energy. The underlying algorithms will stop determining an (optimal) (re\sphinxhyphen{})folding path,
if none can be found that has a saddle point below the specified upper\sphinxhyphen{}bound threshold \sphinxtitleref{maxE}.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{path\_direct()} to objects of type
\sphinxtitleref{fold\_compound}. The optional parameter \sphinxtitleref{maxE} defaults to \#INT\_MAX \sphinxhyphen{} 1 if it is omitted, while
the optional parameter \sphinxtitleref{options} defaults to \sphinxtitleref{NULL}. In case the function did not find a path
with \(E_{saddle} < E_{max}\) it returns an empty list. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.path_direct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_direct()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The start structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The target structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{maxE}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Upper bound for the saddle point along the (re\sphinxhyphen{})folding path

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} ({\hyperref[\detokenize{api_python:RNA.path_options}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.path\_options()}}}}}) \textendash{} An options data structure that specifies the path heuristic and corresponding settings (maybe
\sphinxstyleemphasis{NULL})

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An optimal (re\sphinxhyphen{})folding path between the two input structures

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.path() *}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
The argument \sphinxtitleref{maxE} enables one to specify an upper bound, or maximum free energy for the saddle
point between the two input structures. If no path with \(E_{saddle} < E_{max}\) is found, the
function simply returns \sphinxstyleemphasis{NULL}
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.path_direct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_direct}}}}}, {\hyperref[\detokenize{api_python:RNA.path_options_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.path\_options\_findpath}}}}}, \sphinxcode{\sphinxupquote{RNA.path\_options\_free}}, \sphinxcode{\sphinxupquote{RNA.path\_free}}


\end{sphinxseealso}


\end{fulllineitems}

\index{path\_findpath() (RNA.fold\_compound method)@\spxentry{path\_findpath()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.path_findpath}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path\_findpath}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int width=1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int maxE=INT\_MAX\sphinxhyphen{}1}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.PathVector}]{\sphinxcrossref{PathVector}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{path\_findpath\_saddle() (RNA.fold\_compound method)@\spxentry{path\_findpath\_saddle()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.path_findpath_saddle}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path\_findpath\_saddle}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int width=1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int maxE=INT\_MAX}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Find energy of a saddle point between 2 structures (search only direct path).

\sphinxAtStartPar
This function uses an inplementation of the \sphinxstyleemphasis{findpath} algorithm    {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  for near\sphinxhyphen{}
optimal direct refolding path prediction.

\sphinxAtStartPar
Model details, and energy parameters are used as provided via the parameter ‘fc’. The
RNA.fold\_compound() does not require memory for any DP matrices, but requires all most basic init
values as one would get from a call like this:

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{path\_findpath\_saddle()} to objects of type
\sphinxtitleref{fold\_compound}. The optional parameter \sphinxtitleref{width} defaults to 1 if it is omitted, while the
optional parameter \sphinxtitleref{maxE} defaults to INF. In case the function did not find a path with
\(E_{saddle} < E_{max}\) the function returns a \sphinxtitleref{NULL} object, i.e. \sphinxtitleref{undef} for Perl and
\sphinxtitleref{None} for Python. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_findpath_saddle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_findpath\_saddle()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The start structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The target structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} A number specifying how many strutures are being kept at each step during the search

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{maxE}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} An upper bound for the saddle point energy in 10cal/mol

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The saddle energy in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
The argument \sphinxtitleref{maxE} ( \(E_{max}\)) enables one to specify an upper bound, or maximum free energy
for the saddle point between the two input structures. If no path with \(E_{saddle} < E_{max}\)
is found, the function simply returns \sphinxtitleref{maxE}
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.path\_findpath\_saddle}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.path\_findpath}}


\end{sphinxseealso}


\end{fulllineitems}

\index{path\_gradient() (RNA.fold\_compound method)@\spxentry{path\_gradient()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.path_gradient}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path\_gradient}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{IntVector pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.MoveVector}]{\sphinxcrossref{MoveVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path\_gradient}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{varArrayShort pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.MoveVector}]{\sphinxcrossref{MoveVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute a steepest descent / gradient path, store the final structure, and return a list of
transition moves from the start to the final structure.

\sphinxAtStartPar
This function computes, given a start structure in pair table format, a steepest descent path,
updates the pair table to the final structure of the path. Finally, if not requested otherwise by
using the RNA.PATH\_NO\_TRANSITION\_OUTPUT flag in the \sphinxtitleref{options} field, this function returns a list
of individual transitions that lead from the start to the final structure if requested.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{path\_gradient()} to objects of type
\sphinxtitleref{fold\_compound}. The optional parameter \sphinxtitleref{options} defaults to RNA.PATH\_DEFAULT if it is
omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_gradient}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_gradient()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} The pair table containing the start structure. Used to update to the final structure after
execution of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to modify the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of transition moves (default), or NULL (if options \& RNA.PATH\_NO\_TRANSITION\_OUTPUT)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.move() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.path_random}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_random}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.path}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path}}}}}, {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable}}}}}, \sphinxcode{\sphinxupquote{RNA.ptable\_copy}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_SHIFT}}, \sphinxcode{\sphinxupquote{RNA.PATH\_NO\_TRANSITION\_OUTPUT}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Since the result is written to the input structure you may want to use RNA.ptable\_copy() before
calling this function to keep the initial structure
\end{sphinxadmonition}

\end{fulllineitems}

\index{path\_random() (RNA.fold\_compound method)@\spxentry{path\_random()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.path_random}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path\_random}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{IntVector pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int steps}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.MoveVector}]{\sphinxcrossref{MoveVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{path\_random}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{varArrayShort pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int steps}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.MoveVector}]{\sphinxcrossref{MoveVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Generate a random walk / path of a given length, store the final structure, and return a list of
transition moves from the start to the final structure.

\sphinxAtStartPar
This function generates, given a start structure in pair table format, a random walk / path, updates
the pair table to the final structure of the path. Finally, if not requested otherwise by using the
RNA.PATH\_NO\_TRANSITION\_OUTPUT flag in the \sphinxtitleref{options} field, this function returns a list of
individual transitions that lead from the start to the final structure if requested.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{path\_gradient()} to objects of type
\sphinxtitleref{fold\_compound}. The optional parameter \sphinxtitleref{options} defaults to RNA.PATH\_DEFAULT if it is
omitted. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.path_random}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_random()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} The pair table containing the start structure. Used to update to the final structure after
execution of this function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{steps}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The length of the path, i.e. the total number of transitions / moves

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options to modify the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of transition moves (default), or NULL (if options \& RNA.PATH\_NO\_TRANSITION\_OUTPUT)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.move() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.path_gradient}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_gradient}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.path}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path}}}}}, {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable}}}}}, \sphinxcode{\sphinxupquote{RNA.ptable\_copy}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, \sphinxcode{\sphinxupquote{RNA.MOVESET\_SHIFT}}, \sphinxcode{\sphinxupquote{RNA.PATH\_NO\_TRANSITION\_OUTPUT}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Since the result is written to the input structure you may want to use RNA.ptable\_copy() before
calling this function to keep the initial structure
\end{sphinxadmonition}

\end{fulllineitems}

\index{pbacktrack() (RNA.fold\_compound method)@\spxentry{pbacktrack()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pbacktrack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}}
{{ $\rightarrow$ char}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.StringVector}]{\sphinxcrossref{StringVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pbacktrack\_mem nr\_memory}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.StringVector}]{\sphinxcrossref{StringVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack}}}
{\sphinxparam{\DUrole{n}{self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data}\DUrole{o}{=}\DUrole{default_value}{Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options}\DUrole{o}{=}\DUrole{default_value}{0}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}} (\sphinxcode{\sphinxupquote{unsigned int}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{PyFunc}} (\sphinxcode{\sphinxupquote{PyObject *}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxcode{\sphinxupquote{PyObject *}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pbacktrack}}\sphinxstyleliteralstrong{\sphinxupquote{(}}\sphinxstyleliteralstrong{\sphinxupquote{self}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{PyFunc}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_memory}} (\sphinxcode{\sphinxupquote{vrna\_pbacktrack\_mem\_t *}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{int}} (\sphinxstyleliteralemphasis{\sphinxupquote{options=0}}\sphinxstyleliteralemphasis{\sphinxupquote{) }}\sphinxstyleliteralemphasis{\sphinxupquote{\sphinxhyphen{}\textgreater{} unsigned}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{num\_samples}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{PyFunc}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nr\_memory}}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}}

\end{itemize}

\end{description}\end{quote}

\sphinxAtStartPar
Sample a secondary structure from the Boltzmann ensemble according its probability.

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a
secondary structure.

\sphinxAtStartPar
The structure \(s\) with free energy \(E(s)\) is picked from the Boltzmann distributed
ensemble according to its probability
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}\end{split}
\end{equation*}
\sphinxAtStartPar
with partition function \(Z = \sum_{s} exp(-E(s) / kT)\), Boltzmann constant \(k\) and
thermodynamic temperature \(T\).
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxtitleref{fc} with RNA.fold\_compound()
or similar. This can be done easily by passing RNA.fold\_compound() a model details parameter
with RNA.md().uniq\_ML = 1.  RNA.fold\_compound.pf() has to be called first to fill the partition
function
matrices

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{pbacktrack()} to objects of type
\sphinxtitleref{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation (or NULL on error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5}}}}}, \sphinxcode{\sphinxupquote{RNA.pbacktrack\_num}}, \sphinxcode{\sphinxupquote{RNA.pbacktrack\_cb}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE, and
RNA.FC\_TYPE\_COMPARATIVE.
\end{sphinxadmonition}

\end{fulllineitems}

\index{pbacktrack5() (RNA.fold\_compound method)@\spxentry{pbacktrack5()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pbacktrack5}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack5}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int length}}}
{{ $\rightarrow$ char}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack5}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.StringVector}]{\sphinxcrossref{StringVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack5}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pbacktrack\_mem nr\_memory}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.StringVector}]{\sphinxcrossref{StringVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack5}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=0}}}
{{ $\rightarrow$ unsigned int}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack5}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pbacktrack\_mem nr\_memory}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=0}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure of a subsequence from the Boltzmann ensemble according its probability.

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a
secondary structure. The parameter \sphinxtitleref{length} specifies the length of the substructure starting from
the 5’ end.

\sphinxAtStartPar
The structure \(s\) with free energy \(E(s)\) is picked from the Boltzmann distributed
ensemble according to its probability
\begin{equation*}
\begin{split}p(s) = \frac{exp(-E(s) / kT)}{Z}\end{split}
\end{equation*}
\sphinxAtStartPar
with partition function \(Z = \sum_{s} exp(-E(s) / kT)\), Boltzmann constant \(k\) and
thermodynamic temperature \(T\).
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxtitleref{fc} with RNA.fold\_compound()
or similar. This can be done easily by passing RNA.fold\_compound() a model details parameter
with RNA.md().uniq\_ML = 1.  RNA.fold\_compound.pf() has to be called first to fill the partition
function
matrices

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{pbacktrack5()} to objects of type
\sphinxtitleref{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack5}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack5()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The length of the subsequence to consider (starting with 5’ end)

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation (or NULL on error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.pbacktrack5\_num}}, \sphinxcode{\sphinxupquote{RNA.pbacktrack5\_cb}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE, and
RNA.FC\_TYPE\_COMPARATIVE.
\end{sphinxadmonition}

\end{fulllineitems}

\index{pbacktrack\_sub() (RNA.fold\_compound method)@\spxentry{pbacktrack\_sub()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack\_sub}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int end}}}
{{ $\rightarrow$ char}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack\_sub}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int end}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.StringVector}]{\sphinxcrossref{StringVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack\_sub}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int end}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pbacktrack\_mem nr\_memory}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.StringVector}]{\sphinxcrossref{StringVector}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack\_sub}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int end}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=0}}}
{{ $\rightarrow$ unsigned int}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pbacktrack\_sub}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int num\_samples}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int end}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pbacktrack\_mem nr\_memory}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=0}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure of a subsequence from the Boltzmann ensemble according its probability.

\sphinxAtStartPar
Perform a probabilistic (stochastic) backtracing in the partition function DP arrays to obtain a
secondary structure. The parameters \sphinxtitleref{start} and \sphinxtitleref{end} specify the interval \([start:end]\) of
the subsequence with \(1 \leq start < end \leq n\) for sequence length \(n\), the
structure \(s_{start,end}\) should be drawn from.

\sphinxAtStartPar
The resulting substructure \(s_{start,end}\) with free energy \(E(s_{start, end})\) is
picked from the Boltzmann distributed sub ensemble of all structures within the interval
\([start:end]\) according to its probability
\begin{equation*}
\begin{split}p(s_{start,end}) = \frac{exp(-E(s_{start,end}) / kT)}{Z_{start,end}}\end{split}
\end{equation*}
\sphinxAtStartPar
with partition function \(Z_{start,end} = \sum_{s_{start,end}} exp(-E(s_{start,end}) / kT)\),
Boltzmann constant \(k\) and thermodynamic temperature \(T\).
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
Unique multiloop decomposition has to be active upon creation of \sphinxtitleref{fc} with RNA.fold\_compound()
or similar. This can be done easily by passing RNA.fold\_compound() a model details parameter
with RNA.md().uniq\_ML = 1.  RNA.fold\_compound.pf() has to be called first to fill the partition
function
matrices

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{pbacktrack\_sub()} to objects of type
\sphinxstyleemphasis{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack_sub}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack\_sub()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}  and the    {\hyperref[\detokenize{examples/python:boltzmann-sampling}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Boltzmann Sampling}}}}} Python examples .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The start of the subsequence to consider, i.e. 5’\sphinxhyphen{}end position(1\sphinxhyphen{}based)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{end}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The end of the subsequence to consider, i.e. 3’\sphinxhyphen{}end position (1\sphinxhyphen{}based)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation (or NULL on error)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.pbacktrack\_sub\_num}}, \sphinxcode{\sphinxupquote{RNA.pbacktrack\_sub\_cb}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.pbacktrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pbacktrack}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE, and
RNA.FC\_TYPE\_COMPARATIVE.
\end{sphinxadmonition}

\end{fulllineitems}

\index{pf() (RNA.fold\_compound method)@\spxentry{pf()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pf}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pf}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute the partition function \(Q\) for a given RNA sequence, or sequence alignment.

\sphinxAtStartPar
If \sphinxstyleemphasis{structure} is not a NULL pointer on input, it contains on return a string consisting of the
letters “ . , | \{ \} ( ) “ denoting bases that are essentially unpaired, weakly paired, strongly
paired without preference, weakly upstream (downstream) paired, or strongly up\sphinxhyphen{} (down\sphinxhyphen{})stream paired
bases, respectively. If the model’s compute\_bpp is set to 0 base pairing probabilities will not be
computed (saving CPU time), otherwise after calculations took place pr will contain the probability
that bases \sphinxstyleemphasis{i} and \sphinxstyleemphasis{j} pair.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{pf()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.pf}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pf()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A pointer to the character array where position\sphinxhyphen{}wise pairing propensity will be stored. (Maybe
NULL)

\sphinxlineitem{Returns}
\sphinxAtStartPar
The ensemble free energy \(G = -RT \cdot \log(Q)\) in kcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}, {\hyperref[\detokenize{api_python:RNA.pf_fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.pf\_fold}}}}}, \sphinxcode{\sphinxupquote{RNA.pf\_circfold}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound\_comparative}}, \sphinxcode{\sphinxupquote{RNA.pf\_alifold}}, \sphinxcode{\sphinxupquote{RNA.pf\_circalifold}}, \sphinxcode{\sphinxupquote{RNA.db\_from\_probs}}, \sphinxcode{\sphinxupquote{RNA.exp\_params}}, \sphinxcode{\sphinxupquote{RNA.aln\_pinfo}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is polymorphic. It accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE, and
RNA.FC\_TYPE\_COMPARATIVE. Also, this function may return INF / 100. in case of contradicting
constraints or numerical over\sphinxhyphen{}/underflow. In the latter case, a corresponding warning will be issued
to \sphinxtitleref{stdout}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{pf\_dimer() (RNA.fold\_compound method)@\spxentry{pf\_dimer()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pf_dimer}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pf\_dimer}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers.

\sphinxAtStartPar
This is the cofold partition function folding.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{pf\_dimer()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.pf_dimer}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pf\_dimer()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Will hold the structure or constraints

\sphinxlineitem{Returns}
\sphinxAtStartPar
RNA.dimer\_pf() structure containing a set of energies needed for concentration computations.

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.dimer\_pf()}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function may return INF / 100. for the \sphinxtitleref{FA}, \sphinxtitleref{FB}, \sphinxtitleref{FAB}, \sphinxtitleref{F0AB} members of the output data
structure in case of contradicting constraints or numerical over\sphinxhyphen{}/underflow. In the latter case, a
corresponding warning will be issued to \sphinxtitleref{stdout}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{plist\_from\_probs() (RNA.fold\_compound method)@\spxentry{plist\_from\_probs()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.plist_from_probs}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{plist\_from\_probs}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double cutoff}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.ElemProbVector}]{\sphinxcrossref{ElemProbVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Create a RNA.ep() from base pair probability matrix.

\sphinxAtStartPar
The probability matrix provided via the RNA.fold\_compound() is parsed and all pair probabilities
above the given threshold are used to create an entry in the plist

\sphinxAtStartPar
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition
should be used to stop looping over its entries
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cut\_off}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The cutoff value

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the plist that is to be created

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.ep() *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{positional\_entropy() (RNA.fold\_compound method)@\spxentry{positional\_entropy()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.positional_entropy}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{positional\_entropy}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute a vector of positional entropies.

\sphinxAtStartPar
This function computes the positional entropies from base pair probabilities as
\begin{equation*}
\begin{split}S(i) = - \sum_{j} p_{ij} \log(p_{ij}) - q_{i} \log(q_{i})\end{split}
\end{equation*}
\sphinxAtStartPar
with unpaired probabilities \(q_{i} = 1 - \sum_{j} p_{ij}\).

\sphinxAtStartPar
Low entropy regions have little structural flexibility and the reliability of the predicted
structure is high. High entropy implies many structural alternatives. While these alternatives may
be functionally important, they make structure prediction more difficult and thus less reliable.
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
This function requires pre\sphinxhyphen{}computed base pair probabilities! Thus, RNA.fold\_compound.pf() must
be called
beforehand.

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{positional\_entropy()} to objects of type \sphinxtitleref{fold\_compound}.
See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.positional_entropy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.positional\_entropy()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A 1\sphinxhyphen{}based vector of positional entropies \(S(i)\). (position 0 contains the sequence length)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pr\_energy() (RNA.fold\_compound method)@\spxentry{pr\_energy()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pr_energy}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pr\_energy}}}
{\sphinxparam{\DUrole{n}{e}}}
{}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{pr\_energy()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.pr_energy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pr\_energy()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{pr\_structure() (RNA.fold\_compound method)@\spxentry{pr\_structure()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.pr_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{pr\_structure}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute the equilibrium probability of a particular secondary structure.

\sphinxAtStartPar
The probability \(p(s)\) of a particular secondary structure \(s\) can be computed as
\begin{equation*}
\begin{split}p(s) = \frac{exp(-\beta E(s)}{Z}\end{split}
\end{equation*}
\sphinxAtStartPar
from the structures free energy \(E(s)\) and the partition function
\begin{equation*}
\begin{split}Z = \sum_{s} exp(-\beta E(s)),\quad\mathrm{with}\quad\beta = \frac{1}{RT}\end{split}
\end{equation*}
\sphinxAtStartPar
where \(R\) is the gas constant and \(T\) the thermodynamic temperature.
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
The fold compound \sphinxtitleref{fc} must have went through a call to RNA.fold\_compound.pf() to fill the
dynamic
programming matrices with the corresponding partition function.

\end{description}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{pr\_structure()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.pr_structure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.pr\_structure()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure to compute the probability for in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The probability of the input structure (range \([0:1]\))

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{probs\_window() (RNA.fold\_compound method)@\spxentry{probs\_window()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.probs_window}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{probs\_window}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int ulength}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Compute various equilibrium probabilities under a sliding window approach.

\sphinxAtStartPar
This function applies a sliding window scan for the sequence provided with the argument \sphinxtitleref{fc} and
reports back equilibrium probabilities through the callback function \sphinxtitleref{cb}. The data reported to the
callback depends on the \sphinxtitleref{options} flag.

\sphinxAtStartPar
\#\#\#\# Options:
.. note:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
The parameter `ulength` only affects computation and resulting data if unpaired probability
computations are requested through the `options` flag.

*   RNA.PROBS\PYGZus{}WINDOW\PYGZus{}BPP \PYGZhy{}   Trigger base pairing probabilities.
*   RNA.PROBS\PYGZus{}WINDOW\PYGZus{}UP \PYGZhy{}   Trigger unpaired probabilities.
*   RNA.PROBS\PYGZus{}WINDOW\PYGZus{}UP\PYGZus{}SPLIT \PYGZhy{}   Trigger detailed unpaired probabilities split up into different
    loop type contexts.

Options may be OR\PYGZhy{}ed together
\end{sphinxVerbatim}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ulength}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The maximal length of an unpaired segment (only for unpaired probability computations)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} (\sphinxcode{\sphinxupquote{RNA.probs\_window}}) \textendash{} The callback function which collects the pair probability data for further processing

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxcode{\sphinxupquote{void *}}) \textendash{} Some arbitrary data structure that is passed to the callback \sphinxtitleref{cb}

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Option flags to control the behavior of this function

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
0 on failure, non\sphinxhyphen{}zero on success

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.pfl_fold_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.pfl\_fold\_cb}}}}}, {\hyperref[\detokenize{api_python:RNA.pfl_fold_up_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.pfl\_fold\_up\_cb}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{rotational\_symmetry\_db() (RNA.fold\_compound method)@\spxentry{rotational\_symmetry\_db()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.rotational_symmetry_db}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{rotational\_symmetry\_db}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a dot\sphinxhyphen{}bracket structure.

\sphinxAtStartPar
Given a (permutation of multiple) RNA strand(s) and a particular secondary structure in dot\sphinxhyphen{}bracket
notation, compute the degree of rotational symmetry. In case there is only a single linear RNA
strand, the structure always has degree 1, as there are no rotational symmetries due to the
direction of the nucleic acid sequence and the fixed positions of 5’ and 3’ ends. However, for
circular RNAs, rotational symmetries might arise if the sequence consists of a concatenation of
\(k\) identical subsequences.

\sphinxAtStartPar
If the argument \sphinxtitleref{positions} is not \sphinxtitleref{NULL}, the function stores an array of string start positions
for rotational shifts that map the string back onto itself. This array has length of order of
rotational symmetry, i.e. the number returned by this function. The first element \sphinxtitleref{positions\textasciigrave{}{[}0{]}
always contains a shift value of \textasciigrave{}0} representing the trivial rotation.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{rotational\_symmetry\_db()} to objects of type
\sphinxtitleref{fold\_compound} (i.e. RNA.fold\_compound()). Thus, the first argument must be omitted. In
contrast to our C\sphinxhyphen{}implementation, this function doesn’t simply return the order of rotational
symmetry of the secondary structure, but returns the list \sphinxtitleref{position} of cyclic permutation
shifts that result in a rotationally symmetric structure. The length of the list then determines
the order of rotational symmetry. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.rotational_symmetry_db}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.rotational\_symmetry\_db()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The dot\sphinxhyphen{}bracket structure the degree of rotational symmetry is checked for

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{positions}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(list\sphinxhyphen{}like(unsigned int))}}) \textendash{} A pointer to an (undefined) list of alternative string start positions that lead to an identity
mapping (may be NULL)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The degree of rotational symmetry of the \sphinxtitleref{structure} (0 in case of any errors)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry\_db}}, \sphinxcode{\sphinxupquote{RNA.rotational\_symmetry\_pos}}, \sphinxcode{\sphinxupquote{RNA.rotational\_symmetry\_pos\_num}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not forget to release the memory occupied by \sphinxtitleref{positions} after a successful execution of this
function.
\end{sphinxadmonition}

\end{fulllineitems}

\index{sc\_add\_SHAPE\_deigan() (RNA.fold\_compound method)@\spxentry{sc\_add\_SHAPE\_deigan()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_SHAPE\_deigan}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double m}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double b}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Add SHAPE reactivity data as soft constraints (Deigan et al. method).

\sphinxAtStartPar
This approach of SHAPE directed RNA folding uses the simple linear ansatz
\begin{equation*}
\begin{split}\Delta G_{\text{SHAPE}}(i) = m \ln(\text{SHAPE reactivity}(i)+1)+ b\end{split}
\end{equation*}
\sphinxAtStartPar
to convert SHAPE reactivity values to pseudo energies whenever a nucleotide \(i\) contributes to
a stacked pair. A positive slope \(m\) penalizes high reactivities in paired regions, while a
negative intercept \(b\) results in a confirmatory \sphinxstyleemphasis{bonus} free energy for correctly predicted
base pairs. Since the energy evaluation of a base pair stack involves two pairs, the pseudo energies
are added for all four contributing nucleotides. Consequently, the energy term is applied twice for
pairs inside a helix and only once for pairs adjacent to other structures. For all other loop types
the energy model remains unchanged even when the experimental data highly disagrees with a certain
motif.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add\_SHAPE\_deigan()} to objects of type \sphinxtitleref{fold\_compound}.
See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} A vector of normalized SHAPE reactivities

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The slope of the conversion function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The intercept of the conversion function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The options flag indicating how/where to store the soft constraints

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_remove}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_zarringhalam}}}}}, \sphinxcode{\sphinxupquote{RNA.sc\_minimize\_pertubation}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Deigan \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id5}{2009}{]} .
\end{sphinxadmonition}

\end{fulllineitems}

\index{sc\_add\_SHAPE\_deigan\_ali() (RNA.fold\_compound method)@\spxentry{sc\_add\_SHAPE\_deigan\_ali()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan_ali}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_SHAPE\_deigan\_ali}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector shape\_files}}\sphinxparamcomma \sphinxparam{\DUrole{n}{IntVector shape\_file\_association}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double m}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double b}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Add SHAPE reactivity data from files as soft constraints for consensus structure prediction (Deigan
et al. method).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add\_SHAPE\_deigan\_ali()} to objects of type
\sphinxtitleref{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan_ali}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan\_ali()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{shape\_files}} (\sphinxcode{\sphinxupquote{const char **}}) \textendash{} A set of filenames that contain normalized SHAPE reactivity data

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{shape\_file\_association}} (\sphinxcode{\sphinxupquote{const int *}}) \textendash{} An array of integers that associate the files with sequences in the alignment

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The slope of the conversion function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The intercept of the conversion function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The options flag indicating how/where to store the soft constraints

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sc\_add\_SHAPE\_eddy\_2() (RNA.fold\_compound method)@\spxentry{sc\_add\_SHAPE\_eddy\_2()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_eddy_2}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_SHAPE\_eddy\_2}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector unpaired\_data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector paired\_data}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_add\_SHAPE\_zarringhalam() (RNA.fold\_compound method)@\spxentry{sc\_add\_SHAPE\_zarringhalam()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_zarringhalam}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_SHAPE\_zarringhalam}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double b}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double default\_value}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * shape\_conversion}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Add SHAPE reactivity data as soft constraints (Zarringhalam et al. method).

\sphinxAtStartPar
This method first converts the observed SHAPE reactivity of nucleotide \(i\) into a probability
\(q_{i}\) that position \(i\) is unpaired by means of a non\sphinxhyphen{}linear map. Then pseudo\sphinxhyphen{}energies
of the form
\begin{equation*}
\begin{split}\Delta G_{\text{SHAPE}}(x,i) = \beta\ |x_{i} - q_{i}|\end{split}
\end{equation*}
\sphinxAtStartPar
are computed, where \(x_{i}=0\) if position \(i\) is unpaired and \(x_{i}=1\) if
\(i\) is paired in a given secondary structure. The parameter \(\beta\) serves as scaling
factor. The magnitude of discrepancy between prediction and experimental observation is represented
by \(|x_{i} - q_{i}|\).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add\_SHAPE\_zarringhalam()} to objects of type
\sphinxtitleref{fold\_compound}. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_zarringhalam()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} A vector of normalized SHAPE reactivities

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The scaling factor \(\beta\) of the conversion function

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{default\_value}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The default value for a nucleotide where reactivity data is missing for

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{shape\_conversion}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A flag that specifies how to convert reactivities to probabilities

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The options flag indicating how/where to store the soft constraints

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on successful extraction of the method, 0 on errors

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_remove}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan}}}}}, \sphinxcode{\sphinxupquote{RNA.sc\_minimize\_pertubation}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
For further details, we refer to    Zarringhalam \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id6}{2012}{]}
\end{sphinxadmonition}

\end{fulllineitems}

\index{sc\_add\_bp() (RNA.fold\_compound method)@\spxentry{sc\_add\_bp()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_bp}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_bp}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for paired nucleotides.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}
\begin{quote}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{sc\_add\_bp()} to objects of type
\sphinxtitleref{fold\_compound}. The method either takes arguments for a single base pair (i,j) with the
corresponding energy value:
\end{quote}

\sphinxAtStartPar
or an entire 2\sphinxhyphen{}dimensional matrix with dimensions n x n that stores free energy contributions for
any base pair (i,j) with \(1 \leq i < j \leq n\):  In both variants, the optional argument
\sphinxtitleref{options} defaults to RNA.OPTION\_DEFAULT. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bp()}}}}} in
the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The 5’ position of the base pair the soft constraint is added for

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{j}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The 3’ position of the base pair the soft constraint is added for

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The free energy (soft\sphinxhyphen{}constraint) in \(kcal / mol\)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The options flag indicating how/where to store the soft constraints

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_up}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_add\_bt() (RNA.fold\_compound method)@\spxentry{sc\_add\_bt()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_bt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_bt}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Bind a backtracking function pointer for generic soft constraint feature.

\sphinxAtStartPar
This function allows one to easily bind a function pointer to the soft constraint part RNA.sc() of
the RNA.fold\_compound(). The provided function should be used for backtracking purposes in loop
regions that were altered via the generic soft constraint feature. It has to return an array of
RNA.basepair() data structures, were the last element in the list is indicated by a value of \sphinxhyphen{}1 in
it’s i position.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add\_bt()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} (\sphinxcode{\sphinxupquote{RNA.sc\_bt}}) \textendash{} A pointer to the function that returns additional base pairs

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the callback function, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_data}}}}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_exp}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_add\_data() (RNA.fold\_compound method)@\spxentry{sc\_add\_data()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_data}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_data}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * callback=Py\_None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Add an auxiliary data structure for the generic soft constraints callback function.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add\_data()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxcode{\sphinxupquote{void *}}) \textendash{} A pointer to the data structure that holds required data for function ‘f’

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{free\_data}} (\sphinxcode{\sphinxupquote{RNA.auxdata\_free}}) \textendash{} A pointer to a function that free’s the memory occupied by \sphinxtitleref{data} (Maybe NULL)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the data (and free\sphinxhyphen{}function), 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_exp}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bt}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_add\_exp\_f() (RNA.fold\_compound method)@\spxentry{sc\_add\_exp\_f()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_exp_f}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_exp\_f}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Bind a function pointer for generic soft constraint feature (PF version).

\sphinxAtStartPar
This function allows one to easily bind a function pointer and corresponding data structure to the
soft constraint part RNA.sc() of the RNA.fold\_compound(). The function for evaluating the generic
soft constraint feature has to return a pseudo free energy \(\hat{E}\) as Boltzmann factor,
i.e. \(exp(- \hat{E} / kT)\). The required unit for \(E\) is \(cal/mol\).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add\_exp()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.    \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_exp()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{exp}} (\sphinxcode{\sphinxupquote{RNA.sc\_exp}}) \textendash{} A pointer to the function that evaluates the generic soft constraint feature

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the callback function, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bt}}}}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_data}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_add\_f() (RNA.fold\_compound method)@\spxentry{sc\_add\_f()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_f}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_f}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * callback}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Bind a function pointer for generic soft constraint feature (MFE version).

\sphinxAtStartPar
This function allows one to easily bind a function pointer and corresponding data structure to the
soft constraint part RNA.sc() of the RNA.fold\_compound(). The function for evaluating the generic
soft constraint feature has to return a pseudo free energy \(\hat{E}\) in \(dacal/mol\),
where \(1 dacal/mol = 10 cal/mol\).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add()}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{f}} (\sphinxcode{\sphinxupquote{RNA.sc}}) \textendash{} A pointer to the function that evaluates the generic soft constraint feature

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful binding the callback function, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_data}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bt}}}}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_exp}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_add\_hi\_motif() (RNA.fold\_compound method)@\spxentry{sc\_add\_hi\_motif()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_hi_motif}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_hi\_motif}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FLT\_OR\_DBL energy}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for hairpin or internal loop binding motif.

\sphinxAtStartPar
Here is an example that adds a theophylline binding motif. Free energy contribution is derived from
\(k_{d} = 0.1 \mu M\), taken from Jenison et al. 1994. At \(1M\) concentration the
corresponding binding free energy amounts to \(-9.93~kcal/mol\).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_add\_hi\_motif()} to objects of type \sphinxtitleref{fold\_compound}. The
last parameter is optional an defaults to \sphinxtitleref{options} = RNA.OPTION\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_hi_motif}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_hi\_motif()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seq}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The sequence motif (may be interspaced by ‘\&’ character

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The structure motif (may be interspaced by ‘\&’ character

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The free energy of the motif (e.g. binding free energy)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
non\sphinxhyphen{}zero value if application of the motif using soft constraints was successful

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sc\_add\_stack() (RNA.fold\_compound method)@\spxentry{sc\_add\_stack()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_stack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_stack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double energy}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_stack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{UIntVector i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector energies}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_add\_up() (RNA.fold\_compound method)@\spxentry{sc\_add\_up()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_add_up}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_add\_up}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraints for unpaired nucleotides.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}
\begin{quote}

\sphinxAtStartPar
This function is attached as an overloaded method \sphinxtitleref{sc\_add\_up()} to objects of type
\sphinxtitleref{fold\_compound}. The method either takes arguments for a single nucleotide \(i\) with the
corresponding energy value:
\end{quote}

\sphinxAtStartPar
or an entire vector that stores free energy contributions for each nucleotide \(i\) with
\(1 \leq i \leq n\):  In both variants, the optional argument \sphinxtitleref{options} defaults to
RNA.OPTION\_DEFAULT. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_up()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The nucleotide position the soft constraint is added for

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The free energy (soft\sphinxhyphen{}constraint) in \(kcal / mol\)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The options flag indicating how/where to store the soft constraints

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp}}}}}, \sphinxcode{\sphinxupquote{RNA.sc\_add\_up\_comparative}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_init() (RNA.fold\_compound method)@\spxentry{sc\_init()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_init}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_init}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Initialize an empty soft constraints data structure within a RNA.fold\_compound().

\sphinxAtStartPar
This function adds a proper soft constraints data structure to the RNA.fold\_compound() data
structure. If soft constraints already exist within the fold compound, they are removed.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_init()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_init()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_deigan}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_SHAPE_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_SHAPE\_zarringhalam}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_remove}}}}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add}}, \sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_exp}}, \sphinxcode{\sphinxupquote{RNA.sc\_add\_pre}}, \sphinxcode{\sphinxupquote{RNA.sc\_add\_post}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE and RNA.FC\_TYPE\_COMPARATIVE
\end{sphinxadmonition}

\end{fulllineitems}

\index{sc\_mod() (RNA.fold\_compound method)@\spxentry{sc\_mod()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Prepare soft constraint callbacks for modified base as specified in JSON string.

\sphinxAtStartPar
This function takes a RNA.sc\_mod\_param() data structure as obtained from
RNA.sc\_mod\_read\_from\_json() or RNA.sc\_mod\_read\_from\_jsonfile() and prepares all requirements to
acknowledge modified bases as specified in the provided \sphinxtitleref{params} data structure. All subsequent
predictions will treat each modification site special and adjust energy contributions if necessary.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod()} to objects of type \sphinxtitleref{fold\_compound}
with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod()}}}}}
in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{json}} \textendash{} The JSON formatted string with the modified base parameters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_json}}}}}, {\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_jsonfile}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_json}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_jsonfile}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_m6A}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_m6A}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_pseudouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_pseudouridine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_inosine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_inosine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_7DA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_7DA}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_purine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_purine}}}}}, \sphinxcode{\sphinxupquote{RNA.sc\_mod\_dihydrouridine}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_7DA() (RNA.fold\_compound method)@\spxentry{sc\_mod\_7DA()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_7DA}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_7DA}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for 7\sphinxhyphen{}deaza\sphinxhyphen{}adenosine (7DA).

\sphinxAtStartPar
This is a convenience wrapper to add support for 7\sphinxhyphen{}deaza\sphinxhyphen{}adenosine using the soft constraint
callback mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based).
Energy parameter corrections are derived from    Richardson and Znosko {[}\hyperlink{cite.bibliography:id47}{2016}{]} .

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_7DA()} to objects of type \sphinxtitleref{fold\_compound}
with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_7DA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_7DA()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_dihydrouridine() (RNA.fold\_compound method)@\spxentry{sc\_mod\_dihydrouridine()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_dihydrouridine}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_dihydrouridine}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for dihydrouridine.

\sphinxAtStartPar
This is a convenience wrapper to add support for dihydrouridine using the soft constraint callback
mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy
parameter corrections are derived from Rosetta/RECESS predictions.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_dihydrouridine()} to objects of type
\sphinxtitleref{fold\_compound} with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_dihydrouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_dihydrouridine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_inosine() (RNA.fold\_compound method)@\spxentry{sc\_mod\_inosine()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_inosine}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_inosine}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for Inosine.

\sphinxAtStartPar
This is a convenience wrapper to add support for inosine using the soft constraint callback
mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy
parameter corrections are derived from    Wright \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id45}{2007}{]}  and    Wright \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id46}{2018}{]} .

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_inosine()} to objects of type
\sphinxtitleref{fold\_compound} with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_inosine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_inosine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_json() (RNA.fold\_compound method)@\spxentry{sc\_mod\_json()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_json}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_json}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Prepare soft constraint callbacks for modified base as specified in JSON string.

\sphinxAtStartPar
This function prepares all requirements to acknowledge modified bases as specified in the provided
\sphinxtitleref{json} string. All subsequent predictions will treat each modification site special and adjust
energy contributions if necessary.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_json()} to objects of type
\sphinxtitleref{fold\_compound} with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_json()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{json}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The JSON formatted string with the modified base parameters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_jsonfile}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_m6A}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_m6A}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_pseudouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_pseudouridine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_inosine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_inosine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_7DA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_7DA}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_purine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_purine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_dihydrouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_dihydrouridine}}}}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}, \sphinxcode{\sphinxupquote{modified\sphinxhyphen{}bases\sphinxhyphen{}params}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_jsonfile() (RNA.fold\_compound method)@\spxentry{sc\_mod\_jsonfile()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_jsonfile}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_jsonfile}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Prepare soft constraint callbacks for modified base as specified in JSON string.

\sphinxAtStartPar
Similar to RNA.fold\_compound.sc\_mod\_json(), this function prepares all requirements to acknowledge modified bases
as specified in the provided \sphinxtitleref{json} file. All subsequent predictions will treat each modification
site special and adjust energy contributions if necessary.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_jsonfile()} to objects of type
\sphinxtitleref{fold\_compound} with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_jsonfile()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{json}} \textendash{} The JSON formatted string with the modified base parameters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_json}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_m6A}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_m6A}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_pseudouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_pseudouridine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_inosine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_inosine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_7DA}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_7DA}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_purine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_purine}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_dihydrouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_dihydrouridine}}}}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}, \sphinxcode{\sphinxupquote{modified\sphinxhyphen{}bases\sphinxhyphen{}params}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_m6A() (RNA.fold\_compound method)@\spxentry{sc\_mod\_m6A()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_m6A}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_m6A}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for N6\sphinxhyphen{}methyl\sphinxhyphen{}adenosine (m6A).

\sphinxAtStartPar
This is a convenience wrapper to add support for m6A using the soft constraint callback mechanism.
Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy parameter
corrections are derived from    Kierzek \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id44}{2022}{]} .

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_m6A()} to objects of type \sphinxtitleref{fold\_compound}
with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_m6A}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_m6A()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_pseudouridine() (RNA.fold\_compound method)@\spxentry{sc\_mod\_pseudouridine()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_pseudouridine}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_pseudouridine}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for Pseudouridine.

\sphinxAtStartPar
This is a convenience wrapper to add support for pseudouridine using the soft constraint callback
mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy
parameter corrections are derived from    Hudson \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id43}{2013}{]} .

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_pseudouridine()} to objects of type
\sphinxtitleref{fold\_compound} with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_pseudouridine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_pseudouridine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_purine() (RNA.fold\_compound method)@\spxentry{sc\_mod\_purine()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_mod_purine}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_mod\_purine}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add soft constraint callbacks for Purine (a.k.a. nebularine).

\sphinxAtStartPar
This is a convenience wrapper to add support for Purine using the soft constraint callback
mechanism. Modification sites are provided as a list of sequence positions (1\sphinxhyphen{}based). Energy
parameter corrections are derived from    Jolley and Znosko {[}\hyperlink{cite.bibliography:id48}{2017}{]} .

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{sc\_mod\_purine()} to objects of type
\sphinxtitleref{fold\_compound} with default \sphinxtitleref{options} = RNA.SC\_MOD\_DEFAULT. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod_purine}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod\_purine()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{modification\_sites}} (\sphinxcode{\sphinxupquote{const unsigned int *}}) \textendash{} A list of modification site, i.e. positions that contain the modified base (1\sphinxhyphen{}based, last
element in the list indicated by 0)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitvector of options how to handle the input, e.g. RNA.SC\_MOD\_DEFAULT

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Number of sequence positions modified base parameters will be used for

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_FALLBACK}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_CHECK\_UNMOD}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_SILENT}}, \sphinxcode{\sphinxupquote{RNA.SC\_MOD\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_multi\_cb\_add() (RNA.fold\_compound method)@\spxentry{sc\_multi\_cb\_add()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_multi_cb_add}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_multi\_cb\_add}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * f}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * f\_exp=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data\_prepare=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data\_free=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int decomp\_type=0}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_probing() (RNA.fold\_compound method)@\spxentry{sc\_probing()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_probing}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_probing}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{probing\_data data}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Apply probing data (e.g. SHAPE) to guide the structure prediction.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{sc\_probing()} to objects of type \sphinxstylestrong{fold\_compound}. See,
e.g.    {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_probing}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_probing()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} ({\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data()}}}}}) \textendash{} The prepared probing data and probing data integration strategy

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of probing data sets applied, 0 upon any error

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_free}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_free}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_deigan}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_deigan_comparative}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_deigan\_comparative}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_zarringhalam}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_zarringhalam_comparative}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_zarringhalam\_comparative}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_eddy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_eddy}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_eddy_comparative}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_eddy\_comparative}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_remove() (RNA.fold\_compound method)@\spxentry{sc\_remove()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_remove}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_remove}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Remove soft constraints from RNA.fold\_compound().

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_remove()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Accepts RNA.fold\_compound() of type RNA.FC\_TYPE\_SINGLE and RNA.FC\_TYPE\_COMPARATIVE
\end{sphinxadmonition}

\end{fulllineitems}

\index{sc\_set\_bp() (RNA.fold\_compound method)@\spxentry{sc\_set\_bp()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_set_bp}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_set\_bp}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleDoubleVector constraints}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for paired nucleotides.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_set\_bp()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} (\sphinxcode{\sphinxupquote{const FLT\_OR\_DBL **}}) \textendash{} A two\sphinxhyphen{}dimensional array of pseudo free energies in \(kcal / mol\)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The options flag indicating how/where to store the soft constraints

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_up}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxtitleref{constraints}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{sc\_set\_stack() (RNA.fold\_compound method)@\spxentry{sc\_set\_stack()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_set_stack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_set\_stack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector constraints}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_set\_stack}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleDoubleVector constraints}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_set\_up() (RNA.fold\_compound method)@\spxentry{sc\_set\_up()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sc_set_up}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sc\_set\_up}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector constraints}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Set soft constraints for unpaired nucleotides.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{sc\_set\_up()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_up()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{constraints}} (\sphinxcode{\sphinxupquote{const FLT\_OR\_DBL *}}) \textendash{} A vector of pseudo free energies in \(kcal / mol\)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The options flag indicating how/where to store the soft constraints

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on successful application of the constraint, 0 otherwise.

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_up}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_set_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_set\_bp}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_add_bp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_add\_bp}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function replaces any pre\sphinxhyphen{}exisitng soft constraints with the ones supplied in \sphinxtitleref{constraints}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{sequence (RNA.fold\_compound property)@\spxentry{sequence}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id159}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{sequence}}}
\pysigstopsignatures
\end{fulllineitems}

\index{sequence\_add() (RNA.fold\_compound method)@\spxentry{sequence\_add()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequence_add}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sequence\_add}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sequence\_encoding (RNA.fold\_compound property)@\spxentry{sequence\_encoding}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id160}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{sequence\_encoding}}}
\pysigstopsignatures
\end{fulllineitems}

\index{sequence\_encoding2 (RNA.fold\_compound property)@\spxentry{sequence\_encoding2}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id161}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{sequence\_encoding2}}}
\pysigstopsignatures
\end{fulllineitems}

\index{sequence\_prepare() (RNA.fold\_compound method)@\spxentry{sequence\_prepare()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequence_prepare}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sequence\_prepare}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sequence\_remove() (RNA.fold\_compound method)@\spxentry{sequence\_remove()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequence_remove}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sequence\_remove}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sequence\_remove\_all() (RNA.fold\_compound method)@\spxentry{sequence\_remove\_all()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.sequence_remove_all}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{sequence\_remove\_all}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{stack\_prob() (RNA.fold\_compound method)@\spxentry{stack\_prob()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.stack_prob}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{stack\_prob}}}
{\sphinxparam{\DUrole{n}{cutoff}\DUrole{o}{=}\DUrole{default_value}{1e\sphinxhyphen{}05}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute stacking probabilities.

\sphinxAtStartPar
For each possible base pair \((i,j)\), compute the probability of a stack \((i,j)\),
\((i+1, j-1)\).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as overloaded method \sphinxtitleref{stack\_prob()} to objects of type
\sphinxtitleref{fold\_compound}. The optional argument \sphinxtitleref{cutoff} defaults to 1e\sphinxhyphen{}5. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.stack_prob}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.stack\_prob()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cutoff}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} A cutoff value that limits the output to stacks with \(p > \textrm{cutoff}\).

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of stacks with enclosing base pair \((i,j)\) and probabiltiy \(p\)

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.ep() *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strand\_end (RNA.fold\_compound property)@\spxentry{strand\_end}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id162}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{strand\_end}}}
\pysigstopsignatures
\end{fulllineitems}

\index{strand\_number (RNA.fold\_compound property)@\spxentry{strand\_number}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id163}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{strand\_number}}}
\pysigstopsignatures
\end{fulllineitems}

\index{strand\_order (RNA.fold\_compound property)@\spxentry{strand\_order}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id164}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{strand\_order}}}
\pysigstopsignatures
\end{fulllineitems}

\index{strand\_start (RNA.fold\_compound property)@\spxentry{strand\_start}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id165}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{strand\_start}}}
\pysigstopsignatures
\end{fulllineitems}

\index{strands (RNA.fold\_compound property)@\spxentry{strands}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id166}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{strands}}}
\pysigstopsignatures
\end{fulllineitems}

\index{subopt() (RNA.fold\_compound method)@\spxentry{subopt()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.subopt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{subopt}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int delta}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int sorted=1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FILE * nullfile=None}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.SuboptVector}]{\sphinxcrossref{SuboptVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Returns list of subopt structures or writes to fp.

\sphinxAtStartPar
This function produces \sphinxstylestrong{all} suboptimal secondary structures within ‘delta’ * 0.01 kcal/mol of the
optimum, see    Wuchty \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id33}{1999}{]} . The results are either directly written to a ‘fp’ (if ‘fp’
is not NULL), or (fp==NULL) returned in a RNA.subopt\_solution() * list terminated by an entry were
the ‘structure’ member is NULL.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{subopt()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.subopt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}} (\sphinxcode{\sphinxupquote{int}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sorted}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Sort results by energy in ascending order

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} (\sphinxcode{\sphinxupquote{FILE *}})

\end{itemize}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.subopt\_solution() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_cb}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_zuker}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_zuker}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function requires all multibranch loop DP matrices for unique multibranch loop backtracing.
Therefore, the supplied RNA.fold\_compound()\textasciigrave{}fc\textasciigrave{} (argument 1) must be initialized with
RNA.md().uniq\_ML = 1, for instance like this:
\end{sphinxadmonition}

\end{fulllineitems}

\index{subopt\_cb() (RNA.fold\_compound method)@\spxentry{subopt\_cb()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.subopt_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{subopt\_cb}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int delta}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Generate suboptimal structures within an energy band arround the MFE.

\sphinxAtStartPar
This is the most generic implementation of the suboptimal structure generator according to
Wuchty \sphinxstyleemphasis{et al.} {[}\hyperlink{cite.bibliography:id33}{1999}{]} . Identical to RNA.fold\_compound.subopt(), it computes all secondary structures within an
energy band \sphinxtitleref{delta} arround the MFE. However, this function does not print the resulting structures
and their corresponding free energies to a file pointer, or returns them as a list. Instead, it
calls a user\sphinxhyphen{}provided callback function which it passes the structure in dot\sphinxhyphen{}bracket format, the
corresponding free energy in kcal/mol, and a user\sphinxhyphen{}provided data structure each time a structure was
backtracked successfully. This function indicates the final output, i.e. the end of the backtracking
procedure by passing NULL instead of an actual dot\sphinxhyphen{}bracket string to the callback.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{subopt\_cb()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delta}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Energy band arround the MFE in 10cal/mol, i.e. deka\sphinxhyphen{}calories

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cb}} (\sphinxcode{\sphinxupquote{RNA.subopt\_result}}) \textendash{} Pointer to a callback function that handles the backtracked structure and its free energy in
kcal/mol

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxcode{\sphinxupquote{void *}}) \textendash{} Pointer to some data structure that is passed along to the callback

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.subopt\_result}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_zuker}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_zuker}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function requires all multibranch loop DP matrices for unique multibranch loop backtracing.
Therefore, the supplied RNA.fold\_compound()\textasciigrave{}fc\textasciigrave{} (argument 1) must be initialized with
RNA.md().uniq\_ML = 1, for instance like this:
\end{sphinxadmonition}

\end{fulllineitems}

\index{subopt\_zuker() (RNA.fold\_compound method)@\spxentry{subopt\_zuker()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.subopt_zuker}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{subopt\_zuker}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute Zuker type suboptimal structures.

\sphinxAtStartPar
Compute Suboptimal structures according to    Zuker {[}\hyperlink{cite.bibliography:id32}{1989}{]}  , i.e. for every possible base
pair the minimum energy structure containing the resp. base pair. Returns a list of these structures
and their energies.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxstylestrong{subopt\_zuker()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.subopt_zuker}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt\_zuker()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
List of zuker suboptimal structures

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.subopt\_solution() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.subopt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.subopt}}}}}, {\hyperref[\detokenize{api_python:RNA.zukersubopt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{zukersubopt}}}}}, \sphinxcode{\sphinxupquote{zukersubopt\_par}}


\end{sphinxseealso}


\end{fulllineitems}

\index{thisown (RNA.fold\_compound property)@\spxentry{thisown}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type (RNA.fold\_compound property)@\spxentry{type}\spxextra{RNA.fold\_compound property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id170}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\end{fulllineitems}

\index{ud\_add\_motif() (RNA.fold\_compound method)@\spxentry{ud\_add\_motif()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ud_add_motif}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{ud\_add\_motif}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string motif}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double motif\_en}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string name=""}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Add an unstructured domain motif, e.g. for ligand binding.

\sphinxAtStartPar
This function adds a ligand binding motif and the associated binding free energy to the RNA.ud()
attribute of a RNA.fold\_compound(). The motif data will then be used in subsequent secondary
structure predictions. Multiple calls to this function with different motifs append all additional
data to a list of ligands, which all will be evaluated. Ligand motif data can be removed from the
RNA.fold\_compound() again using the RNA.fold\_compound.ud\_remove() function. The loop type parameter allows one
to limit the ligand binding to particular loop type, such as the exterior loop, hairpin loops,
internal loops, or multibranch loops.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{motif}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The sequence motif the ligand binds to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{motif\_en}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The binding free energy of the ligand in kcal/mol

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{motif\_name}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The name/id of the motif (may be \sphinxtitleref{NULL})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{loop\_type}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The loop type the ligand binds to

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.UNSTRUCTURED\_DOMAIN\_EXT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.UNSTRUCTURED\_DOMAIN\_HP\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.UNSTRUCTURED\_DOMAIN\_INT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.UNSTRUCTURED\_DOMAIN\_MB\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.UNSTRUCTURED\_DOMAIN\_ALL\_LOOPS}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_remove}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{ud\_remove() (RNA.fold\_compound method)@\spxentry{ud\_remove()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ud_remove}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{ud\_remove}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Remove ligand binding to unpaired stretches.

\sphinxAtStartPar
This function removes all ligand motifs that were bound to a RNA.fold\_compound() using the
RNA.fold\_compound.ud\_add\_motif() function.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{ud\_remove()} to objects of type \sphinxtitleref{fold\_compound}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.fold_compound.ud_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_remove()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{ud\_set\_data() (RNA.fold\_compound method)@\spxentry{ud\_set\_data()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ud_set_data}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{ud\_set\_data}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * free\_cb=Py\_None}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Attach an auxiliary data structure.

\sphinxAtStartPar
This function binds an arbitrary, auxiliary data structure for user\sphinxhyphen{}implemented ligand binding. The
optional callback \sphinxtitleref{free\_cb} will be passed the bound data structure whenever the
RNA.fold\_compound() is removed from memory to avoid memory leaks.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{ud\_set\_data()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_data()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxcode{\sphinxupquote{void *}}) \textendash{} A pointer to the auxiliary data structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{free\_cb}} (\sphinxcode{\sphinxupquote{RNA.auxdata\_free}}) \textendash{} A pointer to a callback function that free’s memory occupied by \sphinxtitleref{data}

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_prod\_rule\_cb}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_exp_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_exp\_prod\_rule\_cb}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_remove}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{ud\_set\_exp\_prod\_rule\_cb() (RNA.fold\_compound method)@\spxentry{ud\_set\_exp\_prod\_rule\_cb()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ud_set_exp_prod_rule_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{ud\_set\_exp\_prod\_rule\_cb}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * prod\_cb}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * eval\_cb}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Attach production rule for partition function.

\sphinxAtStartPar
This function is the partition function companion of RNA.fold\_compound.ud\_set\_prod\_rule\_cb().

\sphinxAtStartPar
Use it to bind callbacks to (i) fill the \sphinxtitleref{U} production rule dynamic programming matrices and/or
prepare the RNA.unstructured\_domain().data, and (ii) provide a callback to retrieve partition
functions for subsegments \([i,j]\).

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{ud\_set\_exp\_prod\_rule\_cb()} to objects of type
\sphinxtitleref{fold\_compound}. See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_exp_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_exp\_prod\_rule\_cb()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pre\_cb}} (\sphinxcode{\sphinxupquote{RNA.ud\_exp\_production}}) \textendash{} A pointer to a callback function for the \sphinxtitleref{B} production rule

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{exp\_e\_cb}} (\sphinxcode{\sphinxupquote{RNA.ud\_exp}}) \textendash{} A pointer to a callback function that retrieves the partition function for a segment
\([i,j]\) that may be bound by one or more ligands.

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_prod\_rule\_cb}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{ud\_set\_prob\_cb() (RNA.fold\_compound method)@\spxentry{ud\_set\_prob\_cb()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ud_set_prob_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{ud\_set\_prob\_cb}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * setter\_cb}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * getter\_cb}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{ud\_set\_prob\_cb()} to objects of type \sphinxtitleref{fold\_compound}. See,
e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_prob_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_prob\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{ud\_set\_prod\_rule\_cb() (RNA.fold\_compound method)@\spxentry{ud\_set\_prod\_rule\_cb()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.ud_set_prod_rule_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{ud\_set\_prod\_rule\_cb}}}
{\sphinxparam{\DUrole{n}{fold\_compound self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * prod\_cb}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * eval\_cb}}}
{{ $\rightarrow$ PyObject *}}
\pysigstopsignatures
\sphinxAtStartPar
Attach production rule callbacks for free energies computations.

\sphinxAtStartPar
Use this function to bind a user\sphinxhyphen{}implemented grammar extension for unstructured domains.

\sphinxAtStartPar
The callback \sphinxtitleref{e\_cb} needs to evaluate the free energy contribution \(f(i,j)\) of the unpaired
segment \([i,j]\). It will be executed in each of the regular secondary structure production
rules. Whenever the callback is passed the RNA.UNSTRUCTURED\_DOMAIN\_MOTIF flag via its \sphinxtitleref{loop\_type}
parameter the contribution of any ligand that consecutively binds from position \(i\) to
\(j\) (the white box) is requested. Otherwise, the callback usually performs a lookup in the
precomputed \sphinxtitleref{B} matrices. Which \sphinxtitleref{B} matrix is addressed will be indicated by the flags
RNA.UNSTRUCTURED\_DOMAIN\_EXT\_LOOP,
RNA.UNSTRUCTURED\_DOMAIN\_HP\_LOOPRNA.UNSTRUCTURED\_DOMAIN\_INT\_LOOP, and
RNA.UNSTRUCTURED\_DOMAIN\_MB\_LOOP. As their names already imply, they specify exterior loops (\sphinxtitleref{F}
production rule), hairpin loops and internal loops (\sphinxtitleref{C} production rule), and multibranch loops (\sphinxtitleref{M}
and \sphinxtitleref{M1} production rule).

\sphinxAtStartPar
The \sphinxtitleref{pre\_cb} callback will be executed as a pre\sphinxhyphen{}processing step right before the regular secondary
structure rules. Usually one would use this callback to fill the dynamic programming matrices \sphinxtitleref{U}
and preparations of the auxiliary data structure RNA.unstructured\_domain().data

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is attached as method \sphinxtitleref{ud\_set\_prod\_rule\_cb()} to objects of type \sphinxtitleref{fold\_compound}.
See, e.g.   {\hyperref[\detokenize{api_python:RNA.fold_compound.ud_set_prod_rule_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.ud\_set\_prod\_rule\_cb()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pre\_cb}} (\sphinxcode{\sphinxupquote{RNA.ud\_production}}) \textendash{} A pointer to a callback function for the \sphinxtitleref{B} production rule

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{e\_cb}} (\sphinxcode{\sphinxupquote{RNA.ud}}) \textendash{} A pointer to a callback function for free energy evaluation

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{zsc\_compute() (RNA.fold\_compound method)@\spxentry{zsc\_compute()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zsc_compute}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{zsc\_compute}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{e}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{zsc\_compute\_raw() (RNA.fold\_compound method)@\spxentry{zsc\_compute\_raw()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zsc_compute_raw}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{zsc\_compute\_raw}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{e}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{zsc\_filter\_free() (RNA.fold\_compound method)@\spxentry{zsc\_filter\_free()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zsc_filter_free}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{zsc\_filter\_free}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{zsc\_filter\_init() (RNA.fold\_compound method)@\spxentry{zsc\_filter\_init()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zsc_filter_init}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{zsc\_filter\_init}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{zsc\_filter\_on() (RNA.fold\_compound method)@\spxentry{zsc\_filter\_on()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zsc_filter_on}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{zsc\_filter\_on}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{zsc\_filter\_threshold() (RNA.fold\_compound method)@\spxentry{zsc\_filter\_threshold()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zsc_filter_threshold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{zsc\_filter\_threshold}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{zsc\_filter\_update() (RNA.fold\_compound method)@\spxentry{zsc\_filter\_update()}\spxextra{RNA.fold\_compound method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.fold_compound.zsc_filter_update}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{zsc\_filter\_update}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{free\_alifold\_arrays() (in module RNA)@\spxentry{free\_alifold\_arrays()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_alifold_arrays}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_alifold\_arrays}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free the memory occupied by MFE alifold functions.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Usage of this function is discouraged! It only affects memory being free’d that was allocated by
an old API function before. Release of memory occupied by the newly introduced
RNA.fold\_compound() is handled by RNA.fold\_compound\_free()


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.fold\_compound\_free}}


\end{sphinxseealso}


\end{fulllineitems}

\index{free\_arrays() (in module RNA)@\spxentry{free\_arrays()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_arrays}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_arrays}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free arrays for mfe folding.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}See RNA.fold(), RNA.circfold(), or RNA.fold\_compound.mfe() and RNA.fold\_compound() for the usage
of the
new API!

\end{fulllineitems}

\index{free\_co\_arrays() (in module RNA)@\spxentry{free\_co\_arrays()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_co_arrays}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_co\_arrays}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by cofold().

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function will only free memory allocated by a prior call of cofold() or cofold\_par(). See
RNA.fold\_compound.mfe\_dimer() for how to use the new API


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.fc\_destroy}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.mfe_dimer}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mfe\_dimer}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
folding matrices now reside in the fold compound, and should be free’d there
\end{sphinxadmonition}

\end{fulllineitems}

\index{free\_co\_pf\_arrays() (in module RNA)@\spxentry{free\_co\_pf\_arrays()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_co_pf_arrays}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_co\_pf\_arrays}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free the memory occupied by co\_pf\_fold().

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function will be removed for the new API soon! See RNA.fold\_compound.pf\_dimer(),
RNA.fold\_compound(),
and RNA.fold\_compound\_free() for an alternative

\end{fulllineitems}

\index{free\_path() (in module RNA)@\spxentry{free\_path()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_path}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_path}}}
{\sphinxparam{\DUrole{n}{path}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free memory allocated by get\_path() function.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.path\_free() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{path}} (\sphinxcode{\sphinxupquote{RNA.path() *}}) \textendash{} pointer to memory to be freed

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_pf\_arrays() (in module RNA)@\spxentry{free\_pf\_arrays()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_pf_arrays}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_pf\_arrays}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free arrays for the partition function recursions.

\sphinxAtStartPar
Call this function if you want to free all allocated memory associated with the partition function
forward recursion.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}See RNA.fold\_compound() and its related functions for how to free memory occupied by the
dynamic programming matrices

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Successive calls of pf\_fold(), pf\_circ\_fold() already check if they should free any memory from a
previous run.  \sphinxstylestrong{OpenMP notice:}
\begin{quote}

\sphinxAtStartPar
This function should be called before leaving a thread in order to avoid leaking memory
\end{quote}
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Postcondition}}
\sphinxAtStartPar
All memory allocated by pf\_fold\_par(), pf\_fold() or pf\_circ\_fold() will be free’d

\end{description}
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{pf\_fold\_par}}, {\hyperref[\detokenize{api_python:RNA.pf_fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{pf\_fold}}}}}, {\hyperref[\detokenize{api_python:RNA.pf_circ_fold}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{pf\_circ\_fold}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{free\_profile() (in module RNA)@\spxentry{free\_profile()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_profile}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_profile}}}
{\sphinxparam{\DUrole{n}{T}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
free space allocated in Make\_bp\_profile

\sphinxAtStartPar
Backward compatibility only. You can just use plain free()

\end{fulllineitems}

\index{free\_tree() (in module RNA)@\spxentry{free\_tree()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.free_tree}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{free\_tree}}}
{\sphinxparam{\DUrole{n}{t}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free the memory allocated for Tree t.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{t}} (\sphinxcode{\sphinxupquote{Tree *}})

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_aligned\_line() (in module RNA)@\spxentry{get\_aligned\_line()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_aligned_line}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_aligned\_line}}}
{\sphinxparam{\DUrole{n}{arg1}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_centroid\_struct\_pl() (in module RNA)@\spxentry{get\_centroid\_struct\_pl()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_centroid_struct_pl}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_centroid\_struct\_pl}}}
{\sphinxparam{\DUrole{n}{length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dist}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pl}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the centroid structure of the ensemble.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function was renamed to RNA.centroid\_from\_plist()

\end{fulllineitems}

\index{get\_centroid\_struct\_pr() (in module RNA)@\spxentry{get\_centroid\_struct\_pr()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_centroid_struct_pr}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_centroid\_struct\_pr}}}
{\sphinxparam{\DUrole{n}{length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dist}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pr}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the centroid structure of the ensemble.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function was renamed to RNA.centroid\_from\_probs()

\end{fulllineitems}

\index{get\_concentrations() (in module RNA)@\spxentry{get\_concentrations()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_concentrations}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_concentrations}}}
{\sphinxparam{\DUrole{n}{FcAB}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FcAA}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FcBB}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FEA}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FEB}}\sphinxparamcomma \sphinxparam{\DUrole{n}{A0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{BO}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_gquad\_L\_matrix() (in module RNA)@\spxentry{get\_gquad\_L\_matrix()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_gquad_L_matrix}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_gquad\_L\_matrix}}}
{\sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{maxdist}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{g}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_gquad\_ali\_matrix() (in module RNA)@\spxentry{get\_gquad\_ali\_matrix()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_gquad_ali_matrix}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_gquad\_ali\_matrix}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S\_cons}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{a2s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n\_seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_gquad\_matrix() (in module RNA)@\spxentry{get\_gquad\_matrix()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_gquad_matrix}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_gquad\_matrix}}}
{\sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get a triangular matrix prefilled with minimum free energy contributions of G\sphinxhyphen{}quadruplexes.

\sphinxAtStartPar
At each position ij in the matrix, the minimum free energy of any G\sphinxhyphen{}quadruplex delimited by i and j
is stored. If no G\sphinxhyphen{}quadruplex formation is possible, the matrix element is set to INF. Access the
elements in the matrix via matrix{[}indx{[}j{]}+i{]}. To get the integer array indx see get\_jindx().
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{S}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} The encoded sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{P}} (\sphinxcode{\sphinxupquote{RNA.param() *}}) \textendash{} A pointer to the data structure containing the precomputed energy contributions

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the G\sphinxhyphen{}quadruplex contribution matrix

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{get\_jindx}}, \sphinxcode{\sphinxupquote{encode\_sequence}}


\end{sphinxseealso}


\end{fulllineitems}

\index{get\_gquad\_pattern\_pf() (in module RNA)@\spxentry{get\_gquad\_pattern\_pf()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_gquad_pattern_pf}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_gquad\_pattern\_pf}}}
{\sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pf}}\sphinxparamcomma \sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_gquad\_pf\_matrix() (in module RNA)@\spxentry{get\_gquad\_pf\_matrix()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_gquad_pf_matrix}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_gquad\_pf\_matrix}}}
{\sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{scale}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pf}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_gquad\_pf\_matrix\_comparative() (in module RNA)@\spxentry{get\_gquad\_pf\_matrix\_comparative()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_gquad_pf_matrix_comparative}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_gquad\_pf\_matrix\_comparative}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S\_cons}}\sphinxparamcomma \sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{a2s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{scale}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n\_seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pf}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_multi\_input\_line() (in module RNA)@\spxentry{get\_multi\_input\_line()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_multi_input_line}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_multi\_input\_line}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_path() (in module RNA)@\spxentry{get\_path()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_path}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_path}}}
{\sphinxparam{\DUrole{n}{std::string seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int maxkeep}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.PathVector}]{\sphinxcrossref{PathVector}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_plist\_gquad\_from\_db() (in module RNA)@\spxentry{get\_plist\_gquad\_from\_db()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_plist_gquad_from_db}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_plist\_gquad\_from\_db}}}
{\sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pr}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_plist\_gquad\_from\_pr() (in module RNA)@\spxentry{get\_plist\_gquad\_from\_pr()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_plist_gquad_from_pr}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_plist\_gquad\_from\_pr}}}
{\sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{gi}}\sphinxparamcomma \sphinxparam{\DUrole{n}{gj}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q\_gq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{probs}}\sphinxparamcomma \sphinxparam{\DUrole{n}{scale}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pf}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_plist\_gquad\_from\_pr\_max() (in module RNA)@\spxentry{get\_plist\_gquad\_from\_pr\_max()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_plist_gquad_from_pr_max}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_plist\_gquad\_from\_pr\_max}}}
{\sphinxparam{\DUrole{n}{S}}\sphinxparamcomma \sphinxparam{\DUrole{n}{gi}}\sphinxparamcomma \sphinxparam{\DUrole{n}{gj}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q\_gq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{probs}}\sphinxparamcomma \sphinxparam{\DUrole{n}{scale}}\sphinxparamcomma \sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pf}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_pr() (in module RNA)@\spxentry{get\_pr()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_pr}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_pr}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{get\_xy\_coordinates() (in module RNA)@\spxentry{get\_xy\_coordinates()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.get_xy_coordinates}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{get\_xy\_coordinates}}}
{\sphinxparam{\DUrole{n}{char const * structure}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.COORDINATE}]{\sphinxcrossref{COORDINATE}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute nucleotide coordinates for secondary structure plot.

\sphinxAtStartPar
This function takes a secondary structure and computes X\sphinxhyphen{}Y coordinates for each nucleotide that then
can be used to create a structure plot. The parameter \sphinxtitleref{plot\_type} is used to select the underlying
layout algorithm. Currently, the following selections are provided:
\begin{itemize}
\item {} 
\sphinxAtStartPar
RNA.PLOT\_TYPE\_SIMPLE

\item {} 
\sphinxAtStartPar
RNA.PLOT\_TYPE\_NAVIEW

\item {} 
\sphinxAtStartPar
RNA.PLOT\_TYPE\_CIRCULAR

\item {} 
\sphinxAtStartPar
RNA.PLOT\_TYPE\_TURTLE

\item {} 
\sphinxAtStartPar
RNA.PLOT\_TYPE\_PUZZLER

\end{itemize}

\sphinxAtStartPar
Passing an unsupported selection leads to the default algorithm RNA.PLOT\_TYPE\_NAVIEW

\sphinxAtStartPar
Here is a simple example how to use this function, assuming variable \sphinxtitleref{structure} contains a valid
dot\sphinxhyphen{}bracket string:
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{x}} (\sphinxcode{\sphinxupquote{float **}}) \textendash{} The address of a pointer of X coordinates (pointer will point to memory, or NULL on failure)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{y}} (\sphinxcode{\sphinxupquote{float **}}) \textendash{} The address of a pointer of Y coordinates (pointer will point to memory, or NULL on failure)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{plot\_type}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The layout algorithm to be used

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The length of the structure on success, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_coords\_pt}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_simple}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_naview}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_circular}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_turtle}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_puzzler}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
On success, this function allocates memory for X and Y coordinates and assigns the pointers at
addressess \sphinxtitleref{x} and \sphinxtitleref{y} to the corresponding memory locations. It’s the users responsibility to
cleanup this memory after usage!
\end{sphinxadmonition}

\end{fulllineitems}

\index{gettype() (in module RNA)@\spxentry{gettype()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.gettype}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{gettype}}}
{\sphinxparam{\DUrole{n}{ident}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{gmlRNA() (in module RNA)@\spxentry{gmlRNA()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.gmlRNA}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{gmlRNA}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ssfile}}\sphinxparamcomma \sphinxparam{\DUrole{n}{option}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in Graph Meta Language (gml) and write it to a file.

\sphinxAtStartPar
If ‘option’ is an uppercase letter the RNA sequence is used to label nodes, if ‘option’ equals \sphinxstyleemphasis{‘X’}
or \sphinxstyleemphasis{‘x’} the resulting file will coordinates for an initial layout of the graph.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The filename of the gml output

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{option}} (\sphinxcode{\sphinxupquote{char}}) \textendash{} The option flag

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gq\_parse() (in module RNA)@\spxentry{gq\_parse()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.gq_parse}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{gq\_parse}}}
{\sphinxparam{\DUrole{n}{std::string structure}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures
\end{fulllineitems}

\index{hamming() (in module RNA)@\spxentry{hamming()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hamming}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hamming}}}
{\sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate hamming distance between two sequences.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The first sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The second sequence

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The hamming distance between s1 and s2

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{hamming\_bound() (in module RNA)@\spxentry{hamming\_bound()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hamming_bound}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hamming\_bound}}}
{\sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate hamming distance between two sequences up to a specified length.

\sphinxAtStartPar
This function is similar to RNA.hamming\_distance() but instead of comparing both sequences up to
their actual length only the first ‘n’ characters are taken into account
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The first sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s2}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The second sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{n}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The length of the subsequences to consider (starting from the 5’ end)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The hamming distance between s1 and s2

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{hamming\_distance() (in module RNA)@\spxentry{hamming\_distance()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hamming_distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hamming\_distance}}}
{\sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s2}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{hamming\_distance\_bound() (in module RNA)@\spxentry{hamming\_distance\_bound()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hamming_distance_bound}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hamming\_distance\_bound}}}
{\sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{n}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{hc (class in RNA)@\spxentry{hc}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hc}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
The hard constraints data structure.

\sphinxAtStartPar
The content of this data structure determines the decomposition pattern used in the folding
recursions. Attribute ‘matrix’ is used as source for the branching pattern of the decompositions
during all folding recursions. Any entry in matrix{[}i,j{]} consists of the 6 LSB that allows one to
distinguish the following types of base pairs:
\begin{itemize}
\item {} 
\sphinxAtStartPar
in the exterior loop (RNA.CONSTRAINT\_CONTEXT\_EXT\_LOOP)

\item {} 
\sphinxAtStartPar
enclosing a hairpin (RNA.CONSTRAINT\_CONTEXT\_HP\_LOOP)

\item {} 
\sphinxAtStartPar
enclosing an internal loop (RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP)

\item {} 
\sphinxAtStartPar
enclosed by an exterior loop (RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC)

\item {} 
\sphinxAtStartPar
enclosing a multi branch loop (RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP)

\item {} 
\sphinxAtStartPar
enclosed by a multi branch loop (RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC)

\end{itemize}

\sphinxAtStartPar
The four linear arrays ‘up\_xxx’ provide the number of available unpaired nucleotides (including
position i) 3’ of each position in the sequence.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init}}}}}, \sphinxcode{\sphinxupquote{RNA.hc\_free}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_EXT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_HP\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}


\end{sphinxseealso}

\index{type (RNA.hc attribute)@\spxentry{type}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_type\_e}}

\end{description}\end{quote}

\end{fulllineitems}

\index{n (RNA.hc attribute)@\spxentry{n}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.n}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{n}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strands (RNA.hc attribute)@\spxentry{strands}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.strands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strands}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sn (RNA.hc attribute)@\spxentry{sn}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.sn}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sn}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{state (RNA.hc attribute)@\spxentry{state}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.state}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{state}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mx (RNA.hc attribute)@\spxentry{mx}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.mx}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mx}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned char *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{matrix\_local (RNA.hc attribute)@\spxentry{matrix\_local}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.matrix_local}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{matrix\_local}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned char **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_ext (RNA.hc attribute)@\spxentry{up\_ext}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.up_ext}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_ext}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in an exterior loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_hp (RNA.hc attribute)@\spxentry{up\_hp}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.up_hp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_hp}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in a hairpin loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_int (RNA.hc attribute)@\spxentry{up\_int}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.up_int}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_int}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in an internal loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_ml (RNA.hc attribute)@\spxentry{up\_ml}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.up_ml}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_ml}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in a multi branched loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{f (RNA.hc attribute)@\spxentry{f}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.f}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{f}}}
\pysigstopsignatures
\sphinxAtStartPar
A function pointer that returns whether or not a certain decomposition may be evaluated.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{data (RNA.hc attribute)@\spxentry{data}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.data}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{data}}}
\pysigstopsignatures
\sphinxAtStartPar
A pointer to some structure where the user may store necessary data to evaluate its generic hard
constraint function.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{void *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_data (RNA.hc attribute)@\spxentry{free\_data}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.free_data}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{free\_data}}}
\pysigstopsignatures
\sphinxAtStartPar
A pointer to a function to free memory occupied by auxiliary data.

\sphinxAtStartPar
The function this pointer is pointing to will be called upon destruction of the RNA.hc(), and
provided with the RNA.hc().data pointer that may hold auxiliary data. Hence, to avoid leaking
memory, the user may use this pointer to free memory occupied by auxiliary data.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_auxdata\_free\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{depot (RNA.hc attribute)@\spxentry{depot}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.depot}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{depot}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_depot\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_ext (RNA.hc attribute)@\spxentry{eval\_ext}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.eval_ext}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_ext}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_loop\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_hp (RNA.hc attribute)@\spxentry{eval\_hp}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.eval_hp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_hp}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_hp\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_int (RNA.hc attribute)@\spxentry{eval\_int}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.eval_int}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_int}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_int\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_mb (RNA.hc attribute)@\spxentry{eval\_mb}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.eval_mb}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_mb}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_loop\_f}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
The hard constraints data structure.

\sphinxAtStartPar
The content of this data structure determines the decomposition pattern used in the folding
recursions. Attribute ‘matrix’ is used as source for the branching pattern of the decompositions
during all folding recursions. Any entry in matrix{[}i,j{]} consists of the 6 LSB that allows one to
distinguish the following types of base pairs:
\begin{itemize}
\item {} 
\sphinxAtStartPar
in the exterior loop (RNA.CONSTRAINT\_CONTEXT\_EXT\_LOOP)

\item {} 
\sphinxAtStartPar
enclosing a hairpin (RNA.CONSTRAINT\_CONTEXT\_HP\_LOOP)

\item {} 
\sphinxAtStartPar
enclosing an internal loop (RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP)

\item {} 
\sphinxAtStartPar
enclosed by an exterior loop (RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC)

\item {} 
\sphinxAtStartPar
enclosing a multi branch loop (RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP)

\item {} 
\sphinxAtStartPar
enclosed by a multi branch loop (RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC)

\end{itemize}

\sphinxAtStartPar
The four linear arrays ‘up\_xxx’ provide the number of available unpaired nucleotides (including
position i) 3’ of each position in the sequence.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.hc_init}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.hc\_init}}}}}, \sphinxcode{\sphinxupquote{RNA.hc\_free}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_EXT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_HP\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_INT\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP}}, \sphinxcode{\sphinxupquote{RNA.CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC}}


\end{sphinxseealso}

\index{type (RNA.hc attribute)@\spxentry{type}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id171}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_type\_e}}

\end{description}\end{quote}

\end{fulllineitems}

\index{n (RNA.hc attribute)@\spxentry{n}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id172}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{n}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strands (RNA.hc attribute)@\spxentry{strands}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id173}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{strands}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sn (RNA.hc attribute)@\spxentry{sn}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id174}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sn}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{state (RNA.hc attribute)@\spxentry{state}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id175}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{state}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mx (RNA.hc attribute)@\spxentry{mx}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id176}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mx}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned char *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{matrix\_local (RNA.hc attribute)@\spxentry{matrix\_local}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id177}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{matrix\_local}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned char **}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_ext (RNA.hc attribute)@\spxentry{up\_ext}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id178}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_ext}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in an exterior loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_hp (RNA.hc attribute)@\spxentry{up\_hp}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id179}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_hp}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in a hairpin loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_int (RNA.hc attribute)@\spxentry{up\_int}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id180}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_int}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in an internal loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{up\_ml (RNA.hc attribute)@\spxentry{up\_ml}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id181}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{up\_ml}}}
\pysigstopsignatures
\sphinxAtStartPar
A linear array that holds the number of allowed unpaired nucleotides in a multi branched loop.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(unsigned int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{f (RNA.hc attribute)@\spxentry{f}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id182}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{f}}}
\pysigstopsignatures
\sphinxAtStartPar
A function pointer that returns whether or not a certain decomposition may be evaluated.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{data (RNA.hc attribute)@\spxentry{data}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id183}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{data}}}
\pysigstopsignatures
\sphinxAtStartPar
A pointer to some structure where the user may store necessary data to evaluate its generic hard
constraint function.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{void *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{free\_data (RNA.hc attribute)@\spxentry{free\_data}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id184}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{free\_data}}}
\pysigstopsignatures
\sphinxAtStartPar
A pointer to a function to free memory occupied by auxiliary data.

\sphinxAtStartPar
The function this pointer is pointing to will be called upon destruction of the RNA.hc(), and
provided with the RNA.hc().data pointer that may hold auxiliary data. Hence, to avoid leaking
memory, the user may use this pointer to free memory occupied by auxiliary data.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_auxdata\_free\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{depot (RNA.hc attribute)@\spxentry{depot}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id185}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{depot}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_depot\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_ext (RNA.hc attribute)@\spxentry{eval\_ext}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id186}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_ext}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_loop\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_hp (RNA.hc attribute)@\spxentry{eval\_hp}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id187}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_hp}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_hp\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_int (RNA.hc attribute)@\spxentry{eval\_int}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id188}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_int}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_int\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{eval\_mb (RNA.hc attribute)@\spxentry{eval\_mb}\spxextra{RNA.hc attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id189}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{eval\_mb}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_hc\_eval\_loop\_f}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mx (RNA.hc property)@\spxentry{mx}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id190}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{mx}}}
\pysigstopsignatures
\end{fulllineitems}

\index{n (RNA.hc property)@\spxentry{n}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id191}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{n}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.hc property)@\spxentry{thisown}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hc.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type (RNA.hc property)@\spxentry{type}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id192}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\end{fulllineitems}

\index{up\_ext (RNA.hc property)@\spxentry{up\_ext}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id193}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{up\_ext}}}
\pysigstopsignatures
\end{fulllineitems}

\index{up\_hp (RNA.hc property)@\spxentry{up\_hp}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id194}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{up\_hp}}}
\pysigstopsignatures
\end{fulllineitems}

\index{up\_int (RNA.hc property)@\spxentry{up\_int}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id195}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{up\_int}}}
\pysigstopsignatures
\end{fulllineitems}

\index{up\_ml (RNA.hc property)@\spxentry{up\_ml}\spxextra{RNA.hc property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id196}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{up\_ml}}}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{heat\_capacity() (in module RNA)@\spxentry{heat\_capacity()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.heat_capacity}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{heat\_capacity}}}
{\sphinxparam{\DUrole{n}{sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T\_min}\DUrole{o}{=}\DUrole{default_value}{0.0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T\_max}\DUrole{o}{=}\DUrole{default_value}{100.0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T\_increment}\DUrole{o}{=}\DUrole{default_value}{1.0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{mpoints}\DUrole{o}{=}\DUrole{default_value}{2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute the specific heat for an RNA (simplified variant).

\sphinxAtStartPar
Similar to RNA.fold\_compound.heat\_capacity(), this function computes an RNAs specific heat in a given temperature
range from the partition function by numeric differentiation. This simplified version, however, only
requires the RNA sequence as input instead of a RNA.fold\_compound() data structure. The result is
returned as a list of pairs of temperature in C and specific heat in Kcal/(Mol*K).

\sphinxAtStartPar
Users can specify the temperature range for the computation from \sphinxtitleref{T\_min} to \sphinxtitleref{T\_max}, as well as the
increment step size \sphinxtitleref{T\_increment}. The latter also determines how many times the partition function
is computed. Finally, the parameter \sphinxtitleref{mpoints} determines how smooth the curve should be. The
algorithm itself fits a parabola to \(2 \cdot mpoints + 1\) data points to calculate 2nd
derivatives. Increasing this parameter produces a smoother curve.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{heat\_capacity()}. If the optional function
arguments \sphinxtitleref{T\_min}, \sphinxtitleref{T\_max}, \sphinxtitleref{T\_increment}, and \sphinxtitleref{mpoints} are omitted, they default to 0.0,
100.0, 1.0 and 2, respectively. See, e.g.   \sphinxcode{\sphinxupquote{RNA.head\_capacity()}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence input (must be uppercase)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_min}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Lowest temperature in C

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_max}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Highest temperature in C

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T\_increment}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} Stepsize for temperature incrementation in C (a reasonable choice might be 1C)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{mpoints}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The number of interpolation points to calculate 2nd derivative (a reasonable choice might be 2,
min: 1, max: 100)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of pairs of temperatures and corresponding heat capacity or \sphinxstyleemphasis{NULL} upon any failure. The
last entry of the list is indicated by a \sphinxstylestrong{temperature} field set to a value smaller than
\sphinxtitleref{T\_min}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.heat\_capacity() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.heat_capacity_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.heat\_capacity\_cb}}}}}, {\hyperref[\detokenize{api_python:RNA.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.heat\_capacity}}}}}, {\hyperref[\detokenize{api_python:RNA.heat_capacity}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.heat\_capacity}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{heat\_capacity\_result (class in RNA)@\spxentry{heat\_capacity\_result}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.heat_capacity_result}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{heat\_capacity\_result}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{heat\_capacity (RNA.heat\_capacity\_result property)@\spxentry{heat\_capacity}\spxextra{RNA.heat\_capacity\_result property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.heat_capacity_result.heat_capacity}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{heat\_capacity}}}
\pysigstopsignatures
\end{fulllineitems}

\index{temperature (RNA.heat\_capacity\_result property)@\spxentry{temperature}\spxextra{RNA.heat\_capacity\_result property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.heat_capacity_result.temperature}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.heat\_capacity\_result property)@\spxentry{thisown}\spxextra{RNA.heat\_capacity\_result property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.heat_capacity_result.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{hx (class in RNA)@\spxentry{hx}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hx}}}
{\sphinxparam{\DUrole{n}{start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{end}}\sphinxparamcomma \sphinxparam{\DUrole{n}{length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{up5}\DUrole{o}{=}\DUrole{default_value}{0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{up3}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{end (RNA.hx property)@\spxentry{end}\spxextra{RNA.hx property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx.end}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{end}}}
\pysigstopsignatures
\end{fulllineitems}

\index{length (RNA.hx property)@\spxentry{length}\spxextra{RNA.hx property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx.length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{length}}}
\pysigstopsignatures
\end{fulllineitems}

\index{start (RNA.hx property)@\spxentry{start}\spxextra{RNA.hx property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx.start}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{start}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.hx property)@\spxentry{thisown}\spxextra{RNA.hx property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{up3 (RNA.hx property)@\spxentry{up3}\spxextra{RNA.hx property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx.up3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{up3}}}
\pysigstopsignatures
\end{fulllineitems}

\index{up5 (RNA.hx property)@\spxentry{up5}\spxextra{RNA.hx property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx.up5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{up5}}}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{hx\_from\_ptable() (in module RNA)@\spxentry{hx\_from\_ptable()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx_from_ptable}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hx\_from\_ptable}}}
{\sphinxparam{\DUrole{n}{IntVector pt}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.HelixVector}]{\sphinxcrossref{HelixVector}}}}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hx\_from\_ptable}}}
{\sphinxparam{\DUrole{n}{varArrayShort pt}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.HelixVector}]{\sphinxcrossref{HelixVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Convert a pair table representation of a secondary structure into a helix list.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} The secondary structure in pair table representation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The secondary structure represented as a helix list

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.hx() *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{hx\_merge() (in module RNA)@\spxentry{hx\_merge()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.hx_merge}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{hx\_merge}}}
{\sphinxparam{\DUrole{n}{list}}\sphinxparamcomma \sphinxparam{\DUrole{n}{maxdist}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{init\_pf\_circ\_fold() (in module RNA)@\spxentry{init\_pf\_circ\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.init_pf_circ_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{init\_pf\_circ\_fold}}}
{\sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{init\_pf\_fold() (in module RNA)@\spxentry{init\_pf\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.init_pf_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{init\_pf\_fold}}}
{\sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Allocate space for pf\_fold().

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is obsolete and will be removed soon!

\end{fulllineitems}

\index{init\_rand() (in module RNA)@\spxentry{init\_rand()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.init_rand}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{init\_rand}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Initialize the random number generator with a pre\sphinxhyphen{}defined seed.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as an overloaded function \sphinxstylestrong{init\_rand()} where the argument \sphinxtitleref{seed}
is optional. See, e.g.   {\hyperref[\detokenize{api_python:RNA.init_rand}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.init\_rand()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{seed}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The seed for the random number generator

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.init_rand}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.init\_rand}}}}}, {\hyperref[\detokenize{api_python:RNA.urn}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.urn}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{initialize\_cofold() (in module RNA)@\spxentry{initialize\_cofold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.initialize_cofold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{initialize\_cofold}}}
{\sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
allocate arrays for folding

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2.}}

\end{fulllineitems}

\index{intArray (class in RNA)@\spxentry{intArray}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.intArray}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{intArray}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{cast() (RNA.intArray method)@\spxentry{cast()}\spxextra{RNA.intArray method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.intArray.cast}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{cast}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{frompointer() (RNA.intArray static method)@\spxentry{frompointer()}\spxextra{RNA.intArray static method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.intArray.frompointer}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{static}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{frompointer}}}
{\sphinxparam{\DUrole{n}{t}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.intArray property)@\spxentry{thisown}\spxextra{RNA.intArray property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.intArray.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{intP\_getitem() (in module RNA)@\spxentry{intP\_getitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.intP_getitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{intP\_getitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{intP\_setitem() (in module RNA)@\spxentry{intP\_setitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.intP_setitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{intP\_setitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}\sphinxparamcomma \sphinxparam{\DUrole{n}{value}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{int\_urn() (in module RNA)@\spxentry{int\_urn()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.int_urn}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{int\_urn}}}
{\sphinxparam{\DUrole{n}{\_from}}\sphinxparamcomma \sphinxparam{\DUrole{n}{to}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Generates a pseudo random integer in a specified range.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{from}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The first number in range

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{to}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The last number in range

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pseudo random number in range {[}from, to{]}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.urn}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.urn}}}}}, {\hyperref[\detokenize{api_python:RNA.init_rand}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.init\_rand}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{inverse\_fold() (in module RNA)@\spxentry{inverse\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.inverse_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{inverse\_fold}}}
{\sphinxparam{\DUrole{n}{char * start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * target}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\sphinxAtStartPar
Find sequences with predefined structure.

\sphinxAtStartPar
This function searches for a sequence with minimum free energy structure provided in the parameter
‘target’, starting with sequence ‘start’. It returns 0 if the search was successful, otherwise a
structure distance in terms of the energy difference between the search result and the actual target
‘target’ is returned. The found sequence is returned in ‘start’. If give\_up is set to 1, the
function will return as soon as it is clear that the search will be unsuccessful, this speeds up the
algorithm if you are only interested in exact solutions.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The start sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{target}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The target secondary structure in dot\sphinxhyphen{}bracket notation

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The distance to the target in case a search was unsuccessful, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{inverse\_pf\_fold() (in module RNA)@\spxentry{inverse\_pf\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.inverse_pf_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{inverse\_pf\_fold}}}
{\sphinxparam{\DUrole{n}{char * start}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * target}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\sphinxAtStartPar
Find sequence that maximizes probability of a predefined structure.

\sphinxAtStartPar
This function searches for a sequence with maximum probability to fold into the provided structure
‘target’ using the partition function algorithm. It returns \(-kT \cdot \log(p)\) where
\(p\) is the frequency of ‘target’ in the ensemble of possible structures. This is usually much
slower than inverse\_fold().
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{start}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The start sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{target}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The target secondary structure in dot\sphinxhyphen{}bracket notation

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The distance to the target in case a search was unsuccessful, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{last\_parameter\_file() (in module RNA)@\spxentry{last\_parameter\_file()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.last_parameter_file}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{last\_parameter\_file}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the file name of the parameter file that was most recently loaded.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The file name of the last parameter file, or NULL if parameters are still at defaults

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{log\_cb\_add() (in module RNA)@\spxentry{log\_cb\_add()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_cb_add}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_cb\_add}}}
{\sphinxparam{\DUrole{n}{PyObject * callback}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data\_release=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{vrna\_log\_levels\_e level=VRNA\_LOG\_LEVEL\_WARNING}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures
\end{fulllineitems}

\index{log\_cb\_add\_pycallback() (in module RNA)@\spxentry{log\_cb\_add\_pycallback()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_cb_add_pycallback}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_cb\_add\_pycallback}}}
{\sphinxparam{\DUrole{n}{PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyFuncOrNone}}\sphinxparamcomma \sphinxparam{\DUrole{n}{level}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{log\_cb\_num() (in module RNA)@\spxentry{log\_cb\_num()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_cb_num}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_cb\_num}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the current number of log message callbacks.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The current number of log message callbacks stored in the logging system

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{size()}}

\end{description}\end{quote}

\end{fulllineitems}

\index{log\_fp() (in module RNA)@\spxentry{log\_fp()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_fp}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_fp}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the output file pointer for the default logging system.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The file pointer where the default logging system will print log messages to

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{FILE *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{log\_fp\_set() (in module RNA)@\spxentry{log\_fp\_set()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_fp_set}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_fp\_set}}}
{\sphinxparam{\DUrole{n}{fp}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Set the output file pointer for the default logging system.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fp}} (\sphinxcode{\sphinxupquote{FILE *}}) \textendash{} The file pointer where the default logging system should print log messages to

\end{description}\end{quote}

\end{fulllineitems}

\index{log\_level() (in module RNA)@\spxentry{log\_level()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_level}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_level}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the current default log level.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The current default log level

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.log\_levels}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.log_level_set}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.log\_level\_set}}}}}, \sphinxcode{\sphinxupquote{RNA.log\_levels}}


\end{sphinxseealso}


\end{fulllineitems}

\index{log\_level\_set() (in module RNA)@\spxentry{log\_level\_set()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_level_set}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_level\_set}}}
{\sphinxparam{\DUrole{n}{level}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Set the default log level.

\sphinxAtStartPar
Set the log level for the default log output system. Any user\sphinxhyphen{}defined log callback mechanism will
not be affected…
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{level}} (\sphinxcode{\sphinxupquote{RNA.log\_levels}}) \textendash{} The new log level for the default logging system

\sphinxlineitem{Returns}
\sphinxAtStartPar
The (updated) log level of the default logging system

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.log_level}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.log\_level}}}}}, \sphinxcode{\sphinxupquote{RNA.log\_levels}}, {\hyperref[\detokenize{api_python:RNA.log_cb_add}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.log\_cb\_add}}}}}, {\hyperref[\detokenize{api_python:RNA.log_reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.log\_reset}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{log\_options() (in module RNA)@\spxentry{log\_options()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_options}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_options}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the current log options of the default logging system.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
The current options for the default logging system

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.log_options_set}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.log\_options\_set}}}}}, \sphinxcode{\sphinxupquote{RNA.LOG\_OPTION\_QUIET}}, \sphinxcode{\sphinxupquote{RNA.LOG\_OPTION\_TRACE\_TIMERNA.LOG\_OPTION\_TRACE\_CALL}}, \sphinxcode{\sphinxupquote{RNA.LOG\_OPTION\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{log\_options\_set() (in module RNA)@\spxentry{log\_options\_set()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_options_set}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_options\_set}}}
{\sphinxparam{\DUrole{n}{options}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Set the log options for the default logging system.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The new options for the default logging system

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.log_options}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.log\_options}}}}}, \sphinxcode{\sphinxupquote{RNA.LOG\_OPTION\_QUIET}}, \sphinxcode{\sphinxupquote{RNA.LOG\_OPTION\_TRACE\_TIMERNA.LOG\_OPTION\_TRACE\_CALL}}, \sphinxcode{\sphinxupquote{RNA.LOG\_OPTION\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{log\_reset() (in module RNA)@\spxentry{log\_reset()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.log_reset}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{log\_reset}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Reset the logging system.

\sphinxAtStartPar
This resets the logging system and restores default settings

\end{fulllineitems}

\index{loop\_energy() (in module RNA)@\spxentry{loop\_energy()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.loop_energy}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{loop\_energy}}}
{\sphinxparam{\DUrole{n}{ptable}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s}}\sphinxparamcomma \sphinxparam{\DUrole{n}{s1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate energy of a loop.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.eval\_loop\_pt() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} the pair table of the secondary structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{s1}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} encoded RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{i}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} position of covering base pair

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
free energy of the loop in 10cal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.eval_loop_pt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.eval\_loop\_pt}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{loopidx\_from\_ptable() (in module RNA)@\spxentry{loopidx\_from\_ptable()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.loopidx_from_ptable}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{loopidx\_from\_ptable}}}
{\sphinxparam{\DUrole{n}{IntVector pt}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.IntVector}]{\sphinxcrossref{IntVector}}}}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{loopidx\_from\_ptable}}}
{\sphinxparam{\DUrole{n}{varArrayShort pt}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.varArrayInt}]{\sphinxcrossref{varArrayInt}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Get a loop index representation of a structure.

\end{fulllineitems}

\index{make\_loop\_index() (in module RNA)@\spxentry{make\_loop\_index()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.make_loop_index}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{make\_loop\_index}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{make\_tree() (in module RNA)@\spxentry{make\_tree()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.make_tree}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{make\_tree}}}
{\sphinxparam{\DUrole{n}{struc}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Constructs a Tree ( essentially the postorder list ) of the structure ‘struc’, for use in
tree\_edit\_distance().
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{struc}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} may be any rooted structure representation.

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{Tree *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{maximum\_matching() (in module RNA)@\spxentry{maximum\_matching()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.maximum_matching}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{maximum\_matching}}}
{\sphinxparam{\DUrole{n}{sequence}}}
{}
\pysigstopsignatures
\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as global function \sphinxtitleref{maximum\_matching()}. See e.g.
{\hyperref[\detokenize{api_python:RNA.maximum_matching}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.maximum\_matching()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{md (class in RNA)@\spxentry{md}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{md}}}
{\sphinxparam{\DUrole{n}{md self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double temperature=vrna\_md\_defaults\_temperature\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double betaScale=vrna\_md\_defaults\_betaScale\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int pf\_smooth=vrna\_md\_defaults\_pf\_smooth\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int dangles=vrna\_md\_defaults\_dangles\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int special\_hp=vrna\_md\_defaults\_special\_hp\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int noLP=vrna\_md\_defaults\_noLP\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int noGU=vrna\_md\_defaults\_noGU\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int noGUclosure=vrna\_md\_defaults\_noGUclosure\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int logML=vrna\_md\_defaults\_logML\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int circ=vrna\_md\_defaults\_circ\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int circ\_penalty=vrna\_md\_defaults\_circ\_penalty\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int gquad=vrna\_md\_defaults\_gquad\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int uniq\_ML=vrna\_md\_defaults\_uniq\_ML\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int energy\_set=vrna\_md\_defaults\_energy\_set\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int backtrack=vrna\_md\_defaults\_backtrack\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char backtrack\_type=vrna\_md\_defaults\_backtrack\_type\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int compute\_bpp=vrna\_md\_defaults\_compute\_bpp\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int max\_bp\_span=vrna\_md\_defaults\_max\_bp\_span\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int min\_loop\_size=vrna\_md\_defaults\_min\_loop\_size\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int window\_size=vrna\_md\_defaults\_window\_size\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int oldAliEn=vrna\_md\_defaults\_oldAliEn\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int ribo=vrna\_md\_defaults\_ribo\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double cv\_fact=vrna\_md\_defaults\_cv\_fact\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double nc\_fact=vrna\_md\_defaults\_nc\_fact\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double sfact=vrna\_md\_defaults\_sfact\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double salt=vrna\_md\_defaults\_salt\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int saltMLLower=vrna\_md\_defaults\_saltMLLower\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int saltMLUpper=vrna\_md\_defaults\_saltMLUpper\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int saltDPXInit=vrna\_md\_defaults\_saltDPXInit\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float saltDPXInitFact=vrna\_md\_defaults\_saltDPXInitFact\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float helical\_rise=vrna\_md\_defaults\_helical\_rise\_get()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float backbone\_length=vrna\_md\_defaults\_backbone\_length\_get()}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
The data structure that contains the complete model details used throughout the calculations.

\sphinxAtStartPar
For convenience reasons, we provide the type name RNA.md() to address this data structure without
the use of the struct keyword


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.md.reset}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md.reset}}}}}, \sphinxcode{\sphinxupquote{set\_model\_details}}, \sphinxcode{\sphinxupquote{RNA.md\_update}}, {\hyperref[\detokenize{api_python:RNA.md}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.md}}}}}
\begin{description}
\sphinxlineitem{\sphinxcode{\sphinxupquote{}}}
\sphinxAtStartPar
This data structure is wrapped as an object \sphinxtitleref{md} with multiple related functions attached as methods. A new set of default parameters can be obtained by calling the constructure of \sphinxtitleref{md:} *   \sphinxtitleref{md()}\textendash{} Initialize with default settings The resulting object has a list of attached methods which directly correspond to functions that mainly operate on the corresponding \sphinxstyleemphasis{C} data structure: *   \sphinxtitleref{reset()} \sphinxhyphen{} RNA.md.reset() *   \sphinxtitleref{set\_from\_globals()} \sphinxhyphen{} set\_model\_details() *   \sphinxtitleref{option\_string()} \sphinxhyphen{} RNA.md.option\_string()

\end{description}


\end{sphinxseealso}

\index{temperature (RNA.md attribute)@\spxentry{temperature}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.temperature}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\sphinxAtStartPar
The temperature used to scale the thermodynamic parameters.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{betaScale (RNA.md attribute)@\spxentry{betaScale}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.betaScale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{betaScale}}}
\pysigstopsignatures
\sphinxAtStartPar
A scaling factor for the thermodynamic temperature of the Boltzmann factors.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pf\_smooth (RNA.md attribute)@\spxentry{pf\_smooth}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.pf_smooth}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pf\_smooth}}}
\pysigstopsignatures
\sphinxAtStartPar
A flat specifying whether energies in Boltzmann factors need to be smoothed.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangles (RNA.md attribute)@\spxentry{dangles}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.dangles}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangles}}}
\pysigstopsignatures
\sphinxAtStartPar
Specifies the dangle model used in any energy evaluation (0,1,2 or 3).

\sphinxAtStartPar
If set to 0 no stabilizing energies are assigned to bases adjacent to helices in free ends and
multiloops (so called dangling ends). Normally (dangles = 1) dangling end energies are assigned
only to unpaired bases and a base cannot participate simultaneously in two dangling ends. In the
partition function algorithm RNA.fold\_compound.pf() these checks are neglected. To provide comparability
between free energy minimization and partition function algorithms, the default setting is 2.
This treatment of dangling ends gives more favorable energies to helices directly adjacent to
one another, which can be beneficial since such helices often do engage in stabilizing
interactions through co\sphinxhyphen{}axial stacking.
If set to 3 co\sphinxhyphen{}axial stacking is explicitly included for adjacent helices in multiloops. The
option affects only mfe folding and energy evaluation (RNA.mfe() and RNA.eval\_structure()), as
well as suboptimal folding (RNA.subopt()) via re\sphinxhyphen{}evaluation of energies. Co\sphinxhyphen{}axial stacking with
one intervening mismatch is not considered so far. Note, that some function do not implement all
dangle model but only a subset of (0,1,2,3). In particular, partition function algorithms can
only handle 0 and 2. Read the documentation of the particular recurrences or energy evaluation
function for information about the provided dangle model.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{special\_hp (RNA.md attribute)@\spxentry{special\_hp}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.special_hp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{special\_hp}}}
\pysigstopsignatures
\sphinxAtStartPar
Include special hairpin contributions for tri, tetra and hexaloops.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{noLP (RNA.md attribute)@\spxentry{noLP}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.noLP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{noLP}}}
\pysigstopsignatures
\sphinxAtStartPar
Only consider canonical structures, i.e. no ‘lonely’ base pairs.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{noGU (RNA.md attribute)@\spxentry{noGU}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.noGU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{noGU}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow GU pairs.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{noGUclosure (RNA.md attribute)@\spxentry{noGUclosure}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.noGUclosure}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{noGUclosure}}}
\pysigstopsignatures
\sphinxAtStartPar
Do not allow loops to be closed by GU pair.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{logML (RNA.md attribute)@\spxentry{logML}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.logML}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{logML}}}
\pysigstopsignatures
\sphinxAtStartPar
Use logarithmic scaling for multiloops.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{circ (RNA.md attribute)@\spxentry{circ}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.circ}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{circ}}}
\pysigstopsignatures
\sphinxAtStartPar
Assume RNA to be circular instead of linear.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{circ\_penalty (RNA.md attribute)@\spxentry{circ\_penalty}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.circ_penalty}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{circ\_penalty}}}
\pysigstopsignatures
\sphinxAtStartPar
Add an entropic penalty to the unpaired circRNA chain.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquad (RNA.md attribute)@\spxentry{gquad}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquad}}}
\pysigstopsignatures
\sphinxAtStartPar
Include G\sphinxhyphen{}quadruplexes in structure prediction.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{uniq\_ML (RNA.md attribute)@\spxentry{uniq\_ML}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.uniq_ML}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{uniq\_ML}}}
\pysigstopsignatures
\sphinxAtStartPar
Flag to ensure unique multi\sphinxhyphen{}branch loop decomposition during folding.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{energy\_set (RNA.md attribute)@\spxentry{energy\_set}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.energy_set}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{energy\_set}}}
\pysigstopsignatures
\sphinxAtStartPar
Specifies the energy set that defines set of compatible base pairs.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{backtrack (RNA.md attribute)@\spxentry{backtrack}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.backtrack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{backtrack}}}
\pysigstopsignatures
\sphinxAtStartPar
Specifies whether or not secondary structures should be backtraced.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{backtrack\_type (RNA.md attribute)@\spxentry{backtrack\_type}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.backtrack_type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{backtrack\_type}}}
\pysigstopsignatures
\sphinxAtStartPar
Specifies in which matrix to backtrack.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{compute\_bpp (RNA.md attribute)@\spxentry{compute\_bpp}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.compute_bpp}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{compute\_bpp}}}
\pysigstopsignatures
\sphinxAtStartPar
Specifies whether or not backward recursions for base pair probability (bpp) computation will be
performed.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{nonstandards (RNA.md attribute)@\spxentry{nonstandards}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.nonstandards}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{nonstandards}}}
\pysigstopsignatures
\sphinxAtStartPar
contains allowed non standard bases
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{max\_bp\_span (RNA.md attribute)@\spxentry{max\_bp\_span}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.max_bp_span}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{max\_bp\_span}}}
\pysigstopsignatures
\sphinxAtStartPar
maximum allowed base pair span
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{min\_loop\_size (RNA.md attribute)@\spxentry{min\_loop\_size}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.min_loop_size}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{min\_loop\_size}}}
\pysigstopsignatures
\sphinxAtStartPar
Minimum size of hairpin loops.

\sphinxAtStartPar
The default value for this field is TURN, however, it may be 0 in cofolding context.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{window\_size (RNA.md attribute)@\spxentry{window\_size}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.window_size}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{window\_size}}}
\pysigstopsignatures
\sphinxAtStartPar
Size of the sliding window for locally optimal structure prediction.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{oldAliEn (RNA.md attribute)@\spxentry{oldAliEn}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.oldAliEn}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{oldAliEn}}}
\pysigstopsignatures
\sphinxAtStartPar
Use old alifold energy model.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ribo (RNA.md attribute)@\spxentry{ribo}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.ribo}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ribo}}}
\pysigstopsignatures
\sphinxAtStartPar
Use ribosum scoring table in alifold energy model.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{cv\_fact (RNA.md attribute)@\spxentry{cv\_fact}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.cv_fact}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{cv\_fact}}}
\pysigstopsignatures
\sphinxAtStartPar
Co\sphinxhyphen{}variance scaling factor for consensus structure prediction.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{nc\_fact (RNA.md attribute)@\spxentry{nc\_fact}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.nc_fact}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{nc\_fact}}}
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor to weight co\sphinxhyphen{}variance contributions of non\sphinxhyphen{}canonical pairs.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sfact (RNA.md attribute)@\spxentry{sfact}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.sfact}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{sfact}}}
\pysigstopsignatures
\sphinxAtStartPar
Scaling factor for partition function scaling.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{rtype (RNA.md attribute)@\spxentry{rtype}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.rtype}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{rtype}}}
\pysigstopsignatures
\sphinxAtStartPar
Reverse base pair type array.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{alias (RNA.md attribute)@\spxentry{alias}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.alias}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{alias}}}
\pysigstopsignatures
\sphinxAtStartPar
alias of an integer nucleotide representation
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pair (RNA.md attribute)@\spxentry{pair}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.pair}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pair}}}
\pysigstopsignatures
\sphinxAtStartPar
Integer representation of a base pair.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pair\_dist (RNA.md attribute)@\spxentry{pair\_dist}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.pair_dist}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pair\_dist}}}
\pysigstopsignatures
\sphinxAtStartPar
Base pair dissimilarity, a.k.a. distance matrix.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{salt (RNA.md attribute)@\spxentry{salt}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.salt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{salt}}}
\pysigstopsignatures
\sphinxAtStartPar
Salt (monovalent) concentration (M) in buffer.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{saltMLLower (RNA.md attribute)@\spxentry{saltMLLower}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.saltMLLower}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{saltMLLower}}}
\pysigstopsignatures
\sphinxAtStartPar
Lower bound of multiloop size to use in loop salt correction linear fitting.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{saltMLUpper (RNA.md attribute)@\spxentry{saltMLUpper}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.saltMLUpper}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{saltMLUpper}}}
\pysigstopsignatures
\sphinxAtStartPar
Upper bound of multiloop size to use in loop salt correction linear fitting.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{saltDPXInit (RNA.md attribute)@\spxentry{saltDPXInit}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.saltDPXInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{saltDPXInit}}}
\pysigstopsignatures
\sphinxAtStartPar
User\sphinxhyphen{}provided salt correction for duplex initialization (in dcal/mol). If set to 99999 the
default salt correction is used. If set to 0 there is no salt correction for duplex
initialization.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{saltDPXInitFact (RNA.md attribute)@\spxentry{saltDPXInitFact}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.saltDPXInitFact}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{saltDPXInitFact}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{helical\_rise (RNA.md attribute)@\spxentry{helical\_rise}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.helical_rise}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{helical\_rise}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{backbone\_length (RNA.md attribute)@\spxentry{backbone\_length}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.backbone_length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{backbone\_length}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{circ\_alpha0 (RNA.md attribute)@\spxentry{circ\_alpha0}\spxextra{RNA.md attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.circ_alpha0}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{circ\_alpha0}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{temperature}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} The temperature in degree C used to scale the thermodynamic parameters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{betaScale}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} A scaling factor for the thermodynamic temperature of the Boltzmann factors.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pf\_smooth}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} A flag specifying whether energies in Boltzmann factors need to be smoothed.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{dangles}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Specifies the dangle model used in any energy evaluation (0, 1, 2, or 3)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{special\_hp}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Include special hairpin contributions for tri, tetra and hexaloops.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{noLP}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Only consider canonical structures, i.e. no ‘lonely’ base pairs.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{noGU}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Do not allow GU pairs.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{noGUclosure}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Do not allow loops to be closed by GU pair.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{logML}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Use logarithmic scaling for multiloops.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{circ}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Assume RNA to be circular instead of linear.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{circ\_penalty}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Add entropic penalty for unpaired chain in circular RNAs.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{gquad}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Include G\sphinxhyphen{}quadruplexes in structure prediction.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{uniq\_ML}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Flag to ensure unique multi\sphinxhyphen{}branch loop decomposition during folding.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{energy\_set}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Specifies the energy set that defines set of compatible base pairs.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{backtrack}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Specifies whether or not secondary structures should be backtraced.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{backtrack\_type}} (\sphinxcode{\sphinxupquote{char}}) \textendash{} Specifies in which matrix to backtrack.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{compute\_bpp}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Specifies whether or not backward recursions for base pair probability (bpp) computation will be performed.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_bp\_span}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} maximum allowed base pair span

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{min\_loop\_size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Minimum size of hairpin loops.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Size of the sliding window for locally optimal structure prediction.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{oldAliEn}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Use old alifold energy model.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ribo}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Use ribosum scoring table in alifold energy model.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cv\_fact}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Co\sphinxhyphen{}variance scaling factor for consensus structure prediction.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{nc\_fact}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Scaling factor to weight co\sphinxhyphen{}variance contributions of non\sphinxhyphen{}canonical pairs.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sfact}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Scaling factor for partition function scaling.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Salt (monovalent) concentration (M) in buffer.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{saltMLLower}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Lower bound of multiloop size to use in loop salt correction linear fitting.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{saltMLUpper}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Upper bound of multiloop size to use in loop salt correction linear fitting.

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{saltDPXInit}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} User\sphinxhyphen{}provided salt correction for duplex initialization (in dcal/mol).

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{saltDPXInitFact}} (\sphinxcode{\sphinxupquote{float}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{helical\_rise}} (\sphinxcode{\sphinxupquote{float}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{backbone\_length}} (\sphinxcode{\sphinxupquote{float}})

\end{itemize}

\end{description}\end{quote}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Default parameters can be modified by directly setting any of the following
global variables (accessible as \sphinxtitleref{RNA.cvar.variable} where \sphinxtitleref{variable} is the
variable name. Internally, getting/setting default parameters using their global variable
representative translates into calls of the corresponding getter and setter functions,
which consequently have not been wrapped directly in the scripting language interface(s):


\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
\centering
\begin{tabulary}{\linewidth}[t]{TTT}
\sphinxtoprule
\sphinxstyletheadfamily 
\sphinxAtStartPar
global variable
&\sphinxstyletheadfamily 
\sphinxAtStartPar
\sphinxtitleref{C getter}
&\sphinxstyletheadfamily 
\sphinxAtStartPar
\sphinxtitleref{C setter}
\\
\sphinxmidrule
\sphinxtableatstartofbodyhook
\sphinxAtStartPar
temperature
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_temperature_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_temperature\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_temperature}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_temperature()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
dangles
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_dangles_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_dangles\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_dangles}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_dangles()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
betaScale
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_betaScale_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_betaScale\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_betaScale}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_betaScale()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
tetra\_loop
&
\sphinxAtStartPar
this is an alias of variable \sphinxtitleref{special\_hp}
&\\
\sphinxhline
\sphinxAtStartPar
special\_hp
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_special_hp_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_special\_hp\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_special_hp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_special\_hp()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
noLonelyPairs
&
\sphinxAtStartPar
this is an alias of variable \sphinxtitleref{noLP}
&\\
\sphinxhline
\sphinxAtStartPar
noLP
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_noLP_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_noLP\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_noLP}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_noLP()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
noGU
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_noGU_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_noGU\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_noGU}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_noGU()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
no\_closingGU
&
\sphinxAtStartPar
this is an alias of variable \sphinxtitleref{noGUclosure}
&\\
\sphinxhline
\sphinxAtStartPar
noGUclosure
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_noGUclosure_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_noGUclosure\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_noGUclosure}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_noGUclosure()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
logML
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_logML_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_logML\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_logML}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_logML()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
circ
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_circ_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_circ\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_circ}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_circ()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
gquad
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_gquad_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_gquad\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_gquad}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_gquad()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
uniq\_ML
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_uniq_ML_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_uniq\_ML\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_uniq_ML}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_uniq\_ML()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
energy\_set
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_energy_set_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_energy\_set\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_energy_set}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_energy\_set()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
backtrack
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_backtrack\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_backtrack()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
backtrack\_type
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack_type_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_backtrack\_type\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_backtrack_type}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_backtrack\_type()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
do\_backtrack
&
\sphinxAtStartPar
this is an alias of variable \sphinxtitleref{compute\_bpp}
&\\
\sphinxhline
\sphinxAtStartPar
compute\_bpp
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_compute_bpp_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_compute\_bpp\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_compute_bpp}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_compute\_bpp()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
max\_bp\_span
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_max_bp_span_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_max\_bp\_span\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_max_bp_span}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_max\_bp\_span()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
min\_loop\_size
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_min_loop_size_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_min\_loop\_size\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_min_loop_size}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_min\_loop\_size()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
window\_size
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_window_size_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_window\_size\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_window_size}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_window\_size()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
oldAliEn
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_oldAliEn_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_oldAliEn\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_oldAliEn}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_oldAliEn()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
ribo
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_ribo_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_ribo\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_ribo}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_ribo()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
cv\_fact
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_cv_fact_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_cv\_fact\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_cv_fact}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_cv\_fact()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
nc\_fact
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_nc_fact_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_nc\_fact\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_nc_fact}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_nc\_fact()}}}}}
\\
\sphinxhline
\sphinxAtStartPar
sfact
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_sfact_get}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_sfact\_get()}}}}}
&
\sphinxAtStartPar
{\hyperref[\detokenize{grammar/model_details:c.vrna_md_defaults_sfact}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{vrna\_md\_defaults\_sfact()}}}}}
\\
\sphinxbottomrule
\end{tabulary}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}
\end{sphinxadmonition}
\index{alias (RNA.md property)@\spxentry{alias}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id197}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{alias}}}
\pysigstopsignatures
\end{fulllineitems}

\index{backbone\_length (RNA.md property)@\spxentry{backbone\_length}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id198}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{backbone\_length}}}
\pysigstopsignatures
\end{fulllineitems}

\index{backtrack (RNA.md property)@\spxentry{backtrack}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id199}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{backtrack}}}
\pysigstopsignatures
\end{fulllineitems}

\index{backtrack\_type (RNA.md property)@\spxentry{backtrack\_type}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id200}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{backtrack\_type}}}
\pysigstopsignatures
\end{fulllineitems}

\index{betaScale (RNA.md property)@\spxentry{betaScale}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id201}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{betaScale}}}
\pysigstopsignatures
\end{fulllineitems}

\index{circ (RNA.md property)@\spxentry{circ}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id202}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{circ}}}
\pysigstopsignatures
\end{fulllineitems}

\index{circ\_alpha0 (RNA.md property)@\spxentry{circ\_alpha0}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id203}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{circ\_alpha0}}}
\pysigstopsignatures
\end{fulllineitems}

\index{circ\_penalty (RNA.md property)@\spxentry{circ\_penalty}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id204}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{circ\_penalty}}}
\pysigstopsignatures
\end{fulllineitems}

\index{compute\_bpp (RNA.md property)@\spxentry{compute\_bpp}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id205}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{compute\_bpp}}}
\pysigstopsignatures
\end{fulllineitems}

\index{cv\_fact (RNA.md property)@\spxentry{cv\_fact}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id206}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{cv\_fact}}}
\pysigstopsignatures
\end{fulllineitems}

\index{dangles (RNA.md property)@\spxentry{dangles}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id207}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{dangles}}}
\pysigstopsignatures
\end{fulllineitems}

\index{energy\_set (RNA.md property)@\spxentry{energy\_set}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id208}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{energy\_set}}}
\pysigstopsignatures
\end{fulllineitems}

\index{gquad (RNA.md property)@\spxentry{gquad}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id209}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{gquad}}}
\pysigstopsignatures
\end{fulllineitems}

\index{helical\_rise (RNA.md property)@\spxentry{helical\_rise}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id210}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{helical\_rise}}}
\pysigstopsignatures
\end{fulllineitems}

\index{logML (RNA.md property)@\spxentry{logML}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id211}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{logML}}}
\pysigstopsignatures
\end{fulllineitems}

\index{max\_bp\_span (RNA.md property)@\spxentry{max\_bp\_span}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id212}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{max\_bp\_span}}}
\pysigstopsignatures
\end{fulllineitems}

\index{min\_loop\_size (RNA.md property)@\spxentry{min\_loop\_size}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id213}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{min\_loop\_size}}}
\pysigstopsignatures
\end{fulllineitems}

\index{nc\_fact (RNA.md property)@\spxentry{nc\_fact}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id214}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{nc\_fact}}}
\pysigstopsignatures
\end{fulllineitems}

\index{noGU (RNA.md property)@\spxentry{noGU}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id215}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{noGU}}}
\pysigstopsignatures
\end{fulllineitems}

\index{noGUclosure (RNA.md property)@\spxentry{noGUclosure}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id216}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{noGUclosure}}}
\pysigstopsignatures
\end{fulllineitems}

\index{noLP (RNA.md property)@\spxentry{noLP}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id217}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{noLP}}}
\pysigstopsignatures
\end{fulllineitems}

\index{nonstandards (RNA.md property)@\spxentry{nonstandards}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id218}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{nonstandards}}}
\pysigstopsignatures
\end{fulllineitems}

\index{oldAliEn (RNA.md property)@\spxentry{oldAliEn}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id219}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{oldAliEn}}}
\pysigstopsignatures
\end{fulllineitems}

\index{option\_string() (RNA.md method)@\spxentry{option\_string()}\spxextra{RNA.md method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.option_string}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{option\_string}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get a corresponding commandline parameter string of the options in a RNA.md().

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function is not threadsafe!
\end{sphinxadmonition}

\end{fulllineitems}

\index{pair (RNA.md property)@\spxentry{pair}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id220}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{pair}}}
\pysigstopsignatures
\end{fulllineitems}

\index{pf\_smooth (RNA.md property)@\spxentry{pf\_smooth}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id221}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{pf\_smooth}}}
\pysigstopsignatures
\end{fulllineitems}

\index{reset() (RNA.md method)@\spxentry{reset()}\spxextra{RNA.md method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.reset}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{reset}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Apply default model details to a provided RNA.md() data structure.

\sphinxAtStartPar
Use this function to initialize a RNA.md() data structure with its default values

\end{fulllineitems}

\index{ribo (RNA.md property)@\spxentry{ribo}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id222}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{ribo}}}
\pysigstopsignatures
\end{fulllineitems}

\index{rtype (RNA.md property)@\spxentry{rtype}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id223}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{rtype}}}
\pysigstopsignatures
\end{fulllineitems}

\index{salt (RNA.md property)@\spxentry{salt}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id224}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{salt}}}
\pysigstopsignatures
\end{fulllineitems}

\index{saltDPXInit (RNA.md property)@\spxentry{saltDPXInit}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id225}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{saltDPXInit}}}
\pysigstopsignatures
\end{fulllineitems}

\index{saltDPXInitFact (RNA.md property)@\spxentry{saltDPXInitFact}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id226}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{saltDPXInitFact}}}
\pysigstopsignatures
\end{fulllineitems}

\index{saltMLLower (RNA.md property)@\spxentry{saltMLLower}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id227}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{saltMLLower}}}
\pysigstopsignatures
\end{fulllineitems}

\index{saltMLUpper (RNA.md property)@\spxentry{saltMLUpper}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id228}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{saltMLUpper}}}
\pysigstopsignatures
\end{fulllineitems}

\index{set\_from\_globals() (RNA.md method)@\spxentry{set\_from\_globals()}\spxextra{RNA.md method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.set_from_globals}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{set\_from\_globals}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sfact (RNA.md property)@\spxentry{sfact}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id229}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{sfact}}}
\pysigstopsignatures
\end{fulllineitems}

\index{special\_hp (RNA.md property)@\spxentry{special\_hp}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id230}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{special\_hp}}}
\pysigstopsignatures
\end{fulllineitems}

\index{temperature (RNA.md property)@\spxentry{temperature}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id231}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.md property)@\spxentry{thisown}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.md.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{uniq\_ML (RNA.md property)@\spxentry{uniq\_ML}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id232}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{uniq\_ML}}}
\pysigstopsignatures
\end{fulllineitems}

\index{window\_size (RNA.md property)@\spxentry{window\_size}\spxextra{RNA.md property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id233}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{window\_size}}}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{mean\_bp\_distance() (in module RNA)@\spxentry{mean\_bp\_distance()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mean_bp_distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{mean\_bp\_distance}}}
{\sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get the mean base pair distance of the last partition function computation.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.mean\_bp\_distance() or RNA.mean\_bp\_distance\_pr() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} (\sphinxcode{\sphinxupquote{int}})

\sphinxlineitem{Returns}
\sphinxAtStartPar
mean base pair distance in thermodynamic ensemble

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.mean_bp_distance}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.mean\_bp\_distance}}}}}, \sphinxcode{\sphinxupquote{RNA.mean\_bp\_distance\_pr}}


\end{sphinxseealso}


\end{fulllineitems}

\index{memmove() (in module RNA)@\spxentry{memmove()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.memmove}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{memmove}}}
{\sphinxparam{\DUrole{n}{data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{indata}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{move (class in RNA)@\spxentry{move}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{move}}}
{\sphinxparam{\DUrole{n}{pos\_5}\DUrole{o}{=}\DUrole{default_value}{0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pos\_3}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
An atomic representation of the transition / move from one structure to its neighbor.

\sphinxAtStartPar
An atomic transition / move may be one of the following:
\begin{itemize}
\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair insertion},

\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair removal}, or

\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair shift} where an existing base pair changes one of its pairing partner.

\end{itemize}

\sphinxAtStartPar
These moves are encoded by two integer values that represent the affected 5’ and 3’ nucleotide
positions. Furthermore, we use the following convention on the signedness of these encodings:
\begin{itemize}
\item {} 
\sphinxAtStartPar
both values are positive for \sphinxstyleemphasis{insertion moves}

\item {} 
\sphinxAtStartPar
both values are negative for \sphinxstyleemphasis{base pair removals}

\item {} 
\sphinxAtStartPar
both values have different signedness for \sphinxstyleemphasis{shift moves}, where the positive value indicates the
nucleotide that stays constant, and the others absolute value is the new pairing partner

\end{itemize}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
A value of 0 in either field is used as list\sphinxhyphen{}end indicator and doesn’t represent any valid move.
\end{sphinxadmonition}
\index{pos\_5 (RNA.move attribute)@\spxentry{pos\_5}\spxextra{RNA.move attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.pos_5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pos\_5}}}
\pysigstopsignatures
\sphinxAtStartPar
The (absolute value of the) 5’ position of a base pair, or any position of a shifted pair.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pos\_3 (RNA.move attribute)@\spxentry{pos\_3}\spxextra{RNA.move attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.pos_3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pos\_3}}}
\pysigstopsignatures
\sphinxAtStartPar
The (absolute value of the) 3’ position of a base pair, or any position of a shifted pair.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{next (RNA.move attribute)@\spxentry{next}\spxextra{RNA.move attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.next}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{next}}}
\pysigstopsignatures
\sphinxAtStartPar
The next base pair (if an elementary move changes more than one base pair), or \sphinxtitleref{NULL} Has to be
terminated with move 0,0.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_move\_t *}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
An atomic representation of the transition / move from one structure to its neighbor.

\sphinxAtStartPar
An atomic transition / move may be one of the following:
\begin{itemize}
\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair insertion},

\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair removal}, or

\item {} 
\sphinxAtStartPar
a \sphinxstylestrong{base pair shift} where an existing base pair changes one of its pairing partner.

\end{itemize}

\sphinxAtStartPar
These moves are encoded by two integer values that represent the affected 5’ and 3’ nucleotide
positions. Furthermore, we use the following convention on the signedness of these encodings:
\begin{itemize}
\item {} 
\sphinxAtStartPar
both values are positive for \sphinxstyleemphasis{insertion moves}

\item {} 
\sphinxAtStartPar
both values are negative for \sphinxstyleemphasis{base pair removals}

\item {} 
\sphinxAtStartPar
both values have different signedness for \sphinxstyleemphasis{shift moves}, where the positive value indicates the
nucleotide that stays constant, and the others absolute value is the new pairing partner

\end{itemize}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
A value of 0 in either field is used as list\sphinxhyphen{}end indicator and doesn’t represent any valid move.
\end{sphinxadmonition}
\index{pos\_5 (RNA.move attribute)@\spxentry{pos\_5}\spxextra{RNA.move attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id234}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pos\_5}}}
\pysigstopsignatures
\sphinxAtStartPar
The (absolute value of the) 5’ position of a base pair, or any position of a shifted pair.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pos\_3 (RNA.move attribute)@\spxentry{pos\_3}\spxextra{RNA.move attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id235}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pos\_3}}}
\pysigstopsignatures
\sphinxAtStartPar
The (absolute value of the) 3’ position of a base pair, or any position of a shifted pair.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{next (RNA.move attribute)@\spxentry{next}\spxextra{RNA.move attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id236}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{next}}}
\pysigstopsignatures
\sphinxAtStartPar
The next base pair (if an elementary move changes more than one base pair), or \sphinxtitleref{NULL} Has to be
terminated with move 0,0.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_move\_t *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{compare() (RNA.move method)@\spxentry{compare()}\spxextra{RNA.move method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.compare}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{compare}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compare two moves.

\sphinxAtStartPar
The function compares two moves \sphinxtitleref{m} and \sphinxtitleref{b} and returns whether move \sphinxtitleref{m} is lexicographically
smaller (\sphinxhyphen{}1), larger (1) or equal to move \sphinxtitleref{b}.

\sphinxAtStartPar
If any of the moves \sphinxtitleref{m} or \sphinxtitleref{b} is a shift move, this comparison only makes sense in a structure
context. Thus, the third argument with the current structure must be provided.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} (\sphinxcode{\sphinxupquote{const RNA.move() *}}) \textendash{} The second move of the comparison

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pt}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} The pair table of the current structure that is compatible with both moves (maybe NULL if moves
are guaranteed to be no shifts)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
\sphinxhyphen{}1 if \sphinxtitleref{m} \textless{} \sphinxtitleref{b}, 1 if \sphinxtitleref{m} \textgreater{} \sphinxtitleref{b}, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
Currently, shift moves are not supported!
\end{sphinxadmonition}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function returns 0 (equality) upon any error, e.g. missing input
\end{sphinxadmonition}

\end{fulllineitems}

\index{is\_insertion() (RNA.move method)@\spxentry{is\_insertion()}\spxextra{RNA.move method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.is_insertion}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{is\_insertion}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Test whether a move is a base pair insertion.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero if the move is a base pair insertion, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{is\_removal() (RNA.move method)@\spxentry{is\_removal()}\spxextra{RNA.move method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.is_removal}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{is\_removal}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Test whether a move is a base pair removal.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero if the move is a base pair removal, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{is\_shift() (RNA.move method)@\spxentry{is\_shift()}\spxextra{RNA.move method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.is_shift}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{is\_shift}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Test whether a move is a base pair shift.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero if the move is a base pair shift, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pos\_3 (RNA.move property)@\spxentry{pos\_3}\spxextra{RNA.move property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id237}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{pos\_3}}}
\pysigstopsignatures
\end{fulllineitems}

\index{pos\_5 (RNA.move property)@\spxentry{pos\_5}\spxextra{RNA.move property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id238}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{pos\_5}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.move property)@\spxentry{thisown}\spxextra{RNA.move property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{move\_standard() (in module RNA)@\spxentry{move\_standard()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.move_standard}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{move\_standard}}}
{\sphinxparam{\DUrole{n}{char * seq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char * struc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{enum MOVE\_TYPE type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int verbosity\_level}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int shifts}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int noLP}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\end{fulllineitems}

\index{mx\_mfe (class in RNA)@\spxentry{mx\_mfe}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{mx\_mfe}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{Fc (RNA.mx\_mfe property)@\spxentry{Fc}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.Fc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Fc}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FcH (RNA.mx\_mfe property)@\spxentry{FcH}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.FcH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FcH}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FcI (RNA.mx\_mfe property)@\spxentry{FcI}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.FcI}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FcI}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FcM (RNA.mx\_mfe property)@\spxentry{FcM}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.FcM}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FcM}}}
\pysigstopsignatures
\end{fulllineitems}

\index{c (RNA.mx\_mfe property)@\spxentry{c}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.c}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{c}}}
\pysigstopsignatures
\end{fulllineitems}

\index{f3 (RNA.mx\_mfe property)@\spxentry{f3}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.f3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{f3}}}
\pysigstopsignatures
\end{fulllineitems}

\index{f5 (RNA.mx\_mfe property)@\spxentry{f5}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.f5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{f5}}}
\pysigstopsignatures
\end{fulllineitems}

\index{fM1 (RNA.mx\_mfe property)@\spxentry{fM1}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.fM1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{fM1}}}
\pysigstopsignatures
\end{fulllineitems}

\index{fM2 (RNA.mx\_mfe property)@\spxentry{fM2}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.fM2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{fM2}}}
\pysigstopsignatures
\end{fulllineitems}

\index{fML (RNA.mx\_mfe property)@\spxentry{fML}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.fML}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{fML}}}
\pysigstopsignatures
\end{fulllineitems}

\index{length (RNA.mx\_mfe property)@\spxentry{length}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{length}}}
\pysigstopsignatures
\end{fulllineitems}

\index{strands (RNA.mx\_mfe property)@\spxentry{strands}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.strands}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{strands}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.mx\_mfe property)@\spxentry{thisown}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type (RNA.mx\_mfe property)@\spxentry{type}\spxextra{RNA.mx\_mfe property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_mfe.type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{mx\_pf (class in RNA)@\spxentry{mx\_pf}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{mx\_pf}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{expMLbase (RNA.mx\_pf property)@\spxentry{expMLbase}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.expMLbase}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{expMLbase}}}
\pysigstopsignatures
\end{fulllineitems}

\index{length (RNA.mx\_pf property)@\spxentry{length}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.length}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{length}}}
\pysigstopsignatures
\end{fulllineitems}

\index{probs (RNA.mx\_pf property)@\spxentry{probs}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.probs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{probs}}}
\pysigstopsignatures
\end{fulllineitems}

\index{q (RNA.mx\_pf property)@\spxentry{q}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.q}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{q}}}
\pysigstopsignatures
\end{fulllineitems}

\index{q1k (RNA.mx\_pf property)@\spxentry{q1k}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.q1k}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{q1k}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qb (RNA.mx\_pf property)@\spxentry{qb}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qb}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qb}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qho (RNA.mx\_pf property)@\spxentry{qho}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qho}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qho}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qio (RNA.mx\_pf property)@\spxentry{qio}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qio}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qio}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qln (RNA.mx\_pf property)@\spxentry{qln}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qln}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qln}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qm (RNA.mx\_pf property)@\spxentry{qm}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qm}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qm}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qm1 (RNA.mx\_pf property)@\spxentry{qm1}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qm1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qm1}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qm2 (RNA.mx\_pf property)@\spxentry{qm2}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qm2}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qm2}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qmo (RNA.mx\_pf property)@\spxentry{qmo}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qmo}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qmo}}}
\pysigstopsignatures
\end{fulllineitems}

\index{qo (RNA.mx\_pf property)@\spxentry{qo}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.qo}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{qo}}}
\pysigstopsignatures
\end{fulllineitems}

\index{scale (RNA.mx\_pf property)@\spxentry{scale}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.scale}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{scale}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.mx\_pf property)@\spxentry{thisown}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type (RNA.mx\_pf property)@\spxentry{type}\spxextra{RNA.mx\_pf property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.mx_pf.type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{my\_PS\_rna\_plot\_snoop\_a() (in module RNA)@\spxentry{my\_PS\_rna\_plot\_snoop\_a()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.my_PS_rna_plot_snoop_a}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{my\_PS\_rna\_plot\_snoop\_a}}}
{\sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{IntVector relative\_access}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector seqs}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{my\_aln\_consensus\_sequence2() (in module RNA)@\spxentry{my\_aln\_consensus\_sequence2()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.my_aln_consensus_sequence2}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{my\_aln\_consensus\_sequence2}}}
{\sphinxparam{\DUrole{n}{alignment}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md\_p}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{n\_multichoose\_k() (in module RNA)@\spxentry{n\_multichoose\_k()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.n_multichoose_k}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{n\_multichoose\_k}}}
{\sphinxparam{\DUrole{n}{n}}\sphinxparamcomma \sphinxparam{\DUrole{n}{k}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{naview\_xy\_coordinates() (in module RNA)@\spxentry{naview\_xy\_coordinates()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.naview_xy_coordinates}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{naview\_xy\_coordinates}}}
{\sphinxparam{\DUrole{n}{std::string arg1}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.CoordinateVector}]{\sphinxcrossref{CoordinateVector}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{new\_doubleP() (in module RNA)@\spxentry{new\_doubleP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.new_doubleP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{new\_doubleP}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{new\_floatP() (in module RNA)@\spxentry{new\_floatP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.new_floatP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{new\_floatP}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{new\_intP() (in module RNA)@\spxentry{new\_intP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.new_intP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{new\_intP}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{new\_shortP() (in module RNA)@\spxentry{new\_shortP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.new_shortP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{new\_shortP}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{new\_ushortP() (in module RNA)@\spxentry{new\_ushortP()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.new_ushortP}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{new\_ushortP}}}
{\sphinxparam{\DUrole{n}{nelements}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pack\_structure() (in module RNA)@\spxentry{pack\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pack_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pack\_structure}}}
{\sphinxparam{\DUrole{n}{char const * s}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\end{fulllineitems}

\index{param (class in RNA)@\spxentry{param}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{param}}}
{\sphinxparam{\DUrole{n}{model\_details}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
The datastructure that contains temperature scaled energy parameters.
\index{id (RNA.param attribute)@\spxentry{id}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.id}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{id}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{stack (RNA.param attribute)@\spxentry{stack}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.stack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{stack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{hairpin (RNA.param attribute)@\spxentry{hairpin}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.hairpin}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{hairpin}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{bulge (RNA.param attribute)@\spxentry{bulge}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.bulge}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{bulge}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{internal\_loop (RNA.param attribute)@\spxentry{internal\_loop}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.internal_loop}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{internal\_loop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchExt (RNA.param attribute)@\spxentry{mismatchExt}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.mismatchExt}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchExt}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchI (RNA.param attribute)@\spxentry{mismatchI}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.mismatchI}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch1nI (RNA.param attribute)@\spxentry{mismatch1nI}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.mismatch1nI}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch1nI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch23I (RNA.param attribute)@\spxentry{mismatch23I}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.mismatch23I}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch23I}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchH (RNA.param attribute)@\spxentry{mismatchH}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.mismatchH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchM (RNA.param attribute)@\spxentry{mismatchM}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.mismatchM}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchM}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle5 (RNA.param attribute)@\spxentry{dangle5}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.dangle5}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle5}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle3 (RNA.param attribute)@\spxentry{dangle3}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.dangle3}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle3}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{int11 (RNA.param attribute)@\spxentry{int11}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.int11}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{int11}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{int21 (RNA.param attribute)@\spxentry{int21}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.int21}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{int21}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{int22 (RNA.param attribute)@\spxentry{int22}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.int22}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{int22}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ninio (RNA.param attribute)@\spxentry{ninio}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.ninio}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ninio}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{lxc (RNA.param attribute)@\spxentry{lxc}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.lxc}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{lxc}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MLbase (RNA.param attribute)@\spxentry{MLbase}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.MLbase}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MLintern (RNA.param attribute)@\spxentry{MLintern}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.MLintern}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MLclosing (RNA.param attribute)@\spxentry{MLclosing}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.MLclosing}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{TerminalAU (RNA.param attribute)@\spxentry{TerminalAU}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.TerminalAU}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{TerminalAU}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{DuplexInit (RNA.param attribute)@\spxentry{DuplexInit}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.DuplexInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{DuplexInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Tetraloop\_E (RNA.param attribute)@\spxentry{Tetraloop\_E}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.Tetraloop_E}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Tetraloop\_E}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Tetraloops (RNA.param attribute)@\spxentry{Tetraloops}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.Tetraloops}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Tetraloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Triloop\_E (RNA.param attribute)@\spxentry{Triloop\_E}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.Triloop_E}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Triloop\_E}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Triloops (RNA.param attribute)@\spxentry{Triloops}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.Triloops}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Triloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Hexaloop\_E (RNA.param attribute)@\spxentry{Hexaloop\_E}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.Hexaloop_E}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Hexaloop\_E}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Hexaloops (RNA.param attribute)@\spxentry{Hexaloops}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.Hexaloops}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Hexaloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{TripleC (RNA.param attribute)@\spxentry{TripleC}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.TripleC}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{TripleC}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MultipleCA (RNA.param attribute)@\spxentry{MultipleCA}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.MultipleCA}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MultipleCA}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MultipleCB (RNA.param attribute)@\spxentry{MultipleCB}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.MultipleCB}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MultipleCB}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquad (RNA.param attribute)@\spxentry{gquad}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.gquad}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquad}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquadLayerMismatch (RNA.param attribute)@\spxentry{gquadLayerMismatch}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.gquadLayerMismatch}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquadLayerMismatch}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquadLayerMismatchMax (RNA.param attribute)@\spxentry{gquadLayerMismatchMax}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.gquadLayerMismatchMax}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquadLayerMismatchMax}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{temperature (RNA.param attribute)@\spxentry{temperature}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.temperature}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\sphinxAtStartPar
Temperature used for loop contribution scaling.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{model\_details (RNA.param attribute)@\spxentry{model\_details}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.model_details}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{model\_details}}}
\pysigstopsignatures
\sphinxAtStartPar
Model details to be used in the recursions.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_md\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{param\_file (RNA.param attribute)@\spxentry{param\_file}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.param_file}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{param\_file}}}
\pysigstopsignatures
\sphinxAtStartPar
The filename the parameters were derived from, or empty string if they represent the default.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltStack (RNA.param attribute)@\spxentry{SaltStack}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.SaltStack}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltStack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltLoop (RNA.param attribute)@\spxentry{SaltLoop}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.SaltLoop}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltLoop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltLoopDbl (RNA.param attribute)@\spxentry{SaltLoopDbl}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.SaltLoopDbl}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltLoopDbl}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLbase (RNA.param attribute)@\spxentry{SaltMLbase}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.SaltMLbase}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLintern (RNA.param attribute)@\spxentry{SaltMLintern}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.SaltMLintern}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLclosing (RNA.param attribute)@\spxentry{SaltMLclosing}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.SaltMLclosing}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltDPXInit (RNA.param attribute)@\spxentry{SaltDPXInit}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.SaltDPXInit}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltDPXInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
The datastructure that contains temperature scaled energy parameters.
\index{id (RNA.param attribute)@\spxentry{id}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id239}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{id}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{stack (RNA.param attribute)@\spxentry{stack}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id240}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{stack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{hairpin (RNA.param attribute)@\spxentry{hairpin}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id241}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{hairpin}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{bulge (RNA.param attribute)@\spxentry{bulge}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id242}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{bulge}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{internal\_loop (RNA.param attribute)@\spxentry{internal\_loop}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id243}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{internal\_loop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchExt (RNA.param attribute)@\spxentry{mismatchExt}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id244}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchExt}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchI (RNA.param attribute)@\spxentry{mismatchI}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id245}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch1nI (RNA.param attribute)@\spxentry{mismatch1nI}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id246}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch1nI}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch23I (RNA.param attribute)@\spxentry{mismatch23I}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id247}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch23I}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchH (RNA.param attribute)@\spxentry{mismatchH}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id248}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatchM (RNA.param attribute)@\spxentry{mismatchM}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id249}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatchM}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle5 (RNA.param attribute)@\spxentry{dangle5}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id250}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle5}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle3 (RNA.param attribute)@\spxentry{dangle3}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id251}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle3}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{int11 (RNA.param attribute)@\spxentry{int11}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id252}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{int11}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{int21 (RNA.param attribute)@\spxentry{int21}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id253}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{int21}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{int22 (RNA.param attribute)@\spxentry{int22}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id254}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{int22}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ninio (RNA.param attribute)@\spxentry{ninio}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id255}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ninio}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{lxc (RNA.param attribute)@\spxentry{lxc}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id256}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{lxc}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MLbase (RNA.param attribute)@\spxentry{MLbase}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id257}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MLintern (RNA.param attribute)@\spxentry{MLintern}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id258}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MLclosing (RNA.param attribute)@\spxentry{MLclosing}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id259}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{TerminalAU (RNA.param attribute)@\spxentry{TerminalAU}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id260}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{TerminalAU}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{DuplexInit (RNA.param attribute)@\spxentry{DuplexInit}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id261}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{DuplexInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Tetraloop\_E (RNA.param attribute)@\spxentry{Tetraloop\_E}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id262}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Tetraloop\_E}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Tetraloops (RNA.param attribute)@\spxentry{Tetraloops}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id263}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Tetraloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Triloop\_E (RNA.param attribute)@\spxentry{Triloop\_E}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id264}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Triloop\_E}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Triloops (RNA.param attribute)@\spxentry{Triloops}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id265}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Triloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Hexaloop\_E (RNA.param attribute)@\spxentry{Hexaloop\_E}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id266}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Hexaloop\_E}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{Hexaloops (RNA.param attribute)@\spxentry{Hexaloops}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id267}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{Hexaloops}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{TripleC (RNA.param attribute)@\spxentry{TripleC}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id268}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{TripleC}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MultipleCA (RNA.param attribute)@\spxentry{MultipleCA}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id269}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MultipleCA}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{MultipleCB (RNA.param attribute)@\spxentry{MultipleCB}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id270}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{MultipleCB}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquad (RNA.param attribute)@\spxentry{gquad}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id271}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquad}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquadLayerMismatch (RNA.param attribute)@\spxentry{gquadLayerMismatch}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id272}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquadLayerMismatch}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{gquadLayerMismatchMax (RNA.param attribute)@\spxentry{gquadLayerMismatchMax}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id273}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{gquadLayerMismatchMax}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{temperature (RNA.param attribute)@\spxentry{temperature}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id274}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\sphinxAtStartPar
Temperature used for loop contribution scaling.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{model\_details (RNA.param attribute)@\spxentry{model\_details}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id275}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{model\_details}}}
\pysigstopsignatures
\sphinxAtStartPar
Model details to be used in the recursions.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{vrna\_md\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{param\_file (RNA.param attribute)@\spxentry{param\_file}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id276}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{param\_file}}}
\pysigstopsignatures
\sphinxAtStartPar
The filename the parameters were derived from, or empty string if they represent the default.
\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltStack (RNA.param attribute)@\spxentry{SaltStack}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id277}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltStack}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltLoop (RNA.param attribute)@\spxentry{SaltLoop}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id278}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltLoop}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltLoopDbl (RNA.param attribute)@\spxentry{SaltLoopDbl}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id279}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltLoopDbl}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLbase (RNA.param attribute)@\spxentry{SaltMLbase}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id280}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLbase}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLintern (RNA.param attribute)@\spxentry{SaltMLintern}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id281}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLintern}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltMLclosing (RNA.param attribute)@\spxentry{SaltMLclosing}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id282}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltMLclosing}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{SaltDPXInit (RNA.param attribute)@\spxentry{SaltDPXInit}\spxextra{RNA.param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id283}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{SaltDPXInit}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{DuplexInit (RNA.param property)@\spxentry{DuplexInit}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id284}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{DuplexInit}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Hexaloop\_E (RNA.param property)@\spxentry{Hexaloop\_E}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id285}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Hexaloop\_E}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Hexaloops (RNA.param property)@\spxentry{Hexaloops}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id286}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Hexaloops}}}
\pysigstopsignatures
\end{fulllineitems}

\index{MLbase (RNA.param property)@\spxentry{MLbase}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id287}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{MLbase}}}
\pysigstopsignatures
\end{fulllineitems}

\index{MLclosing (RNA.param property)@\spxentry{MLclosing}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id288}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{MLclosing}}}
\pysigstopsignatures
\end{fulllineitems}

\index{MLintern (RNA.param property)@\spxentry{MLintern}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id289}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{MLintern}}}
\pysigstopsignatures
\end{fulllineitems}

\index{MultipleCA (RNA.param property)@\spxentry{MultipleCA}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id290}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{MultipleCA}}}
\pysigstopsignatures
\end{fulllineitems}

\index{MultipleCB (RNA.param property)@\spxentry{MultipleCB}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id291}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{MultipleCB}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltDPXInit (RNA.param property)@\spxentry{SaltDPXInit}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id292}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltDPXInit}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltLoop (RNA.param property)@\spxentry{SaltLoop}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id293}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltLoop}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltLoopDbl (RNA.param property)@\spxentry{SaltLoopDbl}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id294}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltLoopDbl}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltMLbase (RNA.param property)@\spxentry{SaltMLbase}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id295}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltMLbase}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltMLclosing (RNA.param property)@\spxentry{SaltMLclosing}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id296}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltMLclosing}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltMLintern (RNA.param property)@\spxentry{SaltMLintern}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id297}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltMLintern}}}
\pysigstopsignatures
\end{fulllineitems}

\index{SaltStack (RNA.param property)@\spxentry{SaltStack}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id298}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{SaltStack}}}
\pysigstopsignatures
\end{fulllineitems}

\index{TerminalAU (RNA.param property)@\spxentry{TerminalAU}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id299}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{TerminalAU}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Tetraloop\_E (RNA.param property)@\spxentry{Tetraloop\_E}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id300}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Tetraloop\_E}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Tetraloops (RNA.param property)@\spxentry{Tetraloops}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id301}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Tetraloops}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Triloop\_E (RNA.param property)@\spxentry{Triloop\_E}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id302}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Triloop\_E}}}
\pysigstopsignatures
\end{fulllineitems}

\index{Triloops (RNA.param property)@\spxentry{Triloops}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id303}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{Triloops}}}
\pysigstopsignatures
\end{fulllineitems}

\index{TripleC (RNA.param property)@\spxentry{TripleC}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id304}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{TripleC}}}
\pysigstopsignatures
\end{fulllineitems}

\index{bulge (RNA.param property)@\spxentry{bulge}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id305}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{bulge}}}
\pysigstopsignatures
\end{fulllineitems}

\index{dangle3 (RNA.param property)@\spxentry{dangle3}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id306}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{dangle3}}}
\pysigstopsignatures
\end{fulllineitems}

\index{dangle5 (RNA.param property)@\spxentry{dangle5}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id307}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{dangle5}}}
\pysigstopsignatures
\end{fulllineitems}

\index{gquad (RNA.param property)@\spxentry{gquad}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id308}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{gquad}}}
\pysigstopsignatures
\end{fulllineitems}

\index{gquadLayerMismatch (RNA.param property)@\spxentry{gquadLayerMismatch}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id309}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{gquadLayerMismatch}}}
\pysigstopsignatures
\end{fulllineitems}

\index{gquadLayerMismatchMax (RNA.param property)@\spxentry{gquadLayerMismatchMax}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id310}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{gquadLayerMismatchMax}}}
\pysigstopsignatures
\end{fulllineitems}

\index{hairpin (RNA.param property)@\spxentry{hairpin}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id311}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{hairpin}}}
\pysigstopsignatures
\end{fulllineitems}

\index{id (RNA.param property)@\spxentry{id}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id312}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{id}}}
\pysigstopsignatures
\end{fulllineitems}

\index{int11 (RNA.param property)@\spxentry{int11}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id313}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{int11}}}
\pysigstopsignatures
\end{fulllineitems}

\index{int21 (RNA.param property)@\spxentry{int21}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id314}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{int21}}}
\pysigstopsignatures
\end{fulllineitems}

\index{int22 (RNA.param property)@\spxentry{int22}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id315}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{int22}}}
\pysigstopsignatures
\end{fulllineitems}

\index{internal\_loop (RNA.param property)@\spxentry{internal\_loop}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id316}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{internal\_loop}}}
\pysigstopsignatures
\end{fulllineitems}

\index{lxc (RNA.param property)@\spxentry{lxc}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id317}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{lxc}}}
\pysigstopsignatures
\end{fulllineitems}

\index{mismatch1nI (RNA.param property)@\spxentry{mismatch1nI}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id318}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{mismatch1nI}}}
\pysigstopsignatures
\end{fulllineitems}

\index{mismatch23I (RNA.param property)@\spxentry{mismatch23I}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id319}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{mismatch23I}}}
\pysigstopsignatures
\end{fulllineitems}

\index{mismatchExt (RNA.param property)@\spxentry{mismatchExt}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id320}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{mismatchExt}}}
\pysigstopsignatures
\end{fulllineitems}

\index{mismatchH (RNA.param property)@\spxentry{mismatchH}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id321}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{mismatchH}}}
\pysigstopsignatures
\end{fulllineitems}

\index{mismatchI (RNA.param property)@\spxentry{mismatchI}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id322}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{mismatchI}}}
\pysigstopsignatures
\end{fulllineitems}

\index{mismatchM (RNA.param property)@\spxentry{mismatchM}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id323}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{mismatchM}}}
\pysigstopsignatures
\end{fulllineitems}

\index{model\_details (RNA.param property)@\spxentry{model\_details}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id324}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{model\_details}}}
\pysigstopsignatures
\end{fulllineitems}

\index{ninio (RNA.param property)@\spxentry{ninio}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id325}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{ninio}}}
\pysigstopsignatures
\end{fulllineitems}

\index{param\_file (RNA.param property)@\spxentry{param\_file}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id326}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{param\_file}}}
\pysigstopsignatures
\end{fulllineitems}

\index{stack (RNA.param property)@\spxentry{stack}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id327}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{stack}}}
\pysigstopsignatures
\end{fulllineitems}

\index{temperature (RNA.param property)@\spxentry{temperature}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id328}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{temperature}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.param property)@\spxentry{thisown}\spxextra{RNA.param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.param.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{params\_load() (in module RNA)@\spxentry{params\_load()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load}}}
{\sphinxparam{\DUrole{n}{std::string filename=""}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Load energy parameters from a file.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{params\_load\textasciigrave{}(fname=””,
options=RNA.PARAMETER\_FORMAT\_DEFAULT). Here, the empty filename string indicates to load
default RNA parameters, i.e. this is equivalent to calling RNA.params\_load\_defaults(). See,
e.g.   :py:func:\textasciigrave{}RNA.fold\_compound.params\_load()} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} (\sphinxcode{\sphinxupquote{const char}}) \textendash{} The path to the file containing the energy parameters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} File format bit\sphinxhyphen{}mask (usually RNA.PARAMETER\_FORMAT\_DEFAULT)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_DNA\_Mathews1999() (in module RNA)@\spxentry{params\_load\_DNA\_Mathews1999()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_DNA_Mathews1999}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_DNA\_Mathews1999}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Load Mathews 1999 DNA energy parameter set.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{params\_load\_DNA\_Mathews1999()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in RNA.md() to those of DNA.
Only subsequently initialized RNA.md() structures will be affected by this change.
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_DNA\_Mathews2004() (in module RNA)@\spxentry{params\_load\_DNA\_Mathews2004()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_DNA_Mathews2004}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_DNA\_Mathews2004}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Load Mathews 2004 DNA energy parameter set.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{params\_load\_DNA\_Mathews2004()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in RNA.md() to those of DNA.
Only subsequently initialized RNA.md() structures will be affected by this change.
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_RNA\_Andronescu2007() (in module RNA)@\spxentry{params\_load\_RNA\_Andronescu2007()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_RNA\_Andronescu2007}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Load Andronsecu 2007 RNA energy parameter set.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{params\_load\_RNA\_Andronescu2007()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in RNA.md() to those of RNA.
Only subsequently initialized RNA.md() structures will be affected by this change.
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_RNA\_Langdon2018() (in module RNA)@\spxentry{params\_load\_RNA\_Langdon2018()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_RNA_Langdon2018}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_RNA\_Langdon2018}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Load Langdon 2018 RNA energy parameter set.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{params\_load\_RNA\_Langdon2018()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in RNA.md() to those of RNA.
Only subsequently initialized RNA.md() structures will be affected by this change.
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_RNA\_Turner1999() (in module RNA)@\spxentry{params\_load\_RNA\_Turner1999()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_RNA_Turner1999}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_RNA\_Turner1999}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Load Turner 1999 RNA energy parameter set.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{params\_load\_RNA\_Turner1999()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in RNA.md() to those of RNA.
Only subsequently initialized RNA.md() structures will be affected by this change.
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_RNA\_Turner2004() (in module RNA)@\spxentry{params\_load\_RNA\_Turner2004()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_RNA_Turner2004}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_RNA\_Turner2004}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Load Turner 2004 RNA energy parameter set.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{params\_load\_RNA\_Turner2004()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in RNA.md() to those of RNA.
Only subsequently initialized RNA.md() structures will be affected by this change.
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_RNA\_misc\_special\_hairpins() (in module RNA)@\spxentry{params\_load\_RNA\_misc\_special\_hairpins()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_RNA\_misc\_special\_hairpins}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Load Misc Special Hairpin RNA energy parameter set.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as function \sphinxtitleref{params\_load\_RNA\_misc\_special\_hairpins()}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function also resets the default geometric parameters as stored in RNA.md() to those of RNA.
Only subsequently initialized RNA.md() structures will be affected by this change.
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_from_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_from\_string}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_load\_from\_string() (in module RNA)@\spxentry{params\_load\_from\_string()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_load_from_string}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_load\_from\_string}}}
{\sphinxparam{\DUrole{n}{std::string parameters}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string name=""}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Load energy paramters from string.

\sphinxAtStartPar
The string must follow the default energy parameter file convention! The optional \sphinxtitleref{name} argument
allows one to specify a name for the parameter set which is stored internally.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{params\_load\_from\_string\textasciigrave{}(string, name=””,
options=RNA.PARAMETER\_FORMAT\_DEFAULT). See, e.g.   :py:func:\textasciigrave{}RNA.params\_load\_from\_string()} in
the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A 0\sphinxhyphen{}terminated string containing energy parameters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{name}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A name for the parameter set in \sphinxtitleref{string} (Maybe \sphinxtitleref{NULL})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} File format bit\sphinxhyphen{}mask (usually RNA.PARAMETER\_FORMAT\_DEFAULT)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}, {\hyperref[\detokenize{api_python:RNA.params_save}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_save}}}}}, \sphinxcode{\sphinxupquote{RNA.params\_load\_defaults}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Turner1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Turner1999}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Andronescu2007}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Andronescu2007}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_Langdon2018}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_Langdon2018}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_RNA_misc_special_hairpins}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_RNA\_misc\_special\_hairpins}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews2004}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews2004}}}}}, {\hyperref[\detokenize{api_python:RNA.params_load_DNA_Mathews1999}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load\_DNA\_Mathews1999}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{params\_save() (in module RNA)@\spxentry{params\_save()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.params_save}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{params\_save}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\sphinxAtStartPar
Save energy parameters to a file.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{params\_save\textasciigrave{}(fname,
options=RNA.PARAMETER\_FORMAT\_DEFAULT). See, e.g.   :py:func:\textasciigrave{}RNA.params\_save()} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} (\sphinxcode{\sphinxupquote{const char}}) \textendash{} A filename (path) for the file where the current energy parameters will be written to

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} File format bit\sphinxhyphen{}mask (usually RNA.PARAMETER\_FORMAT\_DEFAULT)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Non\sphinxhyphen{}zero on success, 0 on failure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.params_load}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.params\_load}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{parse\_gquad() (in module RNA)@\spxentry{parse\_gquad()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.parse_gquad}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{parse\_gquad}}}
{\sphinxparam{\DUrole{n}{struc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{l}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Parse a G\sphinxhyphen{}Quadruplex from a dot\sphinxhyphen{}bracket structure string.

\sphinxAtStartPar
Given a dot\sphinxhyphen{}bracket structure (possibly) containing gquads encoded by ‘+’ signs, find first gquad,
return end position or 0 if none found Upon return L and l{[}{]} contain the number of stacked layers,
as well as the lengths of the linker regions. To parse a string with many gquads, call parse\_gquad
repeatedly e.g. end1 = parse\_gquad(struc, \&L, l); … ; end2 = parse\_gquad(struc+end1, \&L, l);
end2+=end1; … ; end3 = parse\_gquad(struc+end2, \&L, l); end3+=end2; … ;

\end{fulllineitems}

\index{parse\_structure() (in module RNA)@\spxentry{parse\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.parse_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{parse\_structure}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Collects a statistic of structure elements of the full structure in bracket notation.

\sphinxAtStartPar
The function writes to the following global variables: loop\_size, loop\_degree, helix\_size, loops,
pairs, unpaired
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}})

\end{description}\end{quote}

\end{fulllineitems}

\index{path (class in RNA)@\spxentry{path}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{path}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{en (RNA.path property)@\spxentry{en}\spxextra{RNA.path property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path.en}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{en}}}
\pysigstopsignatures
\end{fulllineitems}

\index{move (RNA.path property)@\spxentry{move}\spxextra{RNA.path property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path.move}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{move}}}
\pysigstopsignatures
\end{fulllineitems}

\index{s (RNA.path property)@\spxentry{s}\spxextra{RNA.path property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path.s}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{s}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.path property)@\spxentry{thisown}\spxextra{RNA.path property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type (RNA.path property)@\spxentry{type}\spxextra{RNA.path property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path.type}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{type}}}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{path\_options (class in RNA)@\spxentry{path\_options}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path_options}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{path\_options}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{thisown (RNA.path\_options property)@\spxentry{thisown}\spxextra{RNA.path\_options property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path_options.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{path\_options\_findpath() (in module RNA)@\spxentry{path\_options\_findpath()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.path_options_findpath}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{path\_options\_findpath}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Create options data structure for findpath direct (re\sphinxhyphen{})folding path heuristic.

\sphinxAtStartPar
This function returns an options data structure that switches the RNA.path\_direct() and
RNA.fold\_compound.path\_direct() API functions to use the \sphinxstyleemphasis{findpath}  {[}\hyperlink{cite.bibliography:id31}{Flamm \sphinxstyleemphasis{et al.}, 2001}{]}  heuristic. The
parameter \sphinxtitleref{width} specifies the width of the breadth\sphinxhyphen{}first search while the second parameter \sphinxtitleref{type}
allows one to set the type of the returned (re\sphinxhyphen{})folding path.

\sphinxAtStartPar
Currently, the following return types are available:
\begin{itemize}
\item {} 
\sphinxAtStartPar
A list of dot\sphinxhyphen{}bracket structures and corresponding free energy (flag:
RNA.PATH\_TYPE\_DOT\_BRACKET)

\item {} 
\sphinxAtStartPar
A list of transition moves and corresponding free energy changes (flag: RNA.PATH\_TYPE\_MOVES)

\end{itemize}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{path\_options\_findpath()}. The optional
parameter \sphinxtitleref{width} defaults to 10 if omitted, while the optional parameter \sphinxtitleref{type} defaults to
RNA.PATH\_TYPE\_DOT\_BRACKET. See, e.g.   {\hyperref[\detokenize{api_python:RNA.path_options_findpath}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.path\_options\_findpath()}}}}} in the
{\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{width}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Width of the breath\sphinxhyphen{}first search strategy

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{type}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Setting that specifies how the return (re\sphinxhyphen{})folding path should be encoded

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
An options data structure with settings for the findpath direct path heuristic

\sphinxlineitem{Return type}
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.path_options}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.path\_options()}}}}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.PATH\_TYPE\_DOT\_BRACKET}}, \sphinxcode{\sphinxupquote{RNA.PATH\_TYPE\_MOVES}}, \sphinxcode{\sphinxupquote{RNA.path\_options\_free}}, \sphinxcode{\sphinxupquote{RNA.path\_direct}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.path_direct}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.path\_direct}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{pbacktrack() (in module RNA)@\spxentry{pbacktrack()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pbacktrack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pbacktrack}}}
{\sphinxparam{\DUrole{n}{sequence}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure from the Boltzmann ensemble according its probability.
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
st\_back has to be set to 1 before calling pf\_fold() or pf\_fold\_par()  pf\_fold\_par() or pf\_fold()
have to be called first to fill the partition function matrices

\end{description}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pbacktrack5() (in module RNA)@\spxentry{pbacktrack5()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pbacktrack5}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pbacktrack5}}}
{\sphinxparam{\DUrole{n}{sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Sample a sub\sphinxhyphen{}structure from the Boltzmann ensemble according its probability.

\end{fulllineitems}

\index{pbacktrack\_circ() (in module RNA)@\spxentry{pbacktrack\_circ()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pbacktrack_circ}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pbacktrack\_circ}}}
{\sphinxparam{\DUrole{n}{sequence}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its
probability.

\sphinxAtStartPar
This function does the same as pbacktrack() but assumes the RNA molecule to be circular
\begin{description}
\sphinxlineitem{\sphinxstylestrong{Precondition}}
\sphinxAtStartPar
st\_back has to be set to 1 before calling pf\_fold() or pf\_fold\_par()  pf\_fold\_par() or
pf\_circ\_fold() have to be called first to fill the partition function matrices

\end{description}

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.pbacktrack() instead.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\sphinxlineitem{Returns}
\sphinxAtStartPar
A sampled secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pbacktrack\_mem (class in RNA)@\spxentry{pbacktrack\_mem}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pbacktrack_mem}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pbacktrack\_mem}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{thisown (RNA.pbacktrack\_mem property)@\spxentry{thisown}\spxextra{RNA.pbacktrack\_mem property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pbacktrack_mem.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{pf\_add() (in module RNA)@\spxentry{pf\_add()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pf_add}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pf\_add}}}
{\sphinxparam{\DUrole{n}{dG1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dG2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{kT}\DUrole{o}{=}\DUrole{default_value}{0}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pf\_circ\_fold() (in module RNA)@\spxentry{pf\_circ\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pf_circ_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pf\_circ\_fold}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pf\_float\_precision() (in module RNA)@\spxentry{pf\_float\_precision()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pf_float_precision}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pf\_float\_precision}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Find out whether partition function computations are using single precision floating points.
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if single precision is used, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}


\end{sphinxseealso}


\end{fulllineitems}

\index{pf\_fold() (in module RNA)@\spxentry{pf\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pf_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pf\_fold}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{pfl\_fold() (in module RNA)@\spxentry{pfl\_fold()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pfl_fold}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pfl\_fold}}}
{\sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int w}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double cutoff}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.ElemProbVector}]{\sphinxcrossref{ElemProbVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute base pair probabilities using a sliding\sphinxhyphen{}window approach.

\sphinxAtStartPar
This is a simplified wrapper to RNA.fold\_compound.probs\_window() that given a nucleid acid sequence, a window
size, a maximum base pair span, and a cutoff value computes the pair probabilities for any base pair
in any window. The pair probabilities are returned as a list and the user has to take care to free()
the memory occupied by the list.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The nucleic acid input sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The size of the sliding window

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_bp\_span}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The maximum distance along the backbone between two nucleotides that form a base pairs

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{cutoff}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} A cutoff value that omits all pairs with lower probability

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of base pair probabilities, terminated by an entry with RNA.ep().i and RNA.ep().j set
to 0

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.ep() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.fold_compound.probs_window}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.probs\_window}}}}}, {\hyperref[\detokenize{api_python:RNA.pfl_fold_cb}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.pfl\_fold\_cb}}}}}, {\hyperref[\detokenize{api_python:RNA.pfl_fold_up}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.pfl\_fold\_up}}}}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function uses default model settings! For custom model settings, we refer to the function
RNA.fold\_compound.probs\_window().
\begin{quote}

\sphinxAtStartPar
In case of any computation errors, this function returns \sphinxtitleref{NULL}
\end{quote}
\end{sphinxadmonition}

\end{fulllineitems}

\index{pfl\_fold\_cb() (in module RNA)@\spxentry{pfl\_fold\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pfl_fold_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pfl\_fold\_cb}}}
{\sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int max\_bp\_span}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{pfl\_fold\_up() (in module RNA)@\spxentry{pfl\_fold\_up()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pfl_fold_up}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pfl\_fold\_up}}}
{\sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int ulength}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int max\_bp\_span}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.DoubleDoubleVector}]{\sphinxcrossref{DoubleDoubleVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Compute probability of contiguous unpaired segments.

\sphinxAtStartPar
This is a simplified wrapper to RNA.fold\_compound.probs\_window() that given a nucleic acid sequence, a maximum
length of unpaired segments (\sphinxtitleref{ulength}), a window size, and a maximum base pair span computes the
equilibrium probability of any segment not exceeding \sphinxtitleref{ulength}. The probabilities to be unpaired are
returned as a 1\sphinxhyphen{}based, 2\sphinxhyphen{}dimensional matrix with dimensions \(N \times M\), where \(N\) is
the length of the sequence and \(M\) is the maximum segment length. As an example, the
probability of a segment of size 5 starting at position 100 is stored in the matrix entry
\(X[100][5]\).

\sphinxAtStartPar
It is the users responsibility to free the memory occupied by this matrix.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The nucleic acid input sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ulength}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The maximal length of an unpaired segment

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{window\_size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The size of the sliding window

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{max\_bp\_span}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The maximum distance along the backbone between two nucleotides that form a base pairs

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The probabilities to be unpaired for any segment not exceeding \sphinxtitleref{ulength}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(list\sphinxhyphen{}like(double))}}

\end{description}\end{quote}

\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function uses default model settings! For custom model settings, we refer to the function
RNA.fold\_compound.probs\_window().
\end{sphinxadmonition}

\end{fulllineitems}

\index{pfl\_fold\_up\_cb() (in module RNA)@\spxentry{pfl\_fold\_up\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pfl_fold_up_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pfl\_fold\_up\_cb}}}
{\sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int ulength}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int window\_size}}\sphinxparamcomma \sphinxparam{\DUrole{n}{int max\_bp\_span}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * PyFunc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * data=Py\_None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{plist() (in module RNA)@\spxentry{plist()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plist}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plist}}}
{\sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{float pr}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.ElemProbVector}]{\sphinxcrossref{ElemProbVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Create a RNA.ep() from a dot\sphinxhyphen{}bracket string.

\sphinxAtStartPar
The dot\sphinxhyphen{}bracket string is parsed and for each base pair an entry in the plist is created. The
probability of each pair in the list is set by a function parameter.

\sphinxAtStartPar
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition
should be used to stop looping over its entries
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{struc}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr}} (\sphinxcode{\sphinxupquote{float}}) \textendash{} The probability for each base pair used in the plist

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The plist array

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.ep() *}}

\end{description}\end{quote}

\end{fulllineitems}

\index{plot\_data (class in RNA)@\spxentry{plot\_data}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_data}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_data}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{md (RNA.plot\_data property)@\spxentry{md}\spxextra{RNA.plot\_data property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_data.md}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{md}}}
\pysigstopsignatures
\end{fulllineitems}

\index{options (RNA.plot\_data property)@\spxentry{options}\spxextra{RNA.plot\_data property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_data.options}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{options}}}
\pysigstopsignatures
\end{fulllineitems}

\index{post (RNA.plot\_data property)@\spxentry{post}\spxextra{RNA.plot\_data property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_data.post}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{post}}}
\pysigstopsignatures
\end{fulllineitems}

\index{pre (RNA.plot\_data property)@\spxentry{pre}\spxextra{RNA.plot\_data property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_data.pre}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{pre}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.plot\_data property)@\spxentry{thisown}\spxextra{RNA.plot\_data property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_data.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{plot\_dp\_EPS() (in module RNA)@\spxentry{plot\_dp\_EPS()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_dp_EPS}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_dp\_EPS}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce an encapsulate PostScript (EPS) dot\sphinxhyphen{}plot from one or two lists of base pair probabilities.

\sphinxAtStartPar
This function reads two RNA.ep() lists \sphinxtitleref{upper} and \sphinxtitleref{lower} (e.g. base pair probabilities and a
secondary structure) and produces an EPS “dot plot” with filename \sphinxtitleref{‘filename’} where data from
\sphinxtitleref{upper} is placed in the upper\sphinxhyphen{}triangular and data from \sphinxtitleref{lower} is placed in the lower triangular
part of the matrix.
\begin{quote}

\sphinxAtStartPar
For default output, provide the flag RNA.PLOT\_PROBABILITIES\_DEFAULT as \sphinxtitleref{options} parameter.
\end{quote}

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded function \sphinxtitleref{plot\_dp\_EPS()} where the last three
parameters may be omitted. The default values for these parameters are \sphinxtitleref{lower} = NULL, \sphinxtitleref{auxdata}
= NULL, \sphinxtitleref{options} = RNA.PLOT\_PROBABILITIES\_DEFAULT. See, e.g.   {\hyperref[\detokenize{api_python:RNA.plot_dp_EPS}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_dp\_EPS()}}}}} in
the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A filename for the EPS output

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{upper}} (\sphinxcode{\sphinxupquote{RNA.ep() *}}) \textendash{} The base pair probabilities for the upper triangular part

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{lower}} (\sphinxcode{\sphinxupquote{RNA.ep() *}}) \textendash{} The base pair probabilities for the lower triangular part

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} Options indicating which of the input data should be included in the dot\sphinxhyphen{}plot

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 if EPS file was successfully written, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.plist}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plist}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.plist_from_probs}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.plist\_from\_probs}}}}}, \sphinxcode{\sphinxupquote{RNA.PLOT\_PROBABILITIES\_DEFAULT}}


\end{sphinxseealso}


\end{fulllineitems}

\index{plot\_layout (class in RNA)@\spxentry{plot\_layout}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_layout}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_layout}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{thisown (RNA.plot\_layout property)@\spxentry{thisown}\spxextra{RNA.plot\_layout property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_layout.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{plot\_layout\_circular() (in module RNA)@\spxentry{plot\_layout\_circular()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_layout_circular}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_layout\_circular}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a \sphinxstyleemphasis{circular} secondary structure plot.

\sphinxAtStartPar
This function basically is a wrapper to RNA.plot\_layout() that passes the
{\color{red}\bfseries{}\textasciigrave{}}plot\_type\textasciigrave{}RNA.PLOT\_TYPE\_CIRCULAR.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout\_free}}, {\hyperref[\detokenize{api_python:RNA.plot_layout}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_naview}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_naview}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_simple}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_turtle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_turtle}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_puzzler}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_puzzler}}}}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_circular}}, \sphinxcode{\sphinxupquote{RNA.file\_PS\_rnaplot\_layout}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using
RNA.plot\_coords\_circular() instead!
\end{sphinxadmonition}

\end{fulllineitems}

\index{plot\_layout\_naview() (in module RNA)@\spxentry{plot\_layout\_naview()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_layout_naview}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_layout\_naview}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{plot\_layout\_puzzler() (in module RNA)@\spxentry{plot\_layout\_puzzler()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_layout_puzzler}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_layout\_puzzler}}}
{\sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a secondary structure plot using the \sphinxstyleemphasis{RNApuzzler Algorithm}
{[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} .

\sphinxAtStartPar
This function basically is a wrapper to RNA.plot\_layout() that passes the
{\color{red}\bfseries{}\textasciigrave{}}plot\_type\textasciigrave{}RNA.PLOT\_TYPE\_PUZZLER.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout\_free}}, {\hyperref[\detokenize{api_python:RNA.plot_layout}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_simple}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_circular}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_circular}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_naview}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_naview}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_turtle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_turtle}}}}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_puzzler}}, \sphinxcode{\sphinxupquote{RNA.file\_PS\_rnaplot\_layout}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using
RNA.plot\_coords\_puzzler() instead!
\end{sphinxadmonition}

\end{fulllineitems}

\index{plot\_layout\_simple() (in module RNA)@\spxentry{plot\_layout\_simple()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_layout_simple}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_layout\_simple}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a \sphinxstyleemphasis{simple} secondary structure plot.

\sphinxAtStartPar
This function basically is a wrapper to RNA.plot\_layout() that passes the
{\color{red}\bfseries{}\textasciigrave{}}plot\_type\textasciigrave{}RNA.PLOT\_TYPE\_SIMPLE.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout\_free}}, {\hyperref[\detokenize{api_python:RNA.plot_layout}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_naview}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_naview}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_circular}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_circular}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_turtle}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_turtle}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_puzzler}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_puzzler}}}}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_simple}}, \sphinxcode{\sphinxupquote{RNA.file\_PS\_rnaplot\_layout}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using
RNA.plot\_coords\_simple() instead!
\end{sphinxadmonition}

\end{fulllineitems}

\index{plot\_layout\_turtle() (in module RNA)@\spxentry{plot\_layout\_turtle()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_layout_turtle}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_layout\_turtle}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Create a layout (coordinates, etc.) for a secondary structure plot using the \sphinxstyleemphasis{Turtle Algorithm}
{[}\hyperlink{cite.bibliography:id41}{Wiegreffe \sphinxstyleemphasis{et al.}, 2019}{]} .

\sphinxAtStartPar
This function basically is a wrapper to RNA.plot\_layout() that passes the
{\color{red}\bfseries{}\textasciigrave{}}plot\_type\textasciigrave{}RNA.PLOT\_TYPE\_TURTLE.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
The layout data structure for the provided secondary structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout() *}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.plot\_layout\_free}}, {\hyperref[\detokenize{api_python:RNA.plot_layout}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_simple}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_simple}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_circular}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_circular}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_naview}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_naview}}}}}, {\hyperref[\detokenize{api_python:RNA.plot_layout_puzzler}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.plot\_layout\_puzzler}}}}}, \sphinxcode{\sphinxupquote{RNA.plot\_coords\_turtle}}, \sphinxcode{\sphinxupquote{RNA.file\_PS\_rnaplot\_layout}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
If only X\sphinxhyphen{}Y coordinates of the corresponding structure layout are required, consider using
RNA.plot\_coords\_turtle() instead!
\end{sphinxadmonition}

\end{fulllineitems}

\index{plot\_options\_puzzler (class in RNA)@\spxentry{plot\_options\_puzzler}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_options\_puzzler}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
Options data structure for RNApuzzler algorithm implementation.
\index{drawArcs (RNA.plot\_options\_puzzler attribute)@\spxentry{drawArcs}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.drawArcs}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{drawArcs}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{paired (RNA.plot\_options\_puzzler attribute)@\spxentry{paired}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.paired}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{paired}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{unpaired (RNA.plot\_options\_puzzler attribute)@\spxentry{unpaired}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.unpaired}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{unpaired}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{checkAncestorIntersections (RNA.plot\_options\_puzzler attribute)@\spxentry{checkAncestorIntersections}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.checkAncestorIntersections}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{checkAncestorIntersections}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{checkSiblingIntersections (RNA.plot\_options\_puzzler attribute)@\spxentry{checkSiblingIntersections}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.checkSiblingIntersections}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{checkSiblingIntersections}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{checkExteriorIntersections (RNA.plot\_options\_puzzler attribute)@\spxentry{checkExteriorIntersections}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.checkExteriorIntersections}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{checkExteriorIntersections}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{allowFlipping (RNA.plot\_options\_puzzler attribute)@\spxentry{allowFlipping}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.allowFlipping}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{allowFlipping}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{optimize (RNA.plot\_options\_puzzler attribute)@\spxentry{optimize}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.optimize}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{optimize}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{maximumNumberOfConfigChangesAllowed (RNA.plot\_options\_puzzler attribute)@\spxentry{maximumNumberOfConfigChangesAllowed}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.maximumNumberOfConfigChangesAllowed}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{maximumNumberOfConfigChangesAllowed}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{config (RNA.plot\_options\_puzzler attribute)@\spxentry{config}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.config}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{config}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{filename (RNA.plot\_options\_puzzler attribute)@\spxentry{filename}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.filename}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{filename}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{numberOfChangesAppliedToConfig (RNA.plot\_options\_puzzler attribute)@\spxentry{numberOfChangesAppliedToConfig}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.numberOfChangesAppliedToConfig}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{numberOfChangesAppliedToConfig}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{psNumber (RNA.plot\_options\_puzzler attribute)@\spxentry{psNumber}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.psNumber}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{psNumber}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{allowFlipping (RNA.plot\_options\_puzzler property)@\spxentry{allowFlipping}\spxextra{RNA.plot\_options\_puzzler property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id340}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{allowFlipping}}}
\pysigstopsignatures
\end{fulllineitems}

\index{checkAncestorIntersections (RNA.plot\_options\_puzzler property)@\spxentry{checkAncestorIntersections}\spxextra{RNA.plot\_options\_puzzler property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id341}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{checkAncestorIntersections}}}
\pysigstopsignatures
\end{fulllineitems}

\index{checkExteriorIntersections (RNA.plot\_options\_puzzler property)@\spxentry{checkExteriorIntersections}\spxextra{RNA.plot\_options\_puzzler property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id342}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{checkExteriorIntersections}}}
\pysigstopsignatures
\end{fulllineitems}

\index{checkSiblingIntersections (RNA.plot\_options\_puzzler property)@\spxentry{checkSiblingIntersections}\spxextra{RNA.plot\_options\_puzzler property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id343}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{checkSiblingIntersections}}}
\pysigstopsignatures
\end{fulllineitems}

\index{optimize (RNA.plot\_options\_puzzler property)@\spxentry{optimize}\spxextra{RNA.plot\_options\_puzzler property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id344}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{optimize}}}
\pysigstopsignatures
\end{fulllineitems}

\index{plot\_options\_puzzler() (RNA.plot\_options\_puzzler method)@\spxentry{plot\_options\_puzzler()}\spxextra{RNA.plot\_options\_puzzler method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.plot_options_puzzler}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{plot\_options\_puzzler}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Options data structure for RNApuzzler algorithm implementation.
\index{drawArcs (RNA.plot\_options\_puzzler attribute)@\spxentry{drawArcs}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id345}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{drawArcs}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{paired (RNA.plot\_options\_puzzler attribute)@\spxentry{paired}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id346}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{paired}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{unpaired (RNA.plot\_options\_puzzler attribute)@\spxentry{unpaired}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id347}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{unpaired}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{checkAncestorIntersections (RNA.plot\_options\_puzzler attribute)@\spxentry{checkAncestorIntersections}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id348}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{checkAncestorIntersections}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{checkSiblingIntersections (RNA.plot\_options\_puzzler attribute)@\spxentry{checkSiblingIntersections}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id349}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{checkSiblingIntersections}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{checkExteriorIntersections (RNA.plot\_options\_puzzler attribute)@\spxentry{checkExteriorIntersections}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id350}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{checkExteriorIntersections}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{allowFlipping (RNA.plot\_options\_puzzler attribute)@\spxentry{allowFlipping}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id351}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{allowFlipping}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{optimize (RNA.plot\_options\_puzzler attribute)@\spxentry{optimize}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id352}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{optimize}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{short}}

\end{description}\end{quote}

\end{fulllineitems}

\index{maximumNumberOfConfigChangesAllowed (RNA.plot\_options\_puzzler attribute)@\spxentry{maximumNumberOfConfigChangesAllowed}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id353}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{maximumNumberOfConfigChangesAllowed}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{config (RNA.plot\_options\_puzzler attribute)@\spxentry{config}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id354}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{config}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{filename (RNA.plot\_options\_puzzler attribute)@\spxentry{filename}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id355}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{filename}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{numberOfChangesAppliedToConfig (RNA.plot\_options\_puzzler attribute)@\spxentry{numberOfChangesAppliedToConfig}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id356}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{numberOfChangesAppliedToConfig}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{psNumber (RNA.plot\_options\_puzzler attribute)@\spxentry{psNumber}\spxextra{RNA.plot\_options\_puzzler attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id357}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{psNumber}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{thisown (RNA.plot\_options\_puzzler property)@\spxentry{thisown}\spxextra{RNA.plot\_options\_puzzler property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_options_puzzler.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{plot\_structure() (in module RNA)@\spxentry{plot\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_structure}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int file\_format=}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_layout layout=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_data data=None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{plot\_structure\_eps() (in module RNA)@\spxentry{plot\_structure\_eps()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_structure_eps}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_structure\_eps}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_layout layout=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_data data=None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{plot\_structure\_gml() (in module RNA)@\spxentry{plot\_structure\_gml()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_structure_gml}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_structure\_gml}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_layout layout=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_data data=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char option=\textquotesingle{}x\textquotesingle{}}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{plot\_structure\_ssv() (in module RNA)@\spxentry{plot\_structure\_ssv()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_structure_ssv}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_structure\_ssv}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_layout layout=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_data data=None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{plot\_structure\_svg() (in module RNA)@\spxentry{plot\_structure\_svg()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_structure_svg}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_structure\_svg}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_layout layout=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_data data=None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{plot\_structure\_xrna() (in module RNA)@\spxentry{plot\_structure\_xrna()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.plot_structure_xrna}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{plot\_structure\_xrna}}}
{\sphinxparam{\DUrole{n}{std::string filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_layout layout=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{plot\_data data=None}}}
{{ $\rightarrow$ int}}
\pysigstopsignatures
\end{fulllineitems}

\index{print\_bppm() (in module RNA)@\spxentry{print\_bppm()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.print_bppm}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{print\_bppm}}}
{\sphinxparam{\DUrole{n}{T}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
print string representation of probability profile

\end{fulllineitems}

\index{print\_tree() (in module RNA)@\spxentry{print\_tree()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.print_tree}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{print\_tree}}}
{\sphinxparam{\DUrole{n}{t}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Print a tree (mainly for debugging).

\end{fulllineitems}

\index{probing\_data (class in RNA)@\spxentry{probing\_data}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data}}}
{\sphinxparam{\DUrole{n}{self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m}}\sphinxparamcomma \sphinxparam{\DUrole{n}{b}}\sphinxparamcomma \sphinxparam{\DUrole{n}{transform\_f}\DUrole{o}{=}\DUrole{default_value}{Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{transform\_data}\DUrole{o}{=}\DUrole{default_value}{Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data\_free\_f}\DUrole{o}{=}\DUrole{default_value}{Py\_None}}}
{}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data}}}
{\sphinxparam{\DUrole{n}{self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{beta}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pr\_conversion=}}\sphinxparamcomma \sphinxparam{\DUrole{n}{pr\_default=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data}}}
{\sphinxparam{\DUrole{n}{self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{temperature}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options=}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unpaired\_data=\{\}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{paired\_data=\{\}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{transform\_f=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{transform\_data=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data\_free\_f=Py\_None}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data}}}
{\sphinxparam{\DUrole{n}{probing\_data self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double m}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double b}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data}}}
{\sphinxparam{\DUrole{n}{probing\_data self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleDoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector ms}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector bs}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data}}}
{\sphinxparam{\DUrole{n}{probing\_data self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleDoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector betas}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector pr\_conversions=std::vector\textless{} std::string \textgreater{}()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector pr\_defaults=std::vector\textless{} double \textgreater{}()}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data}}}
{\sphinxparam{\DUrole{n}{probing\_data self}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double temperature}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned char options}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector unpaired\_data=\{\}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector paired\_data=\{\}}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
The {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{probing\_data()}}}}} constructor can be invoked in different ways.
Depending on the input parameters, the object returned will invoke
particular probing data integration methods either for single
sequences or multiple sequence alignments. Hence, it subsumes and
provides an easy interface for the functions
{\hyperref[\detokenize{api_python:RNA.probing_data_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{probing\_data\_deigan()}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_deigan_comparative}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{probing\_data\_deigan\_comparative()}}}}},
etc.

\sphinxAtStartPar
When multiple sets of probing data are supplied, the constructor
assumes preparations for multiple sequence alignments (MSAs). As
a consequence, the parameters for the conversion methods must be
supplied as lists of parameters, one for each sequence.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{reactivities}} (\sphinxcode{\sphinxupquote{list(double)}} or \sphinxcode{\sphinxupquote{list(list(double)}}) \textendash{} single sequence probing data (1\sphinxhyphen{}based) or multiple sequence probing data (0\sphinxhyphen{}based list for each sequence of 1\sphinxhyphen{}based data)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} slope for the Deigan et al. 2009 method

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} intercept for the Deigan et al. 2009 method

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ms}} (\sphinxcode{\sphinxupquote{list(double)}}) \textendash{} multiple slopes for the Deigan et al. 2009 method (0\sphinxhyphen{}based, one for each sequence)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{bs}} (\sphinxcode{\sphinxupquote{list(double)}}) \textendash{} multiple intercepts for the Deigan et al. 2009 method (0\sphinxhyphen{}based, one for each sequence)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{beta}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} scaling factor for Zarringhalam et al. 2012 method

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{betas}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} multiple scaling factors for Zarringhalam et al. 2012 method (0\sphinxhyphen{}based, one for each sequence)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_conversion}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} probing data to conversion strategy

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_conversions}} (\sphinxcode{\sphinxupquote{list(string)}}) \textendash{} multiple probing data to conversion strategies (0\sphinxhyphen{}based, one for each sequence)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_default}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} default probability for a nucleotide where reactivity data is missing for

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pr\_defaults}} (\sphinxcode{\sphinxupquote{list(double)}}) \textendash{} list of default probabilities for a nucleotide where reactivity data is missing for (0\sphinxhyphen{}based, one for each sequence)

\end{itemize}

\end{description}\end{quote}
\index{probing\_data\_linear\_energies() (RNA.probing\_data method)@\spxentry{probing\_data\_linear\_energies()}\spxextra{RNA.probing\_data method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data.probing_data_linear_energies}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{probing\_data\_linear\_energies}}}
{\sphinxparam{\DUrole{n}{pos}}\sphinxparamcomma \sphinxparam{\DUrole{n}{fc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{target}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_linear\_num() (RNA.probing\_data method)@\spxentry{probing\_data\_linear\_num()}\spxextra{RNA.probing\_data method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data.probing_data_linear_num}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{probing\_data\_linear\_num}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_linear\_raw() (RNA.probing\_data method)@\spxentry{probing\_data\_linear\_raw()}\spxextra{RNA.probing\_data method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data.probing_data_linear_raw}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{probing\_data\_linear\_raw}}}
{\sphinxparam{\DUrole{n}{pos}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_linear\_weight() (RNA.probing\_data method)@\spxentry{probing\_data\_linear\_weight()}\spxextra{RNA.probing\_data method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data.probing_data_linear_weight}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{probing\_data\_linear\_weight}}}
{\sphinxparam{\DUrole{n}{pos}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.probing\_data property)@\spxentry{thisown}\spxextra{RNA.probing\_data property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{probing\_data\_deigan() (in module RNA)@\spxentry{probing\_data\_deigan()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_deigan}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_deigan}}}
{\sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double m}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double b}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_deigan\_comparative() (in module RNA)@\spxentry{probing\_data\_deigan\_comparative()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_deigan_comparative}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_deigan\_comparative}}}
{\sphinxparam{\DUrole{n}{DoubleDoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector ms}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector bs}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int multi\_params=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_eddy() (in module RNA)@\spxentry{probing\_data\_eddy()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_eddy}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_eddy}}}
{\sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double temperature}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned char options=}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector unpaired\_data=\{\}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector paired\_data=\{\}}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_eddy\_comparative() (in module RNA)@\spxentry{probing\_data\_eddy\_comparative()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_eddy_comparative}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_eddy\_comparative}}}
{\sphinxparam{\DUrole{n}{DoubleDoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double temperature}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned char options=}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleDoubleVector unpaired\_data=\{\}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleDoubleVector paired\_data=\{\}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int multi\_params=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_free() (in module RNA)@\spxentry{probing\_data\_free()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_free}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_free}}}
{\sphinxparam{\DUrole{n}{d}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Free memory occupied by the (prepared) probing data.


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_probing}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_probing}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_deigan}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_deigan}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_deigan_comparative}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_deigan\_comparative}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_zarringhalam}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_zarringhalam}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_zarringhalam_comparative}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_zarringhalam\_comparative}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_eddy}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_eddy}}}}}, {\hyperref[\detokenize{api_python:RNA.probing_data_eddy_comparative}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.probing\_data\_eddy\_comparative}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{probing\_data\_linear() (in module RNA)@\spxentry{probing\_data\_linear()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_linear}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_linear}}}
{\sphinxparam{\DUrole{n}{DoubleVector data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector data\_weights}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * strategy\_cb}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * strategy\_cb\_options=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyObject * strategy\_cb\_options\_free=Py\_None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_zarringhalam() (in module RNA)@\spxentry{probing\_data\_zarringhalam()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_zarringhalam}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_zarringhalam}}}
{\sphinxparam{\DUrole{n}{DoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double beta}}\sphinxparamcomma \sphinxparam{\DUrole{n}{std::string pr\_conversion=}}\sphinxparamcomma \sphinxparam{\DUrole{n}{double pr\_default=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{probing\_data\_zarringhalam\_comparative() (in module RNA)@\spxentry{probing\_data\_zarringhalam\_comparative()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.probing_data_zarringhalam_comparative}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{probing\_data\_zarringhalam\_comparative}}}
{\sphinxparam{\DUrole{n}{DoubleDoubleVector reactivities}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector betas}}\sphinxparamcomma \sphinxparam{\DUrole{n}{StringVector pr\_conversions=std::vector\textless{} std::string \textgreater{}()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{DoubleVector pr\_defaults=std::vector\textless{} double \textgreater{}()}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int multi\_params=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.probing_data}]{\sphinxcrossref{probing\_data}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{profile\_edit\_distance() (in module RNA)@\spxentry{profile\_edit\_distance()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.profile_edit_distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{profile\_edit\_distance}}}
{\sphinxparam{\DUrole{n}{T1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Align the 2 probability profiles T1, T2
.

\sphinxAtStartPar
This is like a Needleman\sphinxhyphen{}Wunsch alignment, we should really use affine gap\sphinxhyphen{}costs ala Gotoh

\end{fulllineitems}

\index{pt\_pk\_remove() (in module RNA)@\spxentry{pt\_pk\_remove()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.pt_pk_remove}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pt\_pk\_remove}}}
{\sphinxparam{\DUrole{n}{IntVector pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=0}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.IntVector}]{\sphinxcrossref{IntVector}}}}}
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{pt\_pk\_remove}}}
{\sphinxparam{\DUrole{n}{varArrayShort pt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=0}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.varArrayShort}]{\sphinxcrossref{varArrayShort}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Remove pseudo\sphinxhyphen{}knots from a pair table.

\sphinxAtStartPar
This function removes pseudo\sphinxhyphen{}knots from an input structure by determining the minimum number of base
pairs that need to be removed to make the structure pseudo\sphinxhyphen{}knot free.

\sphinxAtStartPar
To accomplish that, we use a dynamic programming algorithm similar to the Nussinov maxmimum matching
approach.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ptable}} (\sphinxcode{\sphinxupquote{const short *}}) \textendash{} Input structure that may include pseudo\sphinxhyphen{}knots

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}})

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The input structure devoid of pseudo\sphinxhyphen{}knots

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.db_pk_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_pk\_remove}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{ptable() (in module RNA)@\spxentry{ptable()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ptable}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ptable}}}
{\sphinxparam{\DUrole{n}{std::string str}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.varArrayShort}]{\sphinxcrossref{varArrayShort}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table for a secondary structure string.

\sphinxAtStartPar
This function takes an input string of a secondary structure annotation in dot\sphinxhyphen{}bracket\sphinxhyphen{}notation or
dot\sphinxhyphen{}bracket\sphinxhyphen{}ext\sphinxhyphen{}notation, and converts it into a pair table representation.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This functions is wrapped as overloaded function \sphinxtitleref{ptable()} that takes an optional argument
\sphinxtitleref{options} to specify which type of matching brackets should be considered during conversion. The
default set is round brackets, i.e. RNA.BRACKETS\_RND. See, e.g.   {\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable()}}}}} in
the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} Secondary structure in dot\sphinxhyphen{}bracket\sphinxhyphen{}ext\sphinxhyphen{}notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} A bitmask to specify which brackets are recognized during conversion to pair table

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to a new pair table of the provided secondary structure

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.ptable}}}}}, {\hyperref[\detokenize{api_python:RNA.db_from_ptable}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_from\_ptable}}}}}, \sphinxcode{\sphinxupquote{RNA.db\_flatten\_to}}, {\hyperref[\detokenize{api_python:RNA.pt_pk_remove}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.pt\_pk\_remove}}}}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_ANG}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_CLY}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_SQR}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_ALPHA}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_DEFAULT}}, \sphinxcode{\sphinxupquote{RNA.BRACKETS\_ANY}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
This function also extracts crossing base pairs, i.e. pseudo\sphinxhyphen{}knots if more than a single matching
bracket type is allowed through the bitmask \sphinxtitleref{options}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{ptable\_pk() (in module RNA)@\spxentry{ptable\_pk()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ptable_pk}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ptable\_pk}}}
{\sphinxparam{\DUrole{n}{std::string str}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.IntVector}]{\sphinxcrossref{IntVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Create a pair table of a secondary structure (pseudo\sphinxhyphen{}knot version).

\sphinxAtStartPar
Returns a newly allocated table, such that table{[}i{]}=j if (i.j) pair or 0 if i is unpaired, table{[}0{]}
contains the length of the structure.

\sphinxAtStartPar
In contrast to RNA.ptable() this function also recognizes the base pairs denoted by ‘{[}’ and ‘{]}’
brackets. Thus, this function behaves like
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in (extended) dot\sphinxhyphen{}bracket notation

\sphinxlineitem{Returns}
\sphinxAtStartPar
A pointer to the created pair\_table

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.ptable\_from\_string}}


\end{sphinxseealso}


\end{fulllineitems}

\index{random\_string() (in module RNA)@\spxentry{random\_string()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.random_string}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{random\_string}}}
{\sphinxparam{\DUrole{n}{l}}\sphinxparamcomma \sphinxparam{\DUrole{n}{symbols}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Create a random string using characters from a specified symbol set.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{l}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The length of the sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{symbols}} (\sphinxcode{\sphinxupquote{const char}}) \textendash{} The symbol set

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A random string of length ‘l’ containing characters from the symbolset

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_parameter\_file() (in module RNA)@\spxentry{read\_parameter\_file()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.read_parameter_file}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{read\_parameter\_file}}}
{\sphinxparam{\DUrole{n}{fname}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Read energy parameters from a file.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.params\_load() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} (\sphinxcode{\sphinxupquote{const char}}) \textendash{} The path to the file containing the energy parameters

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_record() (in module RNA)@\spxentry{read\_record()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.read_record}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{read\_record}}}
{\sphinxparam{\DUrole{n}{header}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{rest}}\sphinxparamcomma \sphinxparam{\DUrole{n}{options}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get a data record from stdin.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}This function is deprecated! Use RNA.file\_fasta\_read\_record() as a replacment.

\end{fulllineitems}

\index{rotational\_symmetry() (in module RNA)@\spxentry{rotational\_symmetry()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.rotational_symmetry}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{rotational\_symmetry}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Determine the order of rotational symmetry for a NULL\sphinxhyphen{}terminated string of ASCII characters.

\sphinxAtStartPar
The algorithm applies a fast search of the provided string within itself, assuming the end of the
string wraps around to connect with it’s start. For example, a string of the form \sphinxtitleref{AABAAB} has
rotational symmetry of order \sphinxtitleref{2}

\sphinxAtStartPar
If the argument \sphinxtitleref{positions} is not \sphinxtitleref{NULL}, the function stores an array of string start positions
for rotational shifts that map the string back onto itself. This array has length of order of
rotational symmetry, i.e. the number returned by this function. The first element \sphinxtitleref{positions\textasciigrave{}{[}0{]}
always contains a shift value of \textasciigrave{}0} representing the trivial rotation.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as overloaded global function \sphinxtitleref{rotational\_symmetry()}. It merges the
functionalities of RNA.rotational\_symmetry(), RNA.rotational\_symmetry\_pos(),
RNA.rotational\_symmetry\_num(), and RNA.rotational\_symmetry\_pos\_num(). In contrast to our
C\sphinxhyphen{}implementation, this function doesn’t return the order of rotational symmetry as a single
value, but returns a list of cyclic permutation shifts that result in a rotationally symmetric
string. The length of the list then determines the order of rotational symmetry. See, e.g.
{\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A NULL\sphinxhyphen{}terminated string of characters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{positions}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(list\sphinxhyphen{}like(unsigned int))}}) \textendash{} A pointer to an (undefined) list of alternative string start positions that lead to an identity
mapping (may be NULL)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The order of rotational symmetry

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.rotational_symmetry}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.rotational\_symmetry}}}}}, \sphinxcode{\sphinxupquote{RNA.rotational\_symmetry\_num}}, \sphinxcode{\sphinxupquote{RNA.rotational\_symmetry\_num\_pos}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Do not forget to release the memory occupied by \sphinxtitleref{positions} after a successful execution of this
function.
\end{sphinxadmonition}

\end{fulllineitems}

\index{salt\_duplex\_init() (in module RNA)@\spxentry{salt\_duplex\_init()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.salt_duplex_init}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{salt\_duplex\_init}}}
{\sphinxparam{\DUrole{n}{md}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for duplex initialization at a given salt concentration.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{RNA.md() *}}) \textendash{} Model details data structure that specfifies salt concentration in buffer (M)

\sphinxlineitem{Returns}
\sphinxAtStartPar
Rounded correction for duplex initialization in dcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{salt\_loop() (in module RNA)@\spxentry{salt\_loop()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.salt_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{salt\_loop}}}
{\sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{salt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T}}\sphinxparamcomma \sphinxparam{\DUrole{n}{backbonelen}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for a loop at a given salt concentration and temperature.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{L}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} backbone number in loop

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} salt concentration (M)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} absolute temperature (K)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{backbonelen}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Backbone Length, phosphate\sphinxhyphen{}to\sphinxhyphen{}phosphate distance (typically 6 for RNA, 6.76 for DNA)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Salt correction for loop in dcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}

\end{fulllineitems}

\index{salt\_loop\_int() (in module RNA)@\spxentry{salt\_loop\_int()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.salt_loop_int}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{salt\_loop\_int}}}
{\sphinxparam{\DUrole{n}{L}}\sphinxparamcomma \sphinxparam{\DUrole{n}{salt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T}}\sphinxparamcomma \sphinxparam{\DUrole{n}{backbonelen}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for a loop at a given salt concentration and temperature.

\sphinxAtStartPar
This functions is same as RNA.salt\_loop but returns rounded salt correction in integer
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{L}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} backbone number in loop

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} salt concentration (M)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} absolute temperature (K)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{backbonelen}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Backbone Length, phosphate\sphinxhyphen{}to\sphinxhyphen{}phosphate distance (typically 6 for RNA, 6.76 for DNA)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Rounded salt correction for loop in dcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.salt_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.salt\_loop}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{salt\_ml() (in module RNA)@\spxentry{salt\_ml()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.salt_ml}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{salt\_ml}}}
{\sphinxparam{\DUrole{n}{saltLoop}}\sphinxparamcomma \sphinxparam{\DUrole{n}{lower}}\sphinxparamcomma \sphinxparam{\DUrole{n}{upper}}\sphinxparamcomma \sphinxparam{\DUrole{n}{m}}\sphinxparamcomma \sphinxparam{\DUrole{n}{b}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Fit linear function to loop salt correction.

\sphinxAtStartPar
For a given range of loop size (backbone number), we perform a linear fitting on loop salt
correction
\begin{equation*}
\begin{split}\text{Loop correction} \approx m \cdot L + b.\end{split}
\end{equation*}\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{saltLoop}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} List of loop salt correction of size from 1

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{lower}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Define the size lower bound for fitting

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{upper}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Define the size upper bound for fitting

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{m}} (\sphinxcode{\sphinxupquote{int *}}) \textendash{} pointer to store the parameter m in fitting result

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{b}} (\sphinxcode{\sphinxupquote{int *}}) \textendash{} pointer to store the parameter b in fitting result

\end{itemize}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.salt_loop}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.salt\_loop}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{salt\_stack() (in module RNA)@\spxentry{salt\_stack()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.salt_stack}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{salt\_stack}}}
{\sphinxparam{\DUrole{n}{salt}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T}}\sphinxparamcomma \sphinxparam{\DUrole{n}{hrise}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Get salt correction for a stack at a given salt concentration and temperature.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{salt}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} salt concentration (M)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} absolute temperature (K)

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{hrise}} (\sphinxcode{\sphinxupquote{double}}) \textendash{} Helical Rise (typically 2.8 for RNA, 3.4 for DNA)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Rounded salt correction for stack in dcal/mol

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{sc\_add\_bt\_pycallback() (in module RNA)@\spxentry{sc\_add\_bt\_pycallback()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_add_bt_pycallback}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_add\_bt\_pycallback}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyFunc}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_add\_exp\_f\_pycallback() (in module RNA)@\spxentry{sc\_add\_exp\_f\_pycallback()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_add_exp_f_pycallback}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_add\_exp\_f\_pycallback}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyFunc}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_add\_f\_pycallback() (in module RNA)@\spxentry{sc\_add\_f\_pycallback()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_add_f_pycallback}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_add\_f\_pycallback}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{callback}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_add\_pydata() (in module RNA)@\spxentry{sc\_add\_pydata()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_add_pydata}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_add\_pydata}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{callback}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{sc\_mod\_param (class in RNA)@\spxentry{sc\_mod\_param}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_mod\_param}}}
{\sphinxparam{\DUrole{n}{json}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{available (RNA.sc\_mod\_param attribute)@\spxentry{available}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.available}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{available}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{name (RNA.sc\_mod\_param attribute)@\spxentry{name}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.name}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{name}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{one\_letter\_code (RNA.sc\_mod\_param attribute)@\spxentry{one\_letter\_code}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.one_letter_code}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{one\_letter\_code}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{unmodified (RNA.sc\_mod\_param attribute)@\spxentry{unmodified}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.unmodified}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{unmodified}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{fallback (RNA.sc\_mod\_param attribute)@\spxentry{fallback}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.fallback}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{fallback}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pairing\_partners (RNA.sc\_mod\_param attribute)@\spxentry{pairing\_partners}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.pairing_partners}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pairing\_partners}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pairing\_partners\_encoding (RNA.sc\_mod\_param attribute)@\spxentry{pairing\_partners\_encoding}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.pairing_partners_encoding}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pairing\_partners\_encoding}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{unmodified\_encoding (RNA.sc\_mod\_param attribute)@\spxentry{unmodified\_encoding}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.unmodified_encoding}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{unmodified\_encoding}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{fallback\_encoding (RNA.sc\_mod\_param attribute)@\spxentry{fallback\_encoding}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.fallback_encoding}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{fallback\_encoding}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{num\_ptypes (RNA.sc\_mod\_param attribute)@\spxentry{num\_ptypes}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.num_ptypes}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{num\_ptypes}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{size\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ptypes (RNA.sc\_mod\_param attribute)@\spxentry{ptypes}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.ptypes}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ptypes}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{size\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{stack\_dG (RNA.sc\_mod\_param attribute)@\spxentry{stack\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.stack_dG}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{stack\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{stack\_dH (RNA.sc\_mod\_param attribute)@\spxentry{stack\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.stack_dH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{stack\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle5\_dG (RNA.sc\_mod\_param attribute)@\spxentry{dangle5\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.dangle5_dG}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle5\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle5\_dH (RNA.sc\_mod\_param attribute)@\spxentry{dangle5\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.dangle5_dH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle5\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle3\_dG (RNA.sc\_mod\_param attribute)@\spxentry{dangle3\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.dangle3_dG}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle3\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle3\_dH (RNA.sc\_mod\_param attribute)@\spxentry{dangle3\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.dangle3_dH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle3\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch\_dG (RNA.sc\_mod\_param attribute)@\spxentry{mismatch\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.mismatch_dG}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch\_dH (RNA.sc\_mod\_param attribute)@\spxentry{mismatch\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.mismatch_dH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{terminal\_dG (RNA.sc\_mod\_param attribute)@\spxentry{terminal\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.terminal_dG}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{terminal\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{terminal\_dH (RNA.sc\_mod\_param attribute)@\spxentry{terminal\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.terminal_dH}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{terminal\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{available (RNA.sc\_mod\_param attribute)@\spxentry{available}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id358}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{available}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{name (RNA.sc\_mod\_param attribute)@\spxentry{name}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id359}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{name}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{one\_letter\_code (RNA.sc\_mod\_param attribute)@\spxentry{one\_letter\_code}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id360}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{one\_letter\_code}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{unmodified (RNA.sc\_mod\_param attribute)@\spxentry{unmodified}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id361}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{unmodified}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{fallback (RNA.sc\_mod\_param attribute)@\spxentry{fallback}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id362}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{fallback}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pairing\_partners (RNA.sc\_mod\_param attribute)@\spxentry{pairing\_partners}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id363}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pairing\_partners}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{char}}

\end{description}\end{quote}

\end{fulllineitems}

\index{pairing\_partners\_encoding (RNA.sc\_mod\_param attribute)@\spxentry{pairing\_partners\_encoding}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id364}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{pairing\_partners\_encoding}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{unmodified\_encoding (RNA.sc\_mod\_param attribute)@\spxentry{unmodified\_encoding}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id365}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{unmodified\_encoding}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{fallback\_encoding (RNA.sc\_mod\_param attribute)@\spxentry{fallback\_encoding}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id366}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{fallback\_encoding}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{num\_ptypes (RNA.sc\_mod\_param attribute)@\spxentry{num\_ptypes}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id367}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{num\_ptypes}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{size\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ptypes (RNA.sc\_mod\_param attribute)@\spxentry{ptypes}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id368}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{ptypes}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{size\_t}}

\end{description}\end{quote}

\end{fulllineitems}

\index{stack\_dG (RNA.sc\_mod\_param attribute)@\spxentry{stack\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id369}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{stack\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{stack\_dH (RNA.sc\_mod\_param attribute)@\spxentry{stack\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id370}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{stack\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle5\_dG (RNA.sc\_mod\_param attribute)@\spxentry{dangle5\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id371}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle5\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle5\_dH (RNA.sc\_mod\_param attribute)@\spxentry{dangle5\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id372}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle5\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle3\_dG (RNA.sc\_mod\_param attribute)@\spxentry{dangle3\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id373}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle3\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{dangle3\_dH (RNA.sc\_mod\_param attribute)@\spxentry{dangle3\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id374}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{dangle3\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch\_dG (RNA.sc\_mod\_param attribute)@\spxentry{mismatch\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id375}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{mismatch\_dH (RNA.sc\_mod\_param attribute)@\spxentry{mismatch\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id376}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{mismatch\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{terminal\_dG (RNA.sc\_mod\_param attribute)@\spxentry{terminal\_dG}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id377}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{terminal\_dG}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{terminal\_dH (RNA.sc\_mod\_param attribute)@\spxentry{terminal\_dH}\spxextra{RNA.sc\_mod\_param attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id378}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{terminal\_dH}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{thisown (RNA.sc\_mod\_param property)@\spxentry{thisown}\spxextra{RNA.sc\_mod\_param property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_param.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{sc\_mod\_parameters\_free() (in module RNA)@\spxentry{sc\_mod\_parameters\_free()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_parameters_free}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_mod\_parameters\_free}}}
{\sphinxparam{\DUrole{n}{params}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Release memory occupied by a modified base parameter data structure.

\sphinxAtStartPar
Properly free a RNA.sc\_mod\_param() data structure
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{params}} ({\hyperref[\detokenize{api_python:RNA.sc_mod_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_param()}}}}}) \textendash{} The data structure to free

\end{description}\end{quote}

\end{fulllineitems}

\index{sc\_mod\_read\_from\_json() (in module RNA)@\spxentry{sc\_mod\_read\_from\_json()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_read_from_json}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_mod\_read\_from\_json}}}
{\sphinxparam{\DUrole{n}{json}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Parse and extract energy parameters for a modified base from a JSON string.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as an overloaded function \sphinxtitleref{sc\_mod\_read\_from\_json()} where the \sphinxtitleref{md}
parameter may be omitted and defaults to \sphinxtitleref{NULL}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_json()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} \textendash{} The JSON file containing the specifications of the modified base

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{RNA.md() *}}) \textendash{} A model\sphinxhyphen{}details data structure (for look\sphinxhyphen{}up of canonical base pairs)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Parameters of the modified base

\sphinxlineitem{Return type}
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.sc_mod_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_param()}}}}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_jsonfile}}}}}, {\hyperref[\detokenize{api_python:RNA.sc_mod_parameters_free}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_parameters\_free}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod}}}}}, \sphinxcode{\sphinxupquote{modified\sphinxhyphen{}}}, \sphinxcode{\sphinxupquote{bases\sphinxhyphen{}}}, \sphinxcode{\sphinxupquote{params}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_mod\_read\_from\_jsonfile() (in module RNA)@\spxentry{sc\_mod\_read\_from\_jsonfile()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_mod_read_from_jsonfile}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_mod\_read\_from\_jsonfile}}}
{\sphinxparam{\DUrole{n}{filename}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md}\DUrole{o}{=}\DUrole{default_value}{None}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Parse and extract energy parameters for a modified base from a JSON file.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
This function is available as an overloaded function \sphinxtitleref{sc\_mod\_read\_from\_jsonfile()} where the
\sphinxtitleref{md} parameter may be omitted and defaults to \sphinxtitleref{NULL}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_jsonfile}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_jsonfile()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}} .
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{filename}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The JSON file containing the specifications of the modified base

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{RNA.md() *}}) \textendash{} A model\sphinxhyphen{}details data structure (for look\sphinxhyphen{}up of canonical base pairs)

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
Parameters of the modified base

\sphinxlineitem{Return type}
\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.sc_mod_param}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_param()}}}}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.sc_mod_read_from_json}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_read\_from\_json}}}}}, {\hyperref[\detokenize{api_python:RNA.sc_mod_parameters_free}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.sc\_mod\_parameters\_free}}}}}, {\hyperref[\detokenize{api_python:RNA.fold_compound.sc_mod}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.fold\_compound.sc\_mod}}}}}, \sphinxcode{\sphinxupquote{modified\sphinxhyphen{}}}, \sphinxcode{\sphinxupquote{bases\sphinxhyphen{}params}}


\end{sphinxseealso}


\end{fulllineitems}

\index{sc\_multi\_cb\_add\_pycallback() (in module RNA)@\spxentry{sc\_multi\_cb\_add\_pycallback()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.sc_multi_cb_add_pycallback}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{sc\_multi\_cb\_add\_pycallback}}}
{\sphinxparam{\DUrole{n}{fc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{f}}\sphinxparamcomma \sphinxparam{\DUrole{n}{f\_exp}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data\_prepare}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data\_free}}\sphinxparamcomma \sphinxparam{\DUrole{n}{decomp\_type}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{score (class in RNA)@\spxentry{score}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{score}}}
{\sphinxparam{\DUrole{n}{TP}\DUrole{o}{=}\DUrole{default_value}{0.0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{TN}\DUrole{o}{=}\DUrole{default_value}{0.0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FP}\DUrole{o}{=}\DUrole{default_value}{0.0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{FN}\DUrole{o}{=}\DUrole{default_value}{0.0}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{F1 (RNA.score property)@\spxentry{F1}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.F1}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{F1}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FDR (RNA.score property)@\spxentry{FDR}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.FDR}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FDR}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FN (RNA.score property)@\spxentry{FN}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.FN}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FN}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FNR (RNA.score property)@\spxentry{FNR}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.FNR}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FNR}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FOR (RNA.score property)@\spxentry{FOR}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.FOR}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FOR}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FP (RNA.score property)@\spxentry{FP}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.FP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FP}}}
\pysigstopsignatures
\end{fulllineitems}

\index{FPR (RNA.score property)@\spxentry{FPR}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.FPR}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{FPR}}}
\pysigstopsignatures
\end{fulllineitems}

\index{MCC (RNA.score property)@\spxentry{MCC}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.MCC}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{MCC}}}
\pysigstopsignatures
\end{fulllineitems}

\index{NPV (RNA.score property)@\spxentry{NPV}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.NPV}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{NPV}}}
\pysigstopsignatures
\end{fulllineitems}

\index{PPV (RNA.score property)@\spxentry{PPV}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.PPV}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{PPV}}}
\pysigstopsignatures
\end{fulllineitems}

\index{TN (RNA.score property)@\spxentry{TN}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.TN}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{TN}}}
\pysigstopsignatures
\end{fulllineitems}

\index{TNR (RNA.score property)@\spxentry{TNR}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.TNR}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{TNR}}}
\pysigstopsignatures
\end{fulllineitems}

\index{TP (RNA.score property)@\spxentry{TP}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.TP}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{TP}}}
\pysigstopsignatures
\end{fulllineitems}

\index{TPR (RNA.score property)@\spxentry{TPR}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.TPR}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{TPR}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.score property)@\spxentry{thisown}\spxextra{RNA.score property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.score.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{seq\_encode() (in module RNA)@\spxentry{seq\_encode()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.seq_encode}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{seq\_encode}}}
{\sphinxparam{\DUrole{n}{std::string sequence}}\sphinxparamcomma \sphinxparam{\DUrole{n}{md md\_p=None}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.IntVector}]{\sphinxcrossref{IntVector}}}}}
\pysigstopsignatures
\sphinxAtStartPar
Get a numerical representation of the nucleotide sequence.

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
In the target scripting language, this function is wrapped as overloaded function \sphinxtitleref{seq\_encode()}
where the last parameter, the \sphinxtitleref{model\_details} data structure, is optional. If it is omitted,
default model settings are applied, i.e. default nucleotide letter conversion. The wrapped
function returns a list/tuple of integer representations of the input sequence. See, e.g.
{\hyperref[\detokenize{api_python:RNA.seq_encode}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.seq\_encode()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{sequence}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The input sequence in upper\sphinxhyphen{}case letters

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{md}} (\sphinxcode{\sphinxupquote{RNA.md() *}}) \textendash{} A pointer to a RNA.md() data structure that specifies the conversion type

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
A list of integer encodings for each sequence letter (1\sphinxhyphen{}based). Position 0 denotes the length of
the list

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{settype() (in module RNA)@\spxentry{settype()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.settype}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{settype}}}
{\sphinxparam{\DUrole{n}{s}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{shortP\_getitem() (in module RNA)@\spxentry{shortP\_getitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.shortP_getitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{shortP\_getitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{shortP\_setitem() (in module RNA)@\spxentry{shortP\_setitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.shortP_setitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{shortP\_setitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}\sphinxparamcomma \sphinxparam{\DUrole{n}{value}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{simple\_circplot\_coordinates() (in module RNA)@\spxentry{simple\_circplot\_coordinates()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.simple_circplot_coordinates}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{simple\_circplot\_coordinates}}}
{\sphinxparam{\DUrole{n}{std::string arg1}}}
{{ $\rightarrow$ {\hyperref[\detokenize{api_python:RNA.CoordinateVector}]{\sphinxcrossref{CoordinateVector}}}}}
\pysigstopsignatures
\end{fulllineitems}

\index{simple\_xy\_coordinates() (in module RNA)@\spxentry{simple\_xy\_coordinates()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.simple_xy_coordinates}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{simple\_xy\_coordinates}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate nucleotide coordinates for secondary structure plot the \sphinxstyleemphasis{Simple way}.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Consider switching to RNA.plot\_coords\_simple\_pt() instead!


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{make\_pair\_table}}, \sphinxcode{\sphinxupquote{rna\_plot\_type}}, {\hyperref[\detokenize{api_python:RNA.simple_circplot_coordinates}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{simple\_circplot\_coordinates}}}}}, {\hyperref[\detokenize{api_python:RNA.naview_xy_coordinates}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{naview\_xy\_coordinates}}}}}, {\hyperref[\detokenize{api_python:RNA.file_PS_rnaplot_a}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_PS\_rnaplot\_a}}}}}, {\hyperref[\detokenize{api_python:RNA.file_PS_rnaplot}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.file\_PS\_rnaplot}}}}}, {\hyperref[\detokenize{api_python:RNA.svg_rna_plot}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{svg\_rna\_plot}}}}}


\end{sphinxseealso}

\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{pair\_table}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}) \textendash{} The pair table of the secondary structure

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{X}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} a pointer to an array with enough allocated space to hold the x coordinates

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{Y}} (\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(double)}}) \textendash{} a pointer to an array with enough allocated space to hold the y coordinates

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
length of sequence on success, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{ssv\_rna\_plot() (in module RNA)@\spxentry{ssv\_rna\_plot()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ssv_rna_plot}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ssv\_rna\_plot}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ssfile}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure graph in SStructView format.

\sphinxAtStartPar
Write coord file for SStructView
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The filename of the ssv output

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{str\_to\_dbl\_array() (in module RNA)@\spxentry{str\_to\_dbl\_array()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.str_to_dbl_array}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{str\_to\_dbl\_array}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}\sphinxparamcomma \sphinxparam{\DUrole{o}{**}\DUrole{n}{kwargs}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{string\_edit\_distance() (in module RNA)@\spxentry{string\_edit\_distance()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.string_edit_distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{string\_edit\_distance}}}
{\sphinxparam{\DUrole{n}{T1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculate the string edit distance of T1 and T2.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T1}} (\sphinxcode{\sphinxupquote{swString *}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T2}} (\sphinxcode{\sphinxupquote{swString *}})

\end{itemize}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{strtrim() (in module RNA)@\spxentry{strtrim()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.strtrim}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{strtrim}}}
{\sphinxparam{\DUrole{n}{char * seq\_mutable}}\sphinxparamcomma \sphinxparam{\DUrole{n}{char const * delimiters=None}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int keep=0}}\sphinxparamcomma \sphinxparam{\DUrole{n}{unsigned int options=}}}
{{ $\rightarrow$ unsigned int}}
\pysigstopsignatures
\sphinxAtStartPar
Trim a string by removing (multiple) occurences of a particular character.

\sphinxAtStartPar
This function removes (multiple) consecutive occurences of a set of characters (\sphinxtitleref{delimiters}) within
an input string. It may be used to remove leading and/or trailing whitespaces or to restrict the
maximum number of consecutive occurences of the delimiting characters \sphinxtitleref{delimiters}. Setting \sphinxtitleref{keep=0}
removes all occurences, while other values reduce multiple consecutive occurences to at most \sphinxtitleref{keep}
delimiters. This might be useful if one would like to reduce multiple whitespaces to a single one,
or to remove empty fields within a comma\sphinxhyphen{}separated value string.

\sphinxAtStartPar
The parameter \sphinxtitleref{delimiters} may be a pointer to a 0\sphinxhyphen{}terminated char string containing a set of any
ASCII character. If \sphinxstyleemphasis{NULL} is passed as delimiter set or an empty char string, all whitespace
characters are trimmed. The \sphinxtitleref{options} parameter is a bit vector that specifies which part of the
string should undergo trimming. The implementation distinguishes the leading (RNA.TRIM\_LEADING),
trailing (RNA.TRIM\_TRAILING), and in\sphinxhyphen{}between (RNA.TRIM\_IN\_BETWEEN) part with respect to the
delimiter set. Combinations of these parts can be specified by using logical\sphinxhyphen{}or operator.

\sphinxAtStartPar
The following example code removes all leading and trailing whitespace characters from the input
string:

\begin{sphinxadmonition}{note}{SWIG Wrapper Notes}

\sphinxAtStartPar
Since many scripting languages treat strings as immutable objects, this function does not modify
the input string directly. Instead, it returns the modified string as second return value,
together with the number of removed delimiters.

\sphinxAtStartPar
The scripting language interface provides an overloaded version of this function, with default
parameters \sphinxtitleref{delimiters=NULL}, \sphinxtitleref{keep=0}, and \sphinxtitleref{options=RNA.TRIM\_DEFAULT}. See, e.g.
{\hyperref[\detokenize{api_python:RNA.strtrim}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.strtrim()}}}}} in the {\hyperref[\detokenize{api_python::doc}]{\sphinxcrossref{\DUrole{doc}{Python API}}}}.
\end{sphinxadmonition}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The ‘0’\sphinxhyphen{}terminated input string to trim

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{delimiters}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The delimiter characters as 0\sphinxhyphen{}terminated char array (or \sphinxstyleemphasis{NULL})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{keep}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The maximum number of consecutive occurences of the delimiter in the output string

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{options}} (\sphinxcode{\sphinxupquote{unsigned int}}) \textendash{} The option bit vector specifying the mode of operation

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
The number of delimiters removed from the string

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{unsigned int}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
\sphinxcode{\sphinxupquote{RNA.TRIM\_LEADING}}, \sphinxcode{\sphinxupquote{RNA.TRIM\_TRAILING}}, \sphinxcode{\sphinxupquote{RNA.TRIM\_IN\_BETWEEN}}, \sphinxcode{\sphinxupquote{RNA.TRIM\_SUBST\_BY\_FIRST}}, \sphinxcode{\sphinxupquote{RNA.TRIM\_DEFAULT}}, \sphinxcode{\sphinxupquote{RNA.TRIM\_ALL}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
The delimiter always consists of a single character from the set of characters provided. In case of
alternative delimiters and non\sphinxhyphen{}null \sphinxtitleref{keep} parameter, the first \sphinxtitleref{keep} delimiters are preserved
within the string. Use RNA.TRIM\_SUBST\_BY\_FIRST to substitute all remaining delimiting characters
with the first from the \sphinxtitleref{delimiters} list.
\end{sphinxadmonition}

\end{fulllineitems}

\index{struct\_en (class in RNA)@\spxentry{struct\_en}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.struct_en}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{struct\_en}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}

\sphinxAtStartPar
Data structure for energy\_of\_move().
\index{energy (RNA.struct\_en attribute)@\spxentry{energy}\spxextra{RNA.struct\_en attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.struct_en.energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{structure (RNA.struct\_en attribute)@\spxentry{structure}\spxextra{RNA.struct\_en attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.struct_en.structure}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxAtStartPar
Data structure for energy\_of\_move().
\index{energy (RNA.struct\_en attribute)@\spxentry{energy}\spxextra{RNA.struct\_en attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id379}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{structure (RNA.struct\_en attribute)@\spxentry{structure}\spxextra{RNA.struct\_en attribute}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id380}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures\begin{quote}\begin{description}
\sphinxlineitem{Type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{list\sphinxhyphen{}like(int)}}

\end{description}\end{quote}

\end{fulllineitems}

\index{energy (RNA.struct\_en property)@\spxentry{energy}\spxextra{RNA.struct\_en property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id381}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures
\end{fulllineitems}

\index{structure (RNA.struct\_en property)@\spxentry{structure}\spxextra{RNA.struct\_en property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:id382}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.struct\_en property)@\spxentry{thisown}\spxextra{RNA.struct\_en property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.struct_en.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{subopt() (in module RNA)@\spxentry{subopt()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.subopt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{subopt}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{subopt\_solution (class in RNA)@\spxentry{subopt\_solution}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.subopt_solution}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{subopt\_solution}}}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{energy (RNA.subopt\_solution property)@\spxentry{energy}\spxextra{RNA.subopt\_solution property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.subopt_solution.energy}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{energy}}}
\pysigstopsignatures
\end{fulllineitems}

\index{structure (RNA.subopt\_solution property)@\spxentry{structure}\spxextra{RNA.subopt\_solution property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.subopt_solution.structure}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{structure}}}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.subopt\_solution property)@\spxentry{thisown}\spxextra{RNA.subopt\_solution property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.subopt_solution.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}


\end{fulllineitems}

\index{svg\_rna\_plot() (in module RNA)@\spxentry{svg\_rna\_plot()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.svg_rna_plot}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{svg\_rna\_plot}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ssfile}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure plot in SVG format and write it to a file.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The filename of the svg output

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{tree\_edit\_distance() (in module RNA)@\spxentry{tree\_edit\_distance()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.tree_edit_distance}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{tree\_edit\_distance}}}
{\sphinxparam{\DUrole{n}{T1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{T2}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Calculates the edit distance of the two trees.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T1}} (\sphinxcode{\sphinxupquote{Tree *}})

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{T2}} (\sphinxcode{\sphinxupquote{Tree *}})

\end{itemize}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{float}}

\end{description}\end{quote}

\end{fulllineitems}

\index{tree\_string\_to\_db() (in module RNA)@\spxentry{tree\_string\_to\_db()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.tree_string_to_db}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{tree\_string\_to\_db}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Convert a linear tree string representation of a secondary structure back to Dot\sphinxhyphen{}Bracket notation.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{tree}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A linear tree string representation of a secondary structure

\sphinxlineitem{Returns}
\sphinxAtStartPar
A dot\sphinxhyphen{}bracket notation of the secondary structure provided in \sphinxtitleref{tree}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\begin{sphinxadmonition}{warning}{Warning:}
\sphinxAtStartPar
This function only accepts \sphinxstyleemphasis{Expanded} and \sphinxstyleemphasis{HIT} tree representations!
\end{sphinxadmonition}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.db_to_tree_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_to\_tree\_string}}}}}, \sphinxcode{\sphinxupquote{RNA.STRUCTURE\_TREE\_EXPANDED}}, \sphinxcode{\sphinxupquote{RNA.STRUCTURE\_TREE\_HIT}}, \sphinxcode{\sphinxupquote{sec\_structure\_representations\_tree}}


\end{sphinxseealso}


\end{fulllineitems}

\index{tree\_string\_unweight() (in module RNA)@\spxentry{tree\_string\_unweight()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.tree_string_unweight}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{tree\_string\_unweight}}}
{\sphinxparam{\DUrole{n}{structure}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Remove weights from a linear string tree representation of a secondary structure.

\sphinxAtStartPar
This function strips the weights of a linear string tree representation such as \sphinxtitleref{HIT}, or Coarse
Grained Tree sensu    Shapiro {[}\hyperlink{cite.bibliography:id27}{1988}{]}
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} A linear string tree representation of a secondary structure with weights

\sphinxlineitem{Returns}
\sphinxAtStartPar
A linear string tree representation of a secondary structure without weights

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.db_to_tree_string}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.db\_to\_tree\_string}}}}}


\end{sphinxseealso}


\end{fulllineitems}

\index{ubf\_eval\_ext\_int\_loop() (in module RNA)@\spxentry{ubf\_eval\_ext\_int\_loop()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ubf_eval_ext_int_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ubf\_eval\_ext\_int\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sp}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type\_2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{length}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sc}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ubf\_eval\_int\_loop() (in module RNA)@\spxentry{ubf\_eval\_int\_loop()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ubf_eval_int_loop}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ubf\_eval\_int\_loop}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sp}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type\_2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{rtype}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ij}}\sphinxparamcomma \sphinxparam{\DUrole{n}{cp}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sc}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ubf\_eval\_int\_loop2() (in module RNA)@\spxentry{ubf\_eval\_int\_loop2()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ubf_eval_int_loop2}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ubf\_eval\_int\_loop2}}}
{\sphinxparam{\DUrole{n}{i}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q}}\sphinxparamcomma \sphinxparam{\DUrole{n}{i1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{j1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{p1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{q1}}\sphinxparamcomma \sphinxparam{\DUrole{n}{si}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sj}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sp}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sq}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type\_2}}\sphinxparamcomma \sphinxparam{\DUrole{n}{rtype}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ij}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sn}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ss}}\sphinxparamcomma \sphinxparam{\DUrole{n}{P}}\sphinxparamcomma \sphinxparam{\DUrole{n}{sc}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ud\_set\_exp\_prod\_cb() (in module RNA)@\spxentry{ud\_set\_exp\_prod\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ud_set_exp_prod_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ud\_set\_exp\_prod\_cb}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{prod\_cb}}\sphinxparamcomma \sphinxparam{\DUrole{n}{eval\_cb}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ud\_set\_prob\_cb() (in module RNA)@\spxentry{ud\_set\_prob\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ud_set_prob_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ud\_set\_prob\_cb}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{setter}}\sphinxparamcomma \sphinxparam{\DUrole{n}{getter}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ud\_set\_prod\_cb() (in module RNA)@\spxentry{ud\_set\_prod\_cb()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ud_set_prod_cb}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ud\_set\_prod\_cb}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{prod\_cb}}\sphinxparamcomma \sphinxparam{\DUrole{n}{eval\_cb}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ud\_set\_pydata() (in module RNA)@\spxentry{ud\_set\_pydata()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ud_set_pydata}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ud\_set\_pydata}}}
{\sphinxparam{\DUrole{n}{vc}}\sphinxparamcomma \sphinxparam{\DUrole{n}{data}}\sphinxparamcomma \sphinxparam{\DUrole{n}{PyFuncOrNone}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{unexpand\_Full() (in module RNA)@\spxentry{unexpand\_Full()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.unexpand_Full}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{unexpand\_Full}}}
{\sphinxparam{\DUrole{n}{ffull}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Restores the bracket notation from an expanded full or HIT tree, that is any tree using only
identifiers ‘U’ ‘P’ and ‘R’.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ffull}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{unexpand\_aligned\_F() (in module RNA)@\spxentry{unexpand\_aligned\_F()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.unexpand_aligned_F}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{unexpand\_aligned\_F}}}
{\sphinxparam{\DUrole{n}{align}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Converts two aligned structures in expanded notation.

\sphinxAtStartPar
Takes two aligned structures as produced by tree\_edit\_distance() function back to bracket notation
with ‘\_’ as the gap character. The result overwrites the input.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{align}} (\sphinxcode{\sphinxupquote{string}})

\end{description}\end{quote}

\end{fulllineitems}

\index{unpack\_structure() (in module RNA)@\spxentry{unpack\_structure()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.unpack_structure}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{unpack\_structure}}}
{\sphinxparam{\DUrole{n}{char const * packed}}}
{{ $\rightarrow$ char *}}
\pysigstopsignatures
\end{fulllineitems}

\index{unweight() (in module RNA)@\spxentry{unweight()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.unweight}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{unweight}}}
{\sphinxparam{\DUrole{n}{wcoarse}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Strip weights from any weighted tree.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{wcoarse}} (\sphinxcode{\sphinxupquote{string}})

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{string}}

\end{description}\end{quote}

\end{fulllineitems}

\index{update\_co\_pf\_params() (in module RNA)@\spxentry{update\_co\_pf\_params()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.update_co_pf_params}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{update\_co\_pf\_params}}}
{\sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters.

\sphinxAtStartPar
This function recalculates all energy parameters given the current model settings.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.exp\_params\_subst() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{length}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} Length of the current RNA sequence

\end{description}\end{quote}

\end{fulllineitems}

\index{update\_cofold\_params() (in module RNA)@\spxentry{update\_cofold\_params()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.update_cofold_params}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{update\_cofold\_params}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Recalculate parameters.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}See RNA.fold\_compound.params\_subst() for an alternative using the new API

\end{fulllineitems}

\index{update\_fold\_params() (in module RNA)@\spxentry{update\_fold\_params()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.update_fold_params}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{update\_fold\_params}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}For non\sphinxhyphen{}default model settings use the new API with RNA.fold\_compound.params\_subst() and
RNA.fold\_compound.mfe() instead!

\end{fulllineitems}

\index{update\_pf\_params() (in module RNA)@\spxentry{update\_pf\_params()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.update_pf_params}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{update\_pf\_params}}}
{\sphinxparam{\DUrole{n}{length}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Recalculate energy parameters.

\sphinxAtStartPar
Call this function to recalculate the pair matrix and energy parameters after a change in folding
parameters like temperature

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.fold\_compound.exp\_params\_subst() instead

\end{fulllineitems}

\index{urn() (in module RNA)@\spxentry{urn()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.urn}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{urn}}}
{}
{}
\pysigstopsignatures
\sphinxAtStartPar
get a random number from {[}0..1{]}
\begin{quote}\begin{description}
\sphinxlineitem{Returns}
\sphinxAtStartPar
A random number in range {[}0..1{]}

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{double}}

\end{description}\end{quote}


\begin{sphinxseealso}{See also:}

\sphinxAtStartPar
{\hyperref[\detokenize{api_python:RNA.int_urn}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.int\_urn}}}}}, {\hyperref[\detokenize{api_python:RNA.init_rand}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{RNA.init\_rand}}}}}, \sphinxcode{\sphinxupquote{RNA.init\_rand\_seed}}


\end{sphinxseealso}


\begin{sphinxadmonition}{note}{Note:}
\sphinxAtStartPar
Usually implemented by calling \sphinxstyleemphasis{erand48()}.
\end{sphinxadmonition}

\end{fulllineitems}

\index{ushortP\_getitem() (in module RNA)@\spxentry{ushortP\_getitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ushortP_getitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ushortP\_getitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{ushortP\_setitem() (in module RNA)@\spxentry{ushortP\_setitem()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.ushortP_setitem}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{ushortP\_setitem}}}
{\sphinxparam{\DUrole{n}{ary}}\sphinxparamcomma \sphinxparam{\DUrole{n}{index}}\sphinxparamcomma \sphinxparam{\DUrole{n}{value}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{varArrayChar (class in RNA)@\spxentry{varArrayChar}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayChar}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{varArrayChar}}}
{\sphinxparam{\DUrole{n}{d}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{get() (RNA.varArrayChar method)@\spxentry{get()}\spxextra{RNA.varArrayChar method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayChar.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.varArrayChar method)@\spxentry{size()}\spxextra{RNA.varArrayChar method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayChar.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.varArrayChar property)@\spxentry{thisown}\spxextra{RNA.varArrayChar property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayChar.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type() (RNA.varArrayChar method)@\spxentry{type()}\spxextra{RNA.varArrayChar method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayChar.type}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{type}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{varArrayFLTorDBL (class in RNA)@\spxentry{varArrayFLTorDBL}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayFLTorDBL}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{varArrayFLTorDBL}}}
{\sphinxparam{\DUrole{n}{d}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{get() (RNA.varArrayFLTorDBL method)@\spxentry{get()}\spxextra{RNA.varArrayFLTorDBL method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayFLTorDBL.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.varArrayFLTorDBL method)@\spxentry{size()}\spxextra{RNA.varArrayFLTorDBL method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayFLTorDBL.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.varArrayFLTorDBL property)@\spxentry{thisown}\spxextra{RNA.varArrayFLTorDBL property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayFLTorDBL.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type() (RNA.varArrayFLTorDBL method)@\spxentry{type()}\spxextra{RNA.varArrayFLTorDBL method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayFLTorDBL.type}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{type}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{varArrayInt (class in RNA)@\spxentry{varArrayInt}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayInt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{varArrayInt}}}
{\sphinxparam{\DUrole{n}{d}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{get() (RNA.varArrayInt method)@\spxentry{get()}\spxextra{RNA.varArrayInt method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayInt.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.varArrayInt method)@\spxentry{size()}\spxextra{RNA.varArrayInt method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayInt.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.varArrayInt property)@\spxentry{thisown}\spxextra{RNA.varArrayInt property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayInt.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type() (RNA.varArrayInt method)@\spxentry{type()}\spxextra{RNA.varArrayInt method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayInt.type}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{type}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{varArrayMove (class in RNA)@\spxentry{varArrayMove}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayMove}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{varArrayMove}}}
{\sphinxparam{\DUrole{n}{d}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{get() (RNA.varArrayMove method)@\spxentry{get()}\spxextra{RNA.varArrayMove method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayMove.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.varArrayMove method)@\spxentry{size()}\spxextra{RNA.varArrayMove method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayMove.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.varArrayMove property)@\spxentry{thisown}\spxextra{RNA.varArrayMove property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayMove.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type() (RNA.varArrayMove method)@\spxentry{type()}\spxextra{RNA.varArrayMove method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayMove.type}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{type}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{varArrayShort (class in RNA)@\spxentry{varArrayShort}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayShort}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{varArrayShort}}}
{\sphinxparam{\DUrole{o}{*}\DUrole{n}{args}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{get() (RNA.varArrayShort method)@\spxentry{get()}\spxextra{RNA.varArrayShort method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayShort.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.varArrayShort method)@\spxentry{size()}\spxextra{RNA.varArrayShort method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayShort.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.varArrayShort property)@\spxentry{thisown}\spxextra{RNA.varArrayShort property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayShort.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type() (RNA.varArrayShort method)@\spxentry{type()}\spxextra{RNA.varArrayShort method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayShort.type}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{type}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{varArrayUChar (class in RNA)@\spxentry{varArrayUChar}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUChar}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{varArrayUChar}}}
{\sphinxparam{\DUrole{n}{d}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{get() (RNA.varArrayUChar method)@\spxentry{get()}\spxextra{RNA.varArrayUChar method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUChar.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.varArrayUChar method)@\spxentry{size()}\spxextra{RNA.varArrayUChar method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUChar.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.varArrayUChar property)@\spxentry{thisown}\spxextra{RNA.varArrayUChar property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUChar.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type() (RNA.varArrayUChar method)@\spxentry{type()}\spxextra{RNA.varArrayUChar method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUChar.type}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{type}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{varArrayUInt (class in RNA)@\spxentry{varArrayUInt}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUInt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{varArrayUInt}}}
{\sphinxparam{\DUrole{n}{d}}\sphinxparamcomma \sphinxparam{\DUrole{n}{type}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{get() (RNA.varArrayUInt method)@\spxentry{get()}\spxextra{RNA.varArrayUInt method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUInt.get}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{get}}}
{\sphinxparam{\DUrole{n}{i}}}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{size() (RNA.varArrayUInt method)@\spxentry{size()}\spxextra{RNA.varArrayUInt method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUInt.size}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{size}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}

\index{thisown (RNA.varArrayUInt property)@\spxentry{thisown}\spxextra{RNA.varArrayUInt property}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUInt.thisown}}
\pysigstartsignatures
\pysigline
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{property}\DUrole{w}{ }}}\sphinxbfcode{\sphinxupquote{thisown}}}
\pysigstopsignatures
\sphinxAtStartPar
The membership flag

\end{fulllineitems}

\index{type() (RNA.varArrayUInt method)@\spxentry{type()}\spxextra{RNA.varArrayUInt method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.varArrayUInt.type}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{type}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{var\_array\_Iterator (class in RNA)@\spxentry{var\_array\_Iterator}\spxextra{class in RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.var_array_Iterator}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{\DUrole{k}{class}\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{var\_array\_Iterator}}}
{\sphinxparam{\DUrole{n}{var\_arr}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Bases: \sphinxcode{\sphinxupquote{object}}
\index{next() (RNA.var\_array\_Iterator method)@\spxentry{next()}\spxextra{RNA.var\_array\_Iterator method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.var_array_Iterator.next}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxbfcode{\sphinxupquote{next}}}
{}
{}
\pysigstopsignatures
\end{fulllineitems}


\end{fulllineitems}

\index{write\_parameter\_file() (in module RNA)@\spxentry{write\_parameter\_file()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.write_parameter_file}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{write\_parameter\_file}}}
{\sphinxparam{\DUrole{n}{fname}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Write energy parameters to a file.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}Use RNA.params\_save() instead!
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{fname}} (\sphinxcode{\sphinxupquote{const char}}) \textendash{} A filename (path) for the file where the current energy parameters will be written to

\end{description}\end{quote}

\end{fulllineitems}

\index{xrna\_plot() (in module RNA)@\spxentry{xrna\_plot()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.xrna_plot}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{xrna\_plot}}}
{\sphinxparam{\DUrole{n}{string}}\sphinxparamcomma \sphinxparam{\DUrole{n}{structure}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ssfile}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Produce a secondary structure plot for further editing in XRNA.
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}\begin{itemize}
\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The RNA sequence

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{structure}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The secondary structure in dot\sphinxhyphen{}bracket notation

\item {} 
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{ssfile}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} The filename of the xrna output

\end{itemize}

\sphinxlineitem{Returns}
\sphinxAtStartPar
1 on success, 0 otherwise

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{int}}

\end{description}\end{quote}

\end{fulllineitems}

\index{zukersubopt() (in module RNA)@\spxentry{zukersubopt()}\spxextra{in module RNA}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{api_python:RNA.zukersubopt}}
\pysigstartsignatures
\pysiglinewithargsret
{\sphinxcode{\sphinxupquote{RNA.}}\sphinxbfcode{\sphinxupquote{zukersubopt}}}
{\sphinxparam{\DUrole{n}{string}}}
{}
\pysigstopsignatures
\sphinxAtStartPar
Compute Zuker type suboptimal structures.

\sphinxAtStartPar
Compute Suboptimal structures according to M. Zuker, i.e. for every possible base pair the minimum
energy structure containing the resp. base pair. Returns a list of these structures and their
energies.

\sphinxAtStartPar
\DUrole{versionmodified}{\DUrole{deprecated}{Deprecated since version 2.7.2: }}use RNA.zukersubopt() instead
\begin{quote}\begin{description}
\sphinxlineitem{Parameters}
\sphinxAtStartPar
\sphinxstyleliteralstrong{\sphinxupquote{string}} (\sphinxcode{\sphinxupquote{string}}) \textendash{} RNA sequence

\sphinxlineitem{Returns}
\sphinxAtStartPar
List of zuker suboptimal structures

\sphinxlineitem{Return type}
\sphinxAtStartPar
\sphinxcode{\sphinxupquote{SOLUTION *}}

\end{description}\end{quote}

\end{fulllineitems}


\sphinxstepscope


\chapter{News}
\label{\detokenize{news:news}}\label{\detokenize{news::doc}}

\section{Version 2.6.0}
\label{\detokenize{news:version-2-6-0}}
\sphinxAtStartPar
This version introduces modified nucleotides support and a physics\sphinxhyphen{}based model to
correct for predictions at non\sphinxhyphen{}standard (monovalent) salt concentrations.
At this time we include publically available energy parameters for inosine,
pseudouridine, m6A, 7DA, and purine (a.k.a. nebularine). In addition, we add
stacking parameters for dihydrouridine as predicted by Rosetta/RECESS.

\sphinxAtStartPar
See the Changelog for version 2.6.0 for a complete list of new features and bugfixes.


\section{Version 2.5.0}
\label{\detokenize{news:version-2-5-0}}
\sphinxAtStartPar
The all new release of version 2.5 brings multi\sphinxhyphen{}strand interaction prediction! The
new executable tool RNAmultifold is the successor of the RNA\sphinxhyphen{}RNA dimer interaction
prediction tool RNAcofold and effectively lifts the restriction to just two interacting
strands. It follows the same principle of concatenating the RNA strands that shall
form a complex and then predicts MFE and partition function. Along with that, it can
also compute equilibrium concentrations of the complexes formed.

\sphinxAtStartPar
See the Changelog for version 2.5.0 for a complete list of additions, novel features
and fixed bugs.


\section{Version 2.4.0}
\label{\detokenize{news:version-2-4-0}}
\sphinxAtStartPar
With version 2.4 sliding\sphinxhyphen{}window structure prediction receives the constraint framework!
Starting with this version, the sliding\sphinxhyphen{}window secondary structure prediction implementations
as available through RNALfold, RNAplfold, and RNALalifold are constraints\sphinxhyphen{}aware. Thus, they
can readily incorporate RNA structure probing data, such as from SHAPE experiments, etc.

\sphinxAtStartPar
See the Changelog for version 2.4.0 for a complete list of new features and bugfixes.


\section{Version 2.3.0}
\label{\detokenize{news:version-2-3-0}}
\sphinxAtStartPar
This version introduces the unstructured domain extension of the RNA folding grammar! This
extension adds RNA\sphinxhyphen{}ligand interactions, e.g. RNA\sphinxhyphen{}protein, for unpaired stretches in RNA
secondary structures. The feature is easy to use through the command file interface in RNAfold.

\sphinxAtStartPar
See the Changelog for version 2.3.0 for a complete list of new features and bugfixes.


\section{Version 2.2.0}
\label{\detokenize{news:version-2-2-0}}
\sphinxAtStartPar
After almost a year without a new release, we are happy to announce many new features. This
version officially introduces (generic) hard\sphinxhyphen{} and soft\sphinxhyphen{}constraints for many of the folding
algorithms. Thus, chemical probing constraints, such as derived from SHAPE experiments, can
be easily incorporated into RNAfold, RNAalifold, and RNAsubopt. Furthermore, RNAfold and the
RNAlib interface allow for a simple way to incorporate ligand binding to specific hairpin\sphinxhyphen{} or
interior\sphinxhyphen{}loop motifs. This version also introduces the new v3.0 API of the RNAlib C\sphinxhyphen{}library,
that will eventually replace the current interface in the future.

\sphinxAtStartPar
See the Changelog for version 2.2.0 for a complete list of new features and bugfixes.


\section{Version 2.1.9}
\label{\detokenize{news:version-2-1-9}}
\sphinxAtStartPar
This is a major bugfix release that changes the way how the ViennaRNA Package handles
dangling end and terminal mismatch contributions for exterior\sphinxhyphen{}, and multibranch loops. We strongly
recommend upgrading your installation to this or a newer version to obtain predictions that are
better comparable to RNAstructure or UNAFold.

\sphinxAtStartPar
Please see the Changelog for version 2.1.9 for further details on the actual changes to the
underlying energy parameters.


\section{Version 2.1.7}
\label{\detokenize{news:version-2-1-7}}
\sphinxAtStartPar
For a long time, Mac OS X users were not able to correctly build the Perl/Python interface of the
ViennaRNA Package. Starting with v2.1.7, this limitation has been removed, and the interface should
compile and work as expected.

\sphinxAtStartPar
Please see the Install Notes for Mac OS X users for further details.


\section{Version 2.1.0}
\label{\detokenize{news:version-2-1-0}}
\sphinxAtStartPar
Since ViennaRNA Package Version 2.1.0 we have enabled G\sphinxhyphen{}Quadruplex prediction support into
RNAfold, RNAcofold, RNALfold, RNAalifold, RNAeval and RNAplot.

\sphinxAtStartPar
See the changelog for details.


\section{Older news}
\label{\detokenize{news:older-news}}

\section{Version 2.0}
\label{\detokenize{news:version-2-0}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Meanwhile, a lot of changes in the RNAlib have accumulated. See the Reference
Manual and the Changelog for further details

\item {} 
\sphinxAtStartPar
All algorithms use the Turner’04 nearest neighbor model

\item {} 
\sphinxAtStartPar
The RNAlib provides (OpenMP) threadsafe folding routines per default. This is
enables concurrent calls to the folding routines in parallel. The feature
can be disabled by passing ‘\textendash{}disable\sphinxhyphen{}openmp’ to the configure script

\item {} 
\sphinxAtStartPar
serious changes in command line parameters. Everything complies with
GNU standard from now on (short options with preceding ‘\sphinxhyphen{}’, long options
with preceding ‘\textendash{}‘.

\item {} 
\sphinxAtStartPar
FASTA file support for RNAfold. RNA sequences do not need to be passed
on a single line anymore when a FASTA header is provided.

\item {} 
\sphinxAtStartPar
The new program RNA2Dfold computes MFE, partition function and
stochastically sampled secondary structures in a partitioning of the secondary
structure space according to the base pair distance to two reference structures

\item {} 
\sphinxAtStartPar
The new program PKplex computes…

\item {} 
\sphinxAtStartPar
The new program RNALfoldz computes locally stable secondary structures
together with a z\sphinxhyphen{}score

\item {} 
\sphinxAtStartPar
The new program RNALalifold computes locally stable consensus structures for
alignments

\item {} 
\sphinxAtStartPar
The new program RNAparconv enables the conversion of ‘old’ energy parameter files
(v1.4\sphinxhyphen{}v1.8) to the new format used in version 2.x

\end{itemize}


\section{Version 1.8}
\label{\detokenize{news:version-1-8}}\begin{itemize}
\item {} 
\sphinxAtStartPar
new RNAalifold has better treatment of gaps and ribosum based covariance
scores. Use the \sphinxhyphen{}old switch for compatibility with older RNAalifold
versions.

\item {} 
\sphinxAtStartPar
RNAplfold \sphinxhyphen{}u  now computes all accessibilities up to a maximum length
(much faster than computing each individually)

\item {} 
\sphinxAtStartPar
ATTENTION: output formats of RNAplfold \sphinxhyphen{}u and or RNAup have been changed\\
Programs parsing RNAplfold and RNAup output will have to be modified.

\item {} 
\sphinxAtStartPar
RNAfold and RNAalifold compute centroid structures when run with \sphinxhyphen{}p
use the  \sphinxhyphen{}MEA  option to compute Maximum Expected Accuracy structures.

\end{itemize}


\section{Version 1.7}
\label{\detokenize{news:version-1-7}}\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAplfold can now be used to compute accessibilities, i.e. the
probability that a stretch of the RNA remains unpaired (and thus
available for intermolecular interactions).

\item {} 
\sphinxAtStartPar
A new version of RNAup predicts RNA\sphinxhyphen{}RNA interactions takeing into account
the competition between inter\sphinxhyphen{} and intramolecular structure in both
molcules

\item {} 
\sphinxAtStartPar
Circular RNAs can be treated by RNAfold, RNAalifold, RNAsubopt, and RNAcofold

\item {} 
\sphinxAtStartPar
RNAaliduplex predicts RNA\sphinxhyphen{}RNA interactions between two sets of aligned
sequences (inter\sphinxhyphen{}molecular structure only)

\end{itemize}


\section{Version 1.6}
\label{\detokenize{news:version-1-6}}\begin{itemize}
\item {} 
\sphinxAtStartPar
The RNAforester program for tree\sphinxhyphen{}alignments of RNA structures is now
distributed with the Vienna RNA package, see the RNAforester
subdirectory for more information. RNAforester was written by Matthias
Hoechsmann \sphinxhref{mailto:mhoechsm@techfak.uni-bielefeld.de}{mhoechsm@techfak.uni\sphinxhyphen{}bielefeld.de}

\item {} 
\sphinxAtStartPar
The Kinfold program for stochastic simulation of folding trajectories is
now included in the package, see the Kinfold subdirectory.

\item {} 
\sphinxAtStartPar
cofolding of two structures now supports suboptimal folding and
partition function folding.
ATTENTION: Energies of hybrid structures now include the Duplex\sphinxhyphen{}initiation
energy, which was neglected in previous version.

\item {} 
\sphinxAtStartPar
RNAplfold is a partition function variant of RNALfold. It computes the
mean probability of a (local) base pair averaged over all sequence
windows that contain the pair.

\item {} 
\sphinxAtStartPar
new utilities to color alignments and consensus structures

\item {} 
\sphinxAtStartPar
RNAfold \sphinxhyphen{}p now computes the centroid structure

\item {} 
\sphinxAtStartPar
ATTENTION: ensemble diversities in version \textless{}1.6.5 are off by a factor 2

\end{itemize}


\section{Version 1.5pre}
\label{\detokenize{news:version-1-5pre}}\begin{itemize}
\item {} 
\sphinxAtStartPar
ViennaRNA now uses autoconfig generated configure scripts for even better
portability (should compile on any UNIX, Linux, MacOS X, Windows with
Cygwin).

\item {} 
\sphinxAtStartPar
The new RNAalifold program predicts consensus structures for a set of
aligned sequences.

\item {} 
\sphinxAtStartPar
Complete suboptimal folding is now integrated in the library.

\item {} 
\sphinxAtStartPar
Beginning support for co\sphinxhyphen{}folding of two strands: energy\_of\_struct() and
RNAeval can now compute energies of duplex structures.

\item {} 
\sphinxAtStartPar
RNAcofold predicts hybrid structures of two RNA strands

\item {} 
\sphinxAtStartPar
RNAduplex predicts hybrid structures, while allowing only inter\sphinxhyphen{}molecular
base pairs (useful for finding potential binding sites)

\item {} 
\sphinxAtStartPar
RNALfold predicts locally stable structures in long sequences.

\item {} 
\sphinxAtStartPar
Major changes to Perl module. See the pod documentation (perldoc RNA).

\item {} 
\sphinxAtStartPar
RNAsubopt can do stochastic backtracking to produce samples of suboptimal
structures with Boltzmann statistics.

\item {} 
\sphinxAtStartPar
New utilities to rotate secondary structure plots and annotate them with
reliability data.

\item {} 
\sphinxAtStartPar
Various small bug fixes

\end{itemize}


\section{Version 1.4}
\label{\detokenize{news:version-1-4}}\begin{itemize}
\item {} 
\sphinxAtStartPar
New Turner parameters as described in Mathews et.al. JMB v288, 1999.
Small changes to format of parameter files (old param files won’t work!)

\item {} 
\sphinxAtStartPar
mfe and suboptimal folding will produce only structures without isolated
pairs if noLonelyPairs=1 (\sphinxhyphen{}noLP option), for partition function folding
pairs that can only occur as isolated pairs are not formed.

\item {} 
\sphinxAtStartPar
setting dangles=3 (\sphinxhyphen{}d3 option) will allow co\sphinxhyphen{}axial stacking of adjacent
helices in mfe folding and energy\_of\_struct().

\end{itemize}


\section{Version 1.3.1}
\label{\detokenize{news:version-1-3-1}}\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAheat would produce spikes in the specific heat because dangling end
energies did not go smoothly to 0.

\item {} 
\sphinxAtStartPar
PS dot plots now have an option to use a log scale (edit \_dp.ps file
and set logscale to true).

\end{itemize}


\section{Version 1.3}
\label{\detokenize{news:version-1-3}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Secondary structure plots now use E. Bruccoleri’s naview routines for
layout by default. New utility RNAplot produces secondary structure plots
from structures in bracket notation with several options.

\item {} 
\sphinxAtStartPar
New \sphinxhyphen{}d2 option in RNAfold and RNAeval sets dangles=2, which makes
energy\_of\_struct() and fold() treat dangling ends as in pf\_fold().
\sphinxhyphen{}noLP option in RNAfold etc sets noLonelyPairs=1, which avoids most
structures containing lonely base pairs (helices of length 1).

\item {} 
\sphinxAtStartPar
new utility functions pack\_structure() unpack\_structure() make\_pair\_table()
and bp\_distance().  RNAdistance adds bp\_distance() via \sphinxhyphen{}DP switch.

\item {} 
\sphinxAtStartPar
First release of RNAsubopt for complete suboptimal folding.

\item {} 
\sphinxAtStartPar
fixed bug in asymmetry penalty for interior loops.

\item {} 
\sphinxAtStartPar
Default compilation now uses doubles for partition function folding.

\end{itemize}


\section{Version 1.2.1}
\label{\detokenize{news:version-1-2-1}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fixed bug in version 1.2 of the RNAheat program causing overflow errors
for most input sequences.

\item {} 
\sphinxAtStartPar
The PS\_dot\_plot() and PS\_rna\_plot() routines now return an int. The return
value is 0 if the file could not be written, 1 otherwise.

\item {} 
\sphinxAtStartPar
This version contains the alpha version of a perl5 module, which let’s you
access all the capabilities of the Vienna RNA library from perl scripts.

\end{itemize}


\section{Version 1.2}
\label{\detokenize{news:version-1-2}}\begin{itemize}
\item {} 
\sphinxAtStartPar
New energy parameters from (Walter et.al 1994).

\item {} 
\sphinxAtStartPar
Energy parameters can be read from file.

\item {} 
\sphinxAtStartPar
RNAeval and energy\_of\_struct() support logarithmic energy function for
multi\sphinxhyphen{}loops.

\item {} 
\sphinxAtStartPar
gmlRNA() produces secondary structure drawing in gml (Graph Meta Language).

\item {} 
\sphinxAtStartPar
Many bug fixes.

\end{itemize}

\sphinxstepscope


\chapter{Changelog}
\label{\detokenize{changelog:changelog}}\label{\detokenize{changelog::doc}}
\sphinxAtStartPar
Below, you’ll find a list of notable changes for each version of the ViennaRNA Package.


\section{Version 2.7.x}
\label{\detokenize{changelog:version-2-7-x}}

\subsection{Unreleased}
\label{\detokenize{changelog:unreleased}}

\subsection{Version 2.7.2}
\label{\detokenize{changelog:version-2-7-2}}

\subsubsection{Programs}
\label{\detokenize{changelog:programs}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix structure output in \sphinxcode{\sphinxupquote{RNAeval}} for more than 2 interacting RNAs

\item {} 
\sphinxAtStartPar
Fix wrong application of soft constraints to single sequences in \sphinxcode{\sphinxupquote{RNAcofold}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}benchmark}} option for \sphinxcode{\sphinxupquote{RNAfold}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}benchmark}} option for \sphinxcode{\sphinxupquote{RNAalifold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:library}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix wrong application of soft constraints to single sequences in \sphinxcode{\sphinxupquote{vrna\_mfe\_dimer()}}

\item {} 
\sphinxAtStartPar
API: Restore backward compatibility issues after early removal of \sphinxcode{\sphinxupquote{vrna\_constraints\_add\_SHAPE()}} and others

\item {} 
\sphinxAtStartPar
API: Re\sphinxhyphen{}use energy parameters for successive \sphinxcode{\sphinxupquote{vrna\_params()}} / \sphinxcode{\sphinxupquote{vrna\_exp\_params()}} calls if possible

\item {} 
\sphinxAtStartPar
API: Add negative log probability method (information content) as generic probing data strategy

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_math\_dbl\_chain()}} to allow for chaining \sphinxcode{\sphinxupquote{vrna\_math\_dbl*}} functions

\item {} 
\sphinxAtStartPar
API: Add function to allow for chaining probing data strategies

\item {} 
\sphinxAtStartPar
API: Change structure benchmark numbers to \sphinxcode{\sphinxupquote{double}} type

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:package}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix misplaced ‘i’ in rna\_turner2004.par

\end{itemize}


\subsection{Version 2.7.1}
\label{\detokenize{changelog:version-2-7-1}}

\subsubsection{Programs}
\label{\detokenize{changelog:id1}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Allow for FASTA header changes in \sphinxcode{\sphinxupquote{ct2db}}

\item {} 
\sphinxAtStartPar
Fix constraints parsing in \sphinxcode{\sphinxupquote{RNAsubopt}}

\item {} 
\sphinxAtStartPar
Add new command line options for structure probing data to \sphinxcode{\sphinxupquote{RNAfold}} and \sphinxcode{\sphinxupquote{RNAsubopt}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id2}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Refactor structure probing data API to support multiple data at once, position\sphinxhyphen{}wise weighting, user\sphinxhyphen{}defined reactivity\sphinxhyphen{}to\sphinxhyphen{}energy strategies and more

\item {} 
\sphinxAtStartPar
API: Refactor hard constraint wrappers

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{ViennaRNA/math/}} to provide several useful mathematical functions

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_str\_to\_dbl\_array()}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_file\_doubles\_read()}}

\item {} 
\sphinxAtStartPar
API: Fix backtracking issues in exterior loop

\item {} 
\sphinxAtStartPar
API: Fix backtracking issues with odd dangles

\item {} 
\sphinxAtStartPar
API: Fix segmentation fault in \sphinxcode{\sphinxupquote{vrna\_pt\_pk\_remove()}}

\item {} 
\sphinxAtStartPar
API: Fix \sphinxcode{\sphinxupquote{vrna\_plist()}} and \sphinxcode{\sphinxupquote{vrna\_ptable()}} to deal with malformed input

\item {} 
\sphinxAtStartPar
API: Fix soft constraints access in backtracking of QM2 (Boltzmann sampling)

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for concentration dependency computations

\item {} 
\sphinxAtStartPar
SWIG: Fix \sphinxcode{\sphinxupquote{RNA.fold\_compound.bpp()}} output for multistrand base pair probabilities

\item {} 
\sphinxAtStartPar
SWIG: Do not return symmetric pair probability matrix by default

\item {} 
\sphinxAtStartPar
SWIG: Fix Python object ownership in callbacks for unstructured domains, direct soft constraints and landscape moves

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id3}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{dlib}} to version 20.0

\item {} 
\sphinxAtStartPar
Overall improvements to the documentation

\item {} 
\sphinxAtStartPar
Fix energy parameter file markup

\item {} 
\sphinxAtStartPar
Fix compilation with compilers that default to C23

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{swig}} requirement to 4.2.0

\item {} 
\sphinxAtStartPar
Fix compilation without \sphinxcode{\sphinxupquote{libsvm}}

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{breathe}} to version v5.0.0a5

\item {} 
\sphinxAtStartPar
Add probing data priors (paired and unpaired) for 1M7 and DMS

\end{itemize}


\subsection{Version 2.7.0}
\label{\detokenize{changelog:version-2-7-0}}

\subsubsection{Programs}
\label{\detokenize{changelog:id4}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add hard limit for number of input structures in \sphinxcode{\sphinxupquote{RNAdistance}}

\item {} 
\sphinxAtStartPar
Add counter example settings to \sphinxcode{\sphinxupquote{RNAalifold}}

\item {} 
\sphinxAtStartPar
Add covariance annotation legend to \sphinxcode{\sphinxupquote{RNAplot}} layout plots for MSA input

\item {} 
\sphinxAtStartPar
Add covariance annotation legend to \sphinxcode{\sphinxupquote{RNALalifold}} layout plots

\item {} 
\sphinxAtStartPar
Adapt structure conservation coloring and add legend in alignment output of \sphinxcode{\sphinxupquote{RNAplot}}, \sphinxcode{\sphinxupquote{RNAalifold}}, and \sphinxcode{\sphinxupquote{RNALalifold}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{RNAconsensus}} Python program that will eventually replace \sphinxcode{\sphinxupquote{refold.pl}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}file}}, \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}level}}, \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}call}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}log\sphinxhyphen{}time}} command line options to executable programs

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}betaScale}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}pfScale}} options to and rescale Boltzmann factors in \sphinxcode{\sphinxupquote{RNAPKplex}}

\item {} 
\sphinxAtStartPar
Add support for G\sphinxhyphen{}Quadruplexes in circular RNAs for \sphinxcode{\sphinxupquote{RNAfold}}, \sphinxcode{\sphinxupquote{RNAalifold}}, and \sphinxcode{\sphinxupquote{RNAeval}}

\item {} 
\sphinxAtStartPar
Change \sphinxcode{\sphinxupquote{RNAplot}} command line argument \sphinxcode{\sphinxupquote{\sphinxhyphen{}o}} to \sphinxcode{\sphinxupquote{\sphinxhyphen{}f}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}random\sphinxhyphen{}seed}} option to \sphinxcode{\sphinxupquote{RNAsubopt}} and \sphinxcode{\sphinxupquote{RNAalifold}} to specify seed for random number generator

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id5}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Add circular RNA G\sphinxhyphen{}Quadruplex support

\item {} 
\sphinxAtStartPar
API: Add structure prediction benchmark functions \sphinxcode{\sphinxupquote{vrna\_compare\_structure()}} and \sphinxcode{\sphinxupquote{vrna\_compare\_structure\_pt()}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_annotate\_covar\_pt()}} that allows for specifying number of counter examples

\item {} 
\sphinxAtStartPar
API: Add structure conservation legend to EPS consensus structure layout plots

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_string\_make\_space\_for()}} and \sphinxcode{\sphinxupquote{vrna\_string\_available\_space()}} functions in \sphinxcode{\sphinxupquote{ViennaRNA/datastructures/string.h}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_file\_PS\_aln\_opt()}} to allow for changing conservation coloring

\item {} 
\sphinxAtStartPar
API: Add flexible log message system to avoid spam on \sphinxcode{\sphinxupquote{stderr}} and \sphinxcode{\sphinxupquote{stdout}}

\item {} 
\sphinxAtStartPar
API: Add (generic) compressed sparse row (CSR) matrix implementation

\item {} 
\sphinxAtStartPar
API: Add Eddy 2014 approach to incorporate experimental probing data (using Gaussian KDE)

\item {} 
\sphinxAtStartPar
API: Add generic support for experimental probing data via new API in \sphinxcode{\sphinxupquote{ViennaRNA/probing/basic.h}}

\item {} 
\sphinxAtStartPar
API: Add full probing data support for consensus structure prediction

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_sc\_multi\_cb\_add\_comparative()}} to allow for multi callback soft constraints in comparative structure predictions

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}} to parameters passed to recursion status callback

\item {} 
\sphinxAtStartPar
API: Add M2 matrices in favor of M1 for global MFE and partition function computations

\item {} 
\sphinxAtStartPar
API: Add safeguard to \sphinxcode{\sphinxupquote{vrna\_array\_free()}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_pairing\_tendency()}} as replacement for \sphinxcode{\sphinxupquote{vrna\_db\_from\_probs()}}

\item {} 
\sphinxAtStartPar
API: Group related API symbols and header files into specific subdirectories

\item {} 
\sphinxAtStartPar
API: Allow base pair hard constraints via commands file where \sphinxcode{\sphinxupquote{j = i + 1}}

\item {} 
\sphinxAtStartPar
API: Refactor \sphinxcode{\sphinxupquote{vrna\_pk\_plex()}} accessibility computations

\item {} 
\sphinxAtStartPar
API: Refactor backtracking implementations and API, now located under \sphinxcode{\sphinxupquote{ViennaRNA/backtrack/}}

\item {} 
\sphinxAtStartPar
API: Refactor experimental probing data (SHAPE) implementations, now located under \sphinxcode{\sphinxupquote{ViennaRNA/probing/}}

\item {} 
\sphinxAtStartPar
API: Refactor auxiliary grammar extension API, now located under \sphinxcode{\sphinxupquote{ViennaRNA/grammar/}}

\item {} 
\sphinxAtStartPar
API: Refactor G\sphinxhyphen{}Quadruplex implementation and fix existing bugs and numerical issues in corresponding energy evaluation

\item {} 
\sphinxAtStartPar
API: Refactor verbose \sphinxcode{\sphinxupquote{vrna\_eval*()}} implementations

\item {} 
\sphinxAtStartPar
API: Refactor structure plotting API and add unified structure plotting function \sphinxcode{\sphinxupquote{vrna\_plot\_structure()}}

\item {} 
\sphinxAtStartPar
API: Remove \sphinxcode{\sphinxupquote{exit()}} calls from \sphinxcode{\sphinxupquote{RNAlib}}

\item {} 
\sphinxAtStartPar
API: Change behavior and parameter order for \sphinxcode{\sphinxupquote{vrna\_hc\_add\_bp\_strand()}}

\item {} 
\sphinxAtStartPar
API: Change behavior and parameters of \sphinxcode{\sphinxupquote{vrna\_hc\_add\_up\_strand()}}

\item {} 
\sphinxAtStartPar
API: Unify backtracking matrix flags

\item {} 
\sphinxAtStartPar
API: Use \sphinxcode{\sphinxupquote{vrna\_array()}} based base pair and backtrack stacks for MFE implementations

\item {} 
\sphinxAtStartPar
API: Introduce entropic penalty for unpaired circular RNAs (may be switched off by model settings \sphinxcode{\sphinxupquote{circ\_penalty}} flag)

\item {} 
\sphinxAtStartPar
API: Deprecate \sphinxcode{\sphinxupquote{vrna\_message\_info()}}, \sphinxcode{\sphinxupquote{vrna\_message\_warning()}}, and \sphinxcode{\sphinxupquote{vrna\_message\_error()}} in favor of new loggin system

\item {} 
\sphinxAtStartPar
API: Fix \sphinxcode{\sphinxupquote{vrna\_neighbor\_diff*()}} insertion moves

\item {} 
\sphinxAtStartPar
API: Fix MFE inside recursion for multiloop unpaired positions

\item {} 
\sphinxAtStartPar
API: Fix \sphinxcode{\sphinxupquote{vrna\_hx\_from\_ptable()}} when provided hairpins of length 0

\item {} 
\sphinxAtStartPar
API: Fix \sphinxcode{\sphinxupquote{vrna\_hx\_merge()}} to support pseudoknotted helices

\item {} 
\sphinxAtStartPar
API: Fix re\sphinxhyphen{}use of previous energy parameters upon model changes in \sphinxcode{\sphinxupquote{duplex.c}}

\item {} 
\sphinxAtStartPar
API: Fix re\sphinxhyphen{}use of previous energy parameters upon model changes in \sphinxcode{\sphinxupquote{c\_plex.c}}

\item {} 
\sphinxAtStartPar
API: Fix re\sphinxhyphen{}use of previous energy parameters upon model changes in \sphinxcode{\sphinxupquote{plex.c}}

\item {} 
\sphinxAtStartPar
API: Fix re\sphinxhyphen{}use of previous energy parameters upon model changes in \sphinxcode{\sphinxupquote{ali\_plex.c}}

\item {} 
\sphinxAtStartPar
API: Fix re\sphinxhyphen{}use of previous energy parameters upon model changes in \sphinxcode{\sphinxupquote{snofold.c}}

\item {} 
\sphinxAtStartPar
API: Fix re\sphinxhyphen{}use of previous energy parameters upon model changes in \sphinxcode{\sphinxupquote{snoop.c}}

\item {} 
\sphinxAtStartPar
API: Fix mismatch and dangling end energies in \sphinxcode{\sphinxupquote{sc\_cb\_mod.c}} for modified base support

\item {} 
\sphinxAtStartPar
API: Fix Zuker\sphinxhyphen{}style subopt backtracking

\item {} 
\sphinxAtStartPar
API: Fix bug in \sphinxcode{\sphinxupquote{vrna\_strdup\_vprintf()}} that resulted in losing parmeters upon consecutive calls

\item {} 
\sphinxAtStartPar
API: Fix default exterior loop MFE soft constraints for comparative structure prediction

\item {} 
\sphinxAtStartPar
SWIG: Use \sphinxcode{\sphinxupquote{av\_len()}} instad of \sphinxcode{\sphinxupquote{av\_top\_index()}} for Perl 5 to support perl5 \textless{} v5.18.0

\item {} 
\sphinxAtStartPar
SWIG: Fix compilation issues for Python 3.12 due to use of \sphinxcode{\sphinxupquote{SWIG\_Python\_str\_AsChar()}}

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_hx\_merge()}}

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_sc\_multi\_cb\_add()}}

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for \sphinxcode{\sphinxupquote{vrna\_hc\_add\_bp\_strand()}} and \sphinxcode{\sphinxupquote{vrna\_hc\_add\_up\_strand()}}

\item {} 
\sphinxAtStartPar
SWIG: Add file I/O constants

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for structure prediction benchmark functions

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for log message system

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_stack\_prob()}}

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for new probing data API

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_n\_multichoose\_k()}}

\item {} 
\sphinxAtStartPar
SWIG: Return \sphinxcode{\sphinxupquote{int}} instead of float for \sphinxcode{\sphinxupquote{eval\_structure\_pt\_simple()}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id6}}\begin{itemize}
\item {} 
\sphinxAtStartPar
AUTOCONF: Fix several \sphinxcode{\sphinxupquote{autoconf}}/\sphinxcode{\sphinxupquote{automake}} related issues

\item {} 
\sphinxAtStartPar
AUTOCONF: Add \sphinxcode{\sphinxupquote{./configure \sphinxhyphen{}\sphinxhyphen{}enable\sphinxhyphen{}debug}} option that prevents removal of \sphinxcode{\sphinxupquote{vrna\_log\_debug()}} message from \sphinxcode{\sphinxupquote{RNAlib}}

\item {} 
\sphinxAtStartPar
Add m5C JSON energy parameter file

\item {} 
\sphinxAtStartPar
Add N1\sphinxhyphen{}methylpseudouridine JSON energy parameter file

\item {} 
\sphinxAtStartPar
Add OpenMP library flags to \sphinxcode{\sphinxupquote{RNAlib2.pc}}

\item {} 
\sphinxAtStartPar
DOC: Improve document structure

\item {} 
\sphinxAtStartPar
Bump \sphinxcode{\sphinxupquote{libsvm}} to version 3.35

\item {} 
\sphinxAtStartPar
Remove RNA\sphinxhyphen{}Tutorial since it is now included as part of the reference manual

\item {} 
\sphinxAtStartPar
Remove Python 2 builds from MacOSX installer

\end{itemize}


\section{Version 2.6.x}
\label{\detokenize{changelog:version-2-6-x}}

\subsection{Version 2.6.4}
\label{\detokenize{changelog:version-2-6-4}}

\subsubsection{Programs}
\label{\detokenize{changelog:id7}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix C++17 compilation issue with \sphinxcode{\sphinxupquote{kinwalker}}

\item {} 
\sphinxAtStartPar
Fix potential compilation issues with C++20 in \sphinxcode{\sphinxupquote{RNAforester}} frontend

\item {} 
\sphinxAtStartPar
Refactor and correct spelling issues in man pages for several executable programs

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id8}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Add shift move support to \sphinxcode{\sphinxupquote{vrna\_move\_neighbor\_diff*()}} functions

\item {} 
\sphinxAtStartPar
API: Fix char array initialization in \sphinxcode{\sphinxupquote{snoop.c}}

\item {} 
\sphinxAtStartPar
API: Fix potentially leaking file pointer in \sphinxcode{\sphinxupquote{vrna\_file\_msa\_read()}}

\item {} 
\sphinxAtStartPar
API: Fix potentially leaking memory in \sphinxcode{\sphinxupquote{rnaplot\_EPS()}}

\item {} 
\sphinxAtStartPar
API: Fix potential use of uninitialized variable in \sphinxcode{\sphinxupquote{vrna\_rotational\_symmetry\_db\_pos()}}

\item {} 
\sphinxAtStartPar
API: Fix soft constraints issue in external loop of \sphinxcode{\sphinxupquote{vrna\_subopt*()}}

\item {} 
\sphinxAtStartPar
SWIG: Add swig class output parameter typemap for Python

\item {} 
\sphinxAtStartPar
SWIG: Add \sphinxcode{\sphinxupquote{\_\_hash\_\_()}} and \sphinxcode{\sphinxupquote{\_\_eq\_\_()}} methods for wrapped \sphinxcode{\sphinxupquote{\_vrna\_move\_t}} in Python

\item {} 
\sphinxAtStartPar
SWIG: Return \sphinxcode{\sphinxupquote{var\_array\textless{}vrna\_move\_t\textgreater{}}} objects in Python wrapped \sphinxcode{\sphinxupquote{vrna\_neighbors()}} and \sphinxcode{\sphinxupquote{vrna\_move\_neighbor\_diff()}}

\item {} 
\sphinxAtStartPar
SWIG: Refactor file handle wrapping between Python 3 and C

\item {} 
\sphinxAtStartPar
SWIG: Fix \sphinxcode{\sphinxupquote{var\_array}} Python slices and associated memory leak

\item {} 
\sphinxAtStartPar
SWIG: Fix bogus \sphinxcode{\sphinxupquote{delete/free()}} calls in swig interface

\item {} 
\sphinxAtStartPar
Add requirements to build \sphinxcode{\sphinxupquote{RNAlib}} with MSVC for Windows

\item {} 
\sphinxAtStartPar
Remove unused code in \sphinxcode{\sphinxupquote{RNApuzzler}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id9}}\begin{itemize}
\item {} 
\sphinxAtStartPar
DOC: Transition reference manual from \sphinxcode{\sphinxupquote{doxygen}} to \sphinxcode{\sphinxupquote{sphinx}} via \sphinxcode{\sphinxupquote{breathe}} bridge

\item {} 
\sphinxAtStartPar
DOC: Merge documentation of C\sphinxhyphen{}API and Python API

\item {} 
\sphinxAtStartPar
DOC: Merge parts of tutorial into reference manual

\item {} 
\sphinxAtStartPar
AUTOCONF: Refactor autoconf checks for capability to build reference manual

\item {} 
\sphinxAtStartPar
AUTOCONF: Deactivate build of \sphinxcode{\sphinxupquote{RNAxplorer}} if \sphinxcode{\sphinxupquote{lapack}} requirements are not met

\end{itemize}


\subsection{Version 2.6.3}
\label{\detokenize{changelog:version-2-6-3}}

\subsubsection{Library}
\label{\detokenize{changelog:id10}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Make JSON parser integral part of ViennaRNA library

\item {} 
\sphinxAtStartPar
API: Move modified energy parameters into ‘modified\_base’ object in JSON file(s)

\item {} 
\sphinxAtStartPar
SWIG: Enable stand\sphinxhyphen{}alone build of Python interface (for PyPI)

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id11}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add enthalpy and terminal end values for predicted stacks with dihydrouridine

\item {} 
\sphinxAtStartPar
TESTS: Allow for using \sphinxcode{\sphinxupquote{pytest}} to test the Python 3 interface

\end{itemize}


\subsection{Version 2.6.2 (Release date: 2023\sphinxhyphen{}06\sphinxhyphen{}21)}
\label{\detokenize{changelog:version-2-6-2-release-date-2023-06-21}}

\subsubsection{Programs}
\label{\detokenize{changelog:id12}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix preparation of input sequences for modified base support in \sphinxcode{\sphinxupquote{RNAcofold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id13}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix energy corrections for modified base support when unmodified base is not the same as fallback base, e.g. in the case of inosine

\item {} 
\sphinxAtStartPar
Add soft constraints to multifold external loop decomposition

\item {} 
\sphinxAtStartPar
Add soft constraints preparation stage callback

\item {} 
\sphinxAtStartPar
SWIG: Fix \sphinxcode{\sphinxupquote{fc.sc\_add\_bp()}} propagation of constraint values

\item {} 
\sphinxAtStartPar
SWIG: Wrap energy parameter file strings

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id14}}\begin{itemize}
\item {} 
\sphinxAtStartPar
TESTS: Add modified base tests on duplex data with I\sphinxhyphen{}C and A\sphinxhyphen{}Psi pairs from publications

\end{itemize}


\subsection{Version 2.6.1 (Release date: 2023\sphinxhyphen{}06\sphinxhyphen{}12)}
\label{\detokenize{changelog:version-2-6-1-release-date-2023-06-12}}

\subsubsection{Programs}
\label{\detokenize{changelog:id15}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix double free corruption in \sphinxcode{\sphinxupquote{RNAdos}}

\item {} 
\sphinxAtStartPar
Fix compilation issues due to use of \sphinxcode{\sphinxupquote{uint}} instead of \sphinxcode{\sphinxupquote{unsigned int}} for \sphinxcode{\sphinxupquote{RNAxplorer}}

\item {} 
\sphinxAtStartPar
Fix compilation issues for \sphinxcode{\sphinxupquote{RNAxplorer}} when OpenMP is unavailable

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id16}}\begin{itemize}
\item {} 
\sphinxAtStartPar
AUTOCONF: Update autoconf macros

\item {} 
\sphinxAtStartPar
Update Debian\sphinxhyphen{}based packaging rules

\end{itemize}


\subsection{Version 2.6.0 (Release date: 2023\sphinxhyphen{}06\sphinxhyphen{}09)}
\label{\detokenize{changelog:version-2-6-0-release-date-2023-06-09}}

\subsubsection{Programs}
\label{\detokenize{changelog:id17}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add modified base input support to \sphinxcode{\sphinxupquote{RNAfold}}

\item {} 
\sphinxAtStartPar
Add modified base input support to \sphinxcode{\sphinxupquote{RNAplfold}}

\item {} 
\sphinxAtStartPar
Add modified base input support to \sphinxcode{\sphinxupquote{RNALfold}}

\item {} 
\sphinxAtStartPar
Add modified base input support to \sphinxcode{\sphinxupquote{RNAcofold}}

\item {} 
\sphinxAtStartPar
Add modified base input support to \sphinxcode{\sphinxupquote{RNAsubopt}}

\item {} 
\sphinxAtStartPar
Fix missing strand separators in \sphinxcode{\sphinxupquote{RNAsubopt}} when applied to multiple interacting sequences

\item {} 
\sphinxAtStartPar
Fix sorted output in \sphinxcode{\sphinxupquote{RNAsubopt}} with \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}gquad}} option

\item {} 
\sphinxAtStartPar
Allow for only \sphinxcode{\sphinxupquote{\sphinxhyphen{}Fp}} in \sphinxcode{\sphinxupquote{RNAinverse}} instead of always activating \sphinxcode{\sphinxupquote{\sphinxhyphen{}Fm}}

\item {} 
\sphinxAtStartPar
Fix default value of \sphinxcode{\sphinxupquote{RNAinverse \sphinxhyphen{}R}} option in manpage

\item {} 
\sphinxAtStartPar
Restructure \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}*help}} output and man pages for most executable programs

\item {} 
\sphinxAtStartPar
Allow for cation concentration (Na+) changes in most executable programs (default 1.021M)

\item {} 
\sphinxAtStartPar
Allow for at least as many threads as CPUs are configured if maximum thread number detection fails

\item {} 
\sphinxAtStartPar
Fix alignment input parsing in \sphinxcode{\sphinxupquote{refold.pl}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{RNAxplorer}} program to the distribution

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id18}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Extend \sphinxcode{\sphinxupquote{model\_details}} to allow for salt concentration changes

\item {} 
\sphinxAtStartPar
API: Add functions for salt concentration change derived energy corrections in \sphinxcode{\sphinxupquote{ViennaRNA/params/salt.h}}

\item {} 
\sphinxAtStartPar
API: Add arbitrary modified base support (\sphinxcode{\sphinxupquote{vrna\_sc\_mod()}}) via soft constraints mechanism and JSON input data

\item {} 
\sphinxAtStartPar
API: Add Pseuoduridine\sphinxhyphen{}A parameters via soft constraints callback

\item {} 
\sphinxAtStartPar
API: Add Dihydrouridine parameters via soft constraints callback

\item {} 
\sphinxAtStartPar
API: Add inosine\sphinxhyphen{}U and inosine\sphinxhyphen{}C parameters via soft constraints callback

\item {} 
\sphinxAtStartPar
API: Add m6A parameters via soft constraints callback mechanism

\item {} 
\sphinxAtStartPar
API: Add 7DA modification support via soft constraints

\item {} 
\sphinxAtStartPar
API: Add Purine (nebularine) modification support

\item {} 
\sphinxAtStartPar
API: Add new soft constraints multi\sphinxhyphen{}callback dispatcher

\item {} 
\sphinxAtStartPar
API: Add dynamic array data structure utilities

\item {} 
\sphinxAtStartPar
API: Add string data structure utilities

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_strchr()}} function

\item {} 
\sphinxAtStartPar
API: Fix potential problems in free\_dp\_matrices() of LPfold.c

\item {} 
\sphinxAtStartPar
API: Fix z\sphinxhyphen{}score initialization in \sphinxcode{\sphinxupquote{vrna\_Lfoldz()}} amd \sphinxcode{\sphinxupquote{vrna\_mfe\_window\_zscore\_cb()}}

\item {} 
\sphinxAtStartPar
API: Fix file close issue in \sphinxcode{\sphinxupquote{vrna\_file\_commands\_read()}}

\item {} 
\sphinxAtStartPar
API: Fix backtracking issue in Zuker subopt

\item {} 
\sphinxAtStartPar
API: Fix missing soft constraints callback execution in Zuker subopt

\item {} 
\sphinxAtStartPar
API: Fix enumeration of G\sphinxhyphen{}quadruplexes in \sphinxcode{\sphinxupquote{vrna\_subopt()}} and \sphinxcode{\sphinxupquote{vrna\_subopt\_cb()}}

\item {} 
\sphinxAtStartPar
API: Fix constraints bug for exterior loop in boltzmann sampling

\item {} 
\sphinxAtStartPar
API: Allow for enforcing ‘must pair’ constraint (\sphinxcode{\sphinxupquote{|}}) in dot\sphinxhyphen{}bracket constraints strings

\item {} 
\sphinxAtStartPar
API: Fix discrepancy between global and local folding in how hard constraints for unpaired bases and non\sphinxhyphen{}specific pairing are applied

\item {} 
\sphinxAtStartPar
API: Refactor function typdefs to make them actual function pointer typedefs

\item {} 
\sphinxAtStartPar
SWIG: Fix Python 3 wrapper suffix issue

\item {} 
\sphinxAtStartPar
SWIG: Fix Perl 5 wrapper for \sphinxcode{\sphinxupquote{vrna\_ud\_prob\_get()}}

\item {} 
\sphinxAtStartPar
SWIG: Only accept upper triangular part of matrix input in fc.sc\_bp\_add()

\item {} 
\sphinxAtStartPar
SWIG: Use var\_array instead of tuples for Python RNA.ptable()

\item {} 
\sphinxAtStartPar
SWIG: Add Python wrapper for \sphinxcode{\sphinxupquote{vrna\_move\_neighbor\_diff()}}

\item {} 
\sphinxAtStartPar
SWIG: Add Python docstrings generated from doxygen documentation of C\sphinxhyphen{}library

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id19}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{libsvm}} to version 3.31

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{dlib}} to version 19.24

\item {} 
\sphinxAtStartPar
Adapt Debian dependencies

\item {} 
\sphinxAtStartPar
Fix compilation issues with RNAforester

\item {} 
\sphinxAtStartPar
AUTOCONF: Fix requirement checks when SVM support is deactivated and swig is missing

\item {} 
\sphinxAtStartPar
AUTOMAKE: Add \sphinxcode{\sphinxupquote{auto}} parameters for \sphinxcode{\sphinxupquote{\sphinxhyphen{}flto}} compile/link flags

\item {} 
\sphinxAtStartPar
AUTOCONF: Require C++17 due to dependencies to compile \sphinxcode{\sphinxupquote{DLIB}}

\item {} 
\sphinxAtStartPar
AUTOCONF: Deactivate Python 2 bindings by default

\end{itemize}


\section{Version 2.5.x}
\label{\detokenize{changelog:version-2-5-x}}

\subsection{Version 2.5.1 (Release date: 2022\sphinxhyphen{}06\sphinxhyphen{}02)}
\label{\detokenize{changelog:version-2-5-1-release-date-2022-06-02}}

\subsubsection{Programs}
\label{\detokenize{changelog:id20}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Refactor \sphinxcode{\sphinxupquote{ct2db}} program to allow for pseudoknots in output structure

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id21}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix MEA computation for G\sphinxhyphen{}quadruplex predictions

\item {} 
\sphinxAtStartPar
API: Fix memory leak in hard constraints container

\item {} 
\sphinxAtStartPar
API: Fix RNApuzzler edge\sphinxhyphen{}case that resulted in segmentation faults

\item {} 
\sphinxAtStartPar
API: Fix invalid memory access in \sphinxcode{\sphinxupquote{vrna\_strjoin()}}

\item {} 
\sphinxAtStartPar
API: Revisit generic soft constraints for sliding\sphinxhyphen{}window base pair probability computations

\item {} 
\sphinxAtStartPar
API: Enable to overwrite automatic unpaired probability determination in MEA computation

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{\#VRNA\_PLIST\_TYPE\_UNPAIRED}} and \sphinxcode{\sphinxupquote{\#VRNA\_PLIST\_TYPE\_TRIPLE}} identifiers for \sphinxcode{\sphinxupquote{vrna\_ep\_t}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_init\_rand\_seed()}} to initialize RNG with seed

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_zsc\_compute\_raw()}} to obtain mean and sd for Z\sphinxhyphen{}score computation

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_file\_connect\_read\_record()}} function to parse connectivity table (\sphinxcode{\sphinxupquote{*.ct}}) files

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_strtrim()}} function

\item {} 
\sphinxAtStartPar
API: Update sanity checks for input in \sphinxcode{\sphinxupquote{vrna\_pbacktrack\_sub*()}}

\item {} 
\sphinxAtStartPar
API: Allow for pseudo\sphinxhyphen{}knots in \sphinxcode{\sphinxupquote{vrna\_db\_from\_ptable()}}

\item {} 
\sphinxAtStartPar
API: Do not use \sphinxcode{\sphinxupquote{min\_loop\_size = 0}} for multi strand interaction prediction

\item {} 
\sphinxAtStartPar
API: Remove unnecessary uses of \sphinxcode{\sphinxupquote{min\_loop\_size}} at multiple locations

\item {} 
\sphinxAtStartPar
API: Deprecate cutpoint member of vrna\_fold\_compound\_t and prepare for 5’/3’ encoding

\item {} 
\sphinxAtStartPar
API: Refactor sequence addition/preparation for \sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}}

\item {} 
\sphinxAtStartPar
DOC: Update documentation

\item {} 
\sphinxAtStartPar
SWIG: Add simple dot\sphinxhyphen{}plot file wrapper \sphinxcode{\sphinxupquote{plot\_dp\_EPS()}}

\item {} 
\sphinxAtStartPar
SWIG: Add \sphinxcode{\sphinxupquote{sequence}}, \sphinxcode{\sphinxupquote{sequence\_encoding}} and \sphinxcode{\sphinxupquote{sequence\_encoding2}} attributes to \sphinxcode{\sphinxupquote{fold\_compound}} objects

\item {} 
\sphinxAtStartPar
SWIG: Fix RNG wrapping and initialize RNG upon module load and update associated functions

\item {} 
\sphinxAtStartPar
SWIG: Add more access to member variable arrays for various objects used throughout the library

\item {} 
\sphinxAtStartPar
SWIG: Add memory efficient wrapper for dynamically allocated arrays and matrices

\item {} 
\sphinxAtStartPar
SWIG: Shadow pair table data structure for efficient interactions between C and target languages

\item {} 
\sphinxAtStartPar
SWIG: Expose hard constraints members in \sphinxcode{\sphinxupquote{fold\_compound}} objects

\item {} 
\sphinxAtStartPar
SWIG: Add \sphinxcode{\sphinxupquote{exp\_E\_ext\_stem()}} method (\sphinxcode{\sphinxupquote{vrna\_exp\_E\_ext\_stem()}}) to \sphinxcode{\sphinxupquote{fold\_compound}} objects

\item {} 
\sphinxAtStartPar
SWIG: Expose DP matrices within \sphinxcode{\sphinxupquote{fold\_compound}} objects

\item {} 
\sphinxAtStartPar
SWIG: Fix memory leak in wrapper for \sphinxcode{\sphinxupquote{vrna\_db\_from\_ptable()}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id22}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Update dlib to version 19.23

\item {} 
\sphinxAtStartPar
DOC: Update doxygen.conf for version 1.9.2

\item {} 
\sphinxAtStartPar
AUTOCONF: Factor\sphinxhyphen{}out Naview layout algorithm to allow for deactivating the Naview layout algorithm at configure\sphinxhyphen{}time

\item {} 
\sphinxAtStartPar
AUTOCONF: Make LaTeX checks more portable and update LaTeX package checks

\item {} 
\sphinxAtStartPar
AUTOCONF: Check whether we can build the swig interface when SVM support is deactivated

\item {} 
\sphinxAtStartPar
AUTOCONF: Fix condition check for CLA build

\end{itemize}


\subsection{Version 2.5.0 (Release date: 2021\sphinxhyphen{}11\sphinxhyphen{}08)}
\label{\detokenize{changelog:version-2-5-0-release-date-2021-11-08}}

\subsubsection{Programs}
\label{\detokenize{changelog:id23}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{RNAmultifold}} program to compute secondary structures for multiple interacting RNAs

\item {} 
\sphinxAtStartPar
Add multistrand capabilities to \sphinxcode{\sphinxupquote{RNAeval}}

\item {} 
\sphinxAtStartPar
Add multistrand capabilities to \sphinxcode{\sphinxupquote{RNAsubopt}}

\item {} 
\sphinxAtStartPar
Replace \sphinxcode{\sphinxupquote{RNAcofold}} with a wrapper to \sphinxcode{\sphinxupquote{RNAmultifold}}

\item {} 
\sphinxAtStartPar
Fix computation of BB homodimer base pair probabilities in \sphinxcode{\sphinxupquote{RNAcofold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id24}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix use of undefined values in deprecated function \sphinxcode{\sphinxupquote{PS\_dot\_plot()}}

\item {} 
\sphinxAtStartPar
API: Fix probability computations for unstructured domains within multibranch loops

\item {} 
\sphinxAtStartPar
API: Fix index error in ensemble defect computations

\item {} 
\sphinxAtStartPar
API: Fix hard constraints behavior on non\sphinxhyphen{}specific base pairing

\item {} 
\sphinxAtStartPar
API: Fix segmentation fault for short input sequences in \sphinxcode{\sphinxupquote{vrna\_hx\_from\_ptable()}}

\item {} 
\sphinxAtStartPar
API: Fix memory leak in static \sphinxcode{\sphinxupquote{rna\_layout()}} function

\item {} 
\sphinxAtStartPar
API: Fix corner\sphinxhyphen{}case in covariance score computation on sequence alignments that determines which alignment columns may pair and which don’t

\item {} 
\sphinxAtStartPar
API: Add MFE computations for multiple interacting strands

\item {} 
\sphinxAtStartPar
API: Add partition function computations for multiple interacting strands

\item {} 
\sphinxAtStartPar
API: Add base pair probability computations for multiple interacting strands

\item {} 
\sphinxAtStartPar
API: Add suboptimal structure prediction for multiple interacting strands

\item {} 
\sphinxAtStartPar
API: Add multistrand capabilities to \sphinxcode{\sphinxupquote{vrna\_eval*()}} functions

\item {} 
\sphinxAtStartPar
API: Add new function \sphinxcode{\sphinxupquote{vrna\_equilibrium\_conc()}} fir concentration dependency computations of multiple interacting strands with \sphinxcode{\sphinxupquote{dlib}} backend

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_equilibrium\_constants()}} function to obtain equilibrium constants for different complexes of multiple interacting strands

\item {} 
\sphinxAtStartPar
API: Add function \sphinxcode{\sphinxupquote{vrna\_pf\_add()}} to add ensemble free energies of two ensembles

\item {} 
\sphinxAtStartPar
API: Add function \sphinxcode{\sphinxupquote{vrna\_pf\_substrands()}} to get ensemble free energies for complexes up to a specific number of interacting strands

\item {} 
\sphinxAtStartPar
API: Add function \sphinxcode{\sphinxupquote{vrna\_n\_multichoose\_k()}} to obtain a list of k\sphinxhyphen{}combinations with repetition

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_cstr\_discard()}} function to allow for discarding char streams prior to flushing

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_bp\_distance\_pt()}} function to allow for base pair distance computation with pseudo\sphinxhyphen{}knots

\item {} 
\sphinxAtStartPar
API: Add functions \sphinxcode{\sphinxupquote{vrna\_pbacktrack\_sub*()}} to allow for stochastic backtracing within arbitrary sequence intervals

\item {} 
\sphinxAtStartPar
API: Add functions \sphinxcode{\sphinxupquote{vrna\_boustrophedon()}} and \sphinxcode{\sphinxupquote{vrna\_boustrophedon\_pos()}} to generate lists of or obtain values from sequences of Boustrophedon distributed integer numbers

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_pscore()}} and \sphinxcode{\sphinxupquote{vrna\_pscore\_freq()}} functions to obtain covariance score for particular alignment columns

\item {} 
\sphinxAtStartPar
API: Rewrite Zuker suboptimals implementation

\item {} 
\sphinxAtStartPar
API: Remove old cofold implementations

\item {} 
\sphinxAtStartPar
API: Make \sphinxcode{\sphinxupquote{type}} attribute of \sphinxcode{\sphinxupquote{vrna\_mx\_mfe\_t}} and \sphinxcode{\sphinxupquote{vrna\_mx\_pf\_t}} a constant

\item {} 
\sphinxAtStartPar
API: Guard more functions in \sphinxcode{\sphinxupquote{utils/structure\_utils.c}} against \sphinxcode{\sphinxupquote{NULL}} input

\item {} 
\sphinxAtStartPar
API: Rename \sphinxcode{\sphinxupquote{vrna\_E\_ext\_loop()}} to \sphinxcode{\sphinxupquote{vrna\_eval\_ext\_stem()}}

\item {} 
\sphinxAtStartPar
API: Use v3 typedefs in dot\sphinxhyphen{}plot function declarations

\item {} 
\sphinxAtStartPar
SWIG: Fix Python 3 file handle as optional argument in \sphinxcode{\sphinxupquote{eval*}} functions and methods

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_pf\_add()}}

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_hx\_from\_ptable()}}

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_db\_from\_probs()}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id25}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{libsvm}} to version 3.25

\item {} 
\sphinxAtStartPar
Make Python 3.x the default Python for the scripting languange interfaces

\item {} 
\sphinxAtStartPar
Add Python3 capability for Mac OS X installer builds

\item {} 
\sphinxAtStartPar
TESTS: Create TAP driver output for all unit tests (library, executables, SWIG interfaces)

\item {} 
\sphinxAtStartPar
Remove compile\sphinxhyphen{}time switch to deactivate Boustrophedon backtracing scheme (this is the status\sphinxhyphen{}quo now)

\item {} 
\sphinxAtStartPar
Add Contributors License Agreement (CLA) to the Package in \sphinxcode{\sphinxupquote{doc/CLA/}}

\end{itemize}


\section{Version 2.4.x}
\label{\detokenize{changelog:version-2-4-x}}

\subsection{Version 2.4.18 (Release date: 2021\sphinxhyphen{}04\sphinxhyphen{}22)}
\label{\detokenize{changelog:version-2-4-18-release-date-2021-04-22}}

\subsubsection{Programs}
\label{\detokenize{changelog:id26}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix and refactor \sphinxcode{\sphinxupquote{RNApkplex}} program

\item {} 
\sphinxAtStartPar
Fix occasional backtracing errors in \sphinxcode{\sphinxupquote{RNALalifold}}

\item {} 
\sphinxAtStartPar
Restrict available dangling end models in \sphinxcode{\sphinxupquote{RNALalifold}} to 0 and 2

\item {} 
\sphinxAtStartPar
Prevent segmentation faults upon bogus input data in \sphinxcode{\sphinxupquote{RNAfold}}, \sphinxcode{\sphinxupquote{RNAalifold}}, \sphinxcode{\sphinxupquote{RNAcofold}}, \sphinxcode{\sphinxupquote{RNAheat}}, and \sphinxcode{\sphinxupquote{RNAeval}}

\item {} 
\sphinxAtStartPar
Free MFE DP matrices in \sphinxcode{\sphinxupquote{RNAsubopt}} Boltzmann sampling when not required anymore

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id27}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_abstract\_shapes()}} and \sphinxcode{\sphinxupquote{vrna\_abstract\_shapes\_pt()}} functions to convert secondary structures into their respective abstract shape notation ala Giegerich et al. 2004

\item {} 
\sphinxAtStartPar
API: Add functions \sphinxcode{\sphinxupquote{vrna\_seq\_reverse()}} and \sphinxcode{\sphinxupquote{vrna\_DNA\_complement()}} to create reverse complements of a sequence

\item {} 
\sphinxAtStartPar
API: Add more soft constraint handling to comparative structure prediction

\item {} 
\sphinxAtStartPar
API: Add generic soft constraints for sliding window comparative MFE backtracing

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_ensemble\_defect\_pt()}} that accepts pair table input instead of dot\sphinxhyphen{}bracket string to allow for non\sphinxhyphen{}nested reference structures

\item {} 
\sphinxAtStartPar
API: Add failure/success return values to generic soft constraints application functions

\item {} 
\sphinxAtStartPar
API: Refactor \sphinxcode{\sphinxupquote{RNAPKplex}} implementation by better using constraints framework and moving out many parts from \sphinxcode{\sphinxupquote{RNAPKplex.c}} into \sphinxcode{\sphinxupquote{RNAlib}} as separate re\sphinxhyphen{}usable functions

\item {} 
\sphinxAtStartPar
API: Fix energy contributions used in \sphinxcode{\sphinxupquote{RNAPKplex}} implementations

\item {} 
\sphinxAtStartPar
API: Fix energy evaluation for cofolding with dangle model 1

\item {} 
\sphinxAtStartPar
API: Fix wrong arithmetic usage for PF variant of combined generic and simple soft constraints applied to external loops

\item {} 
\sphinxAtStartPar
API: Fix memory size in \#vrna\_fold\_compound\_t initialization

\item {} 
\sphinxAtStartPar
API: Fix bogus memory access for comparative prediction when preparing hard constraints

\item {} 
\sphinxAtStartPar
API: Fix wrong index usage in hard constraints for comparative base pair probability computations of internal loops

\item {} 
\sphinxAtStartPar
API: Fix G\sphinxhyphen{}Quadruplex contributions as part of multibranch loops in single sequence base pair probability computations

\item {} 
\sphinxAtStartPar
API: Fix multibranch loop MFE decomposition step for multiple strand cases

\item {} 
\sphinxAtStartPar
API: Fix external loop generic hard constraint index updating for partition function computations

\item {} 
\sphinxAtStartPar
API: Fix memory allocation for auxiliary grammar data structure

\item {} 
\sphinxAtStartPar
API: Fix incorporation of auxiliary grammar contrib for closing pairs in sliding\sphinxhyphen{}window MFE computation

\item {} 
\sphinxAtStartPar
API: Fix DP matrix intitialization in sliding window MFE computations (fixes occasional backtracing issues in comparative sliding\sphinxhyphen{}window MFE computations)

\item {} 
\sphinxAtStartPar
API: Make \sphinxcode{\sphinxupquote{vrna\_sc\_t.type}} attribute a constant

\item {} 
\sphinxAtStartPar
API: Remove upper\sphinxhyphen{}triangular hard constraint matrix in favor of full matrix

\item {} 
\sphinxAtStartPar
API: Always ensure sane base pair span settings after \sphinxcode{\sphinxupquote{vrna\_fold\_compound\_prepare()}}

\item {} 
\sphinxAtStartPar
API: Return INF on predictions of \sphinxcode{\sphinxupquote{vrna\_mfe\_dimer()}} that fail due to unsatisfiable constraints

\item {} 
\sphinxAtStartPar
API: Rename internally used hard and soft constraints API symbols

\item {} 
\sphinxAtStartPar
API: Fix header file inclusions to prevent \#include cycles

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for \sphinxcode{\sphinxupquote{vrna\_file\_fasta\_read\_record()}}

\item {} 
\sphinxAtStartPar
SWIG: Fix memory leak in wrapper for \sphinxcode{\sphinxupquote{vrna\_probs\_window()}}

\item {} 
\sphinxAtStartPar
SWIG: Refactor and therefore fix soft constraint binding functions for use in comparative structure predictions

\item {} 
\sphinxAtStartPar
SWIG: Fix typo that prevented properly wrapping \sphinxcode{\sphinxupquote{vrna\_params\_load\_RNA\_Andronescu2007()}}

\item {} 
\sphinxAtStartPar
SWIG: Unify wrappers for \sphinxcode{\sphinxupquote{vrna\_ptable()}} and \sphinxcode{\sphinxupquote{vrna\_ptable\_from\_string()}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id28}}\begin{itemize}
\item {} 
\sphinxAtStartPar
REFMAN: Refactored structure annotation documentation

\item {} 
\sphinxAtStartPar
REFMAN: Update Mac OS X install section

\item {} 
\sphinxAtStartPar
Replace \sphinxcode{\sphinxupquote{DEF}} placeholders in energy parameter files with their value of \sphinxhyphen{}50

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{RNAlocmin}} subpackage to properly compile with more stringent C++ compilers

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{RNAforester}} subpackage to properly compile with more stringent C++ compilers

\item {} 
\sphinxAtStartPar
Update autotools framework, e.g. checks for pthreads

\item {} 
\sphinxAtStartPar
Update universal binary build instructions for Mac OS X builds to enable ARM compilation for M1 CPUs

\end{itemize}


\subsection{Version 2.4.17 (Release date: 2020\sphinxhyphen{}11\sphinxhyphen{}25)}
\label{\detokenize{changelog:version-2-4-17-release-date-2020-11-25}}

\subsubsection{Programs}
\label{\detokenize{changelog:id29}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix \sphinxcode{\sphinxupquote{RNAup \sphinxhyphen{}b}} mode with shorter sequence first

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}backtrack\sphinxhyphen{}global}} option to \sphinxcode{\sphinxupquote{RNALfold}} (currently only available for dangles == 2 | 0)

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}pre\sphinxhyphen{}filter}} and \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}zscore\sphinxhyphen{}report\sphinxhyphen{}subsumed}} options to \sphinxcode{\sphinxupquote{RNALfold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id30}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix multiloop backtracing with soft constraints for unpaired positions in \sphinxcode{\sphinxupquote{vrna\_subopt()}} and \sphinxcode{\sphinxupquote{vrna\_subopt\_cb()}}

\item {} 
\sphinxAtStartPar
API: Fix parameter parse in \sphinxcode{\sphinxupquote{vrna\_params\_load\_from\_string()}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_heat\_capacity()}} and \sphinxcode{\sphinxupquote{vrna\_head\_capacity\_cb()}} functions to RNAlib

\item {} 
\sphinxAtStartPar
API: Add backtracing function \sphinxcode{\sphinxupquote{vrna\_backtrack\_window()}} for global MFE structure to sliding\sphinxhyphen{}window predictions

\item {} 
\sphinxAtStartPar
API: Add SVG support for \sphinxcode{\sphinxupquote{RNApuzzler}} structure layouts

\item {} 
\sphinxAtStartPar
API: Make \sphinxcode{\sphinxupquote{vrna\_md\_t}} argument to vrna\_fold\_compound() a constant pointer

\item {} 
\sphinxAtStartPar
API: Remove missing symbols from header file \sphinxcode{\sphinxupquote{ViennaRNA/params/default.h}}

\item {} 
\sphinxAtStartPar
API: Refactor z\sphinxhyphen{}score threshold filter handling for sliding\sphinxhyphen{}window MFE prediction

\item {} 
\sphinxAtStartPar
SWIG: Fix typo in interface functions to load DNA parameters

\item {} 
\sphinxAtStartPar
SWIG: Add python\sphinxhyphen{}3.9 autoconf checks

\item {} 
\sphinxAtStartPar
SWIG: Add \sphinxcode{\sphinxupquote{vrna\_head\_capacity*()}} wrappers

\item {} 
\sphinxAtStartPar
SWIG: Add access to raw energy parameters

\item {} 
\sphinxAtStartPar
SWIG: Add \sphinxcode{\sphinxupquote{alias}} and \sphinxcode{\sphinxupquote{pair}} attribute to objects of type \sphinxcode{\sphinxupquote{md}}

\item {} 
\sphinxAtStartPar
SWIG: Add out/varout typemaps for 2\sphinxhyphen{}dimensional int\sphinxhyphen{}like arrays

\item {} 
\sphinxAtStartPar
SWIG: Add all data fields to objects of type ‘param’ and ‘exp\_param’

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id31}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix Debian and Windows installer files

\end{itemize}


\subsection{Version 2.4.16 (Release date: 2020\sphinxhyphen{}10\sphinxhyphen{}09)}
\label{\detokenize{changelog:version-2-4-16-release-date-2020-10-09}}

\subsubsection{Programs}
\label{\detokenize{changelog:id32}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix backtracing errors in \sphinxcode{\sphinxupquote{RNALalifold}} for alignments with more than \sphinxcode{\sphinxupquote{32768}} columns

\item {} 
\sphinxAtStartPar
Fix backtracing errors in \sphinxcode{\sphinxupquote{RNAalifold}} and \sphinxcode{\sphinxupquote{RNALalifold}} for rare cases when two alignment columns may pair due to covariance score threshold but still yield infinite energies due to energy model

\item {} 
\sphinxAtStartPar
Refactored manpages/help options for \sphinxcode{\sphinxupquote{RNAplfold}}, \sphinxcode{\sphinxupquote{RNAplot}}, \sphinxcode{\sphinxupquote{RNApvmin}}, \sphinxcode{\sphinxupquote{RNAsubopt}}, and \sphinxcode{\sphinxupquote{RNAup}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id33}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix undefined behavior due to short int overflows when accessing alignment lengths with alignments larger than 32768 columns. This fixes occasional backtracing errors in \sphinxcode{\sphinxupquote{RNALalifold}} and \sphinxcode{\sphinxupquote{vrna\_mfe\_window()}}

\item {} 
\sphinxAtStartPar
API: Fix adding pscore to base pairs that yield INF energy in comparative global and local MFE prediction

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_convert\_kcal\_to\_dcal()}} and vice\sphinxhyphen{}versa function for safely converting integer to float representations of energy values

\item {} 
\sphinxAtStartPar
SWIG: Add a reasonable \sphinxcode{\sphinxupquote{Python}} interface for objects of type \sphinxcode{\sphinxupquote{vrna\_path\_t}}

\item {} 
\sphinxAtStartPar
SWIG: Add a wrapper for \sphinxcode{\sphinxupquote{vrna\_seq\_encode()}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id34}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Move \sphinxcode{\sphinxupquote{units.h}} include file to \sphinxcode{\sphinxupquote{ViennaRNA/utils/units.h}}

\end{itemize}


\subsection{Version 2.4.15 (Release date: 2020\sphinxhyphen{}08\sphinxhyphen{}18)}
\label{\detokenize{changelog:version-2-4-15-release-date-2020-08-18}}

\subsubsection{Programs}
\label{\detokenize{changelog:id35}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix compilation of \sphinxcode{\sphinxupquote{Kinfold}} with GCC 10

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}en\sphinxhyphen{}only}} flag to \sphinxcode{\sphinxupquote{RNAsubopt}} to allow for sorting by energy only

\item {} 
\sphinxAtStartPar
Prevent \sphinxcode{\sphinxupquote{RNAcofold}} to process input with more than two strands

\item {} 
\sphinxAtStartPar
Add cutpoint marker to dot\sphinxhyphen{}plots created with \sphinxcode{\sphinxupquote{RNAcofold \sphinxhyphen{}a}}

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{Kinfold}} to version \sphinxcode{\sphinxupquote{1.4}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id36}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix removal of strand delimiter in \sphinxcode{\sphinxupquote{vrna\_plot\_dp\_PS\_list()}}

\item {} 
\sphinxAtStartPar
API: Fix \sphinxcode{\sphinxupquote{vrna\_enumerate\_necklaces()}}

\item {} 
\sphinxAtStartPar
API: Fix bogus backtracing for co\sphinxhyphen{}folded structures in \sphinxcode{\sphinxupquote{vrna\_subopt()}} and \sphinxcode{\sphinxupquote{vrna\_subopt\_cb()}}

\item {} 
\sphinxAtStartPar
API: Fix storing co\sphinxhyphen{}folded structures for sorted output in \sphinxcode{\sphinxupquote{vrna\_subopt()}}

\item {} 
\sphinxAtStartPar
API: Fix multibranch loop component hard constraints for multi\sphinxhyphen{}strand cases

\item {} 
\sphinxAtStartPar
API: Prevent adding internal loop energy contributions to enclosed parts with \sphinxcode{\sphinxupquote{energy=INF}}

\item {} 
\sphinxAtStartPar
API: Adapt \sphinxcode{\sphinxupquote{vrna\_db\_pack()/vrna\_db\_unpack()}} functions to produce comparable strings

\item {} 
\sphinxAtStartPar
API: Add sorting modes \sphinxcode{\sphinxupquote{VRNA\_UNSORTED}}, \sphinxcode{\sphinxupquote{VRNA\_SORT\_BY\_ENERGY\_LEXICOGRAPHIC\_ASC}}, and \sphinxcode{\sphinxupquote{VRNA\_SORT\_BY\_ENERGY\_ASC}} to \sphinxcode{\sphinxupquote{vrna\_subopt()}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_strjoin()}} function

\item {} 
\sphinxAtStartPar
API: Add missing case to external loop hard constraints

\item {} 
\sphinxAtStartPar
API: Make hard constrains strand\sphinxhyphen{}aware

\item {} 
\sphinxAtStartPar
SWIG: Fix invalid memory access when using \sphinxcode{\sphinxupquote{MEA\_from\_plist()}} in \sphinxcode{\sphinxupquote{Perl 5}} or \sphinxcode{\sphinxupquote{Python}}

\item {} 
\sphinxAtStartPar
SWIG: Enable keyword argument features in \sphinxcode{\sphinxupquote{Python}} interface of constructors for \sphinxcode{\sphinxupquote{fold\_compound}}, \sphinxcode{\sphinxupquote{md}}, \sphinxcode{\sphinxupquote{move}}, \sphinxcode{\sphinxupquote{param}}, and \sphinxcode{\sphinxupquote{exp\_param}} objects

\item {} 
\sphinxAtStartPar
SWIG: Enable autodoc feature for \sphinxcode{\sphinxupquote{Python}} interface of constructors for \sphinxcode{\sphinxupquote{fold\_compound}}, \sphinxcode{\sphinxupquote{md}}, and \sphinxcode{\sphinxupquote{move}} objects

\item {} 
\sphinxAtStartPar
SWIG: Enable \sphinxcode{\sphinxupquote{toString}} conversion for \sphinxcode{\sphinxupquote{Python}} interface for objects of type \sphinxcode{\sphinxupquote{fold\_compound}}, \sphinxcode{\sphinxupquote{md}}, \sphinxcode{\sphinxupquote{move}}, \sphinxcode{\sphinxupquote{params}}, \sphinxcode{\sphinxupquote{exp\_params}}, and \sphinxcode{\sphinxupquote{subopt\_solution}}

\item {} 
\sphinxAtStartPar
SWIG: Add (read\sphinxhyphen{}only) attributes \sphinxcode{\sphinxupquote{type}}, \sphinxcode{\sphinxupquote{length}}, \sphinxcode{\sphinxupquote{strands}}, \sphinxcode{\sphinxupquote{params}}, and \sphinxcode{\sphinxupquote{exp\_params}} to objects of type \sphinxcode{\sphinxupquote{fold\_compound}}

\item {} 
\sphinxAtStartPar
SWIG: Make attributes of objects of type \sphinxcode{\sphinxupquote{param}} and \sphinxcode{\sphinxupquote{exp\_param}} read\sphinxhyphen{}only

\item {} 
\sphinxAtStartPar
Add array of strand nicks to EPS dot plot files instead of single cutpoint

\item {} 
\sphinxAtStartPar
Draw separator line for each strand nick in EPS dot\sphinxhyphen{}plots

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{libsvm}} to version 3.24

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id37}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Disable Link\sphinxhyphen{}Time\sphinxhyphen{}Optimization (\sphinxcode{\sphinxupquote{LTO}}) for third\sphinxhyphen{}party programs linking against \sphinxcode{\sphinxupquote{RNAlib}} using \sphinxcode{\sphinxupquote{pkg\sphinxhyphen{}config}}

\item {} 
\sphinxAtStartPar
TESTS: Fix results dir path for out\sphinxhyphen{}of\sphinxhyphen{}tree builds

\item {} 
\sphinxAtStartPar
TESTS: Set default timeout for library tests to 20s

\end{itemize}


\subsection{Version 2.4.14 (Release date: 2019\sphinxhyphen{}08\sphinxhyphen{}13)}
\label{\detokenize{changelog:version-2-4-14-release-date-2019-08-13}}

\subsubsection{Programs}
\label{\detokenize{changelog:id38}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix \sphinxcode{\sphinxupquote{RNApvmin}} pertubation vector computation

\item {} 
\sphinxAtStartPar
Add non\sphinxhyphen{}redundant sampling option to \sphinxcode{\sphinxupquote{RNApvmin}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{RNAdos}} program to compute density of states

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}P DNA}} convenience command line parameter to most programs to quickly load DNA parameters without any input file

\item {} 
\sphinxAtStartPar
MAN: Add example section to man\sphinxhyphen{}page of \sphinxcode{\sphinxupquote{RNAalifold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id39}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix memory leak in \sphinxcode{\sphinxupquote{vrna\_path\_gradient()}}

\item {} 
\sphinxAtStartPar
API: Fix release of memory fir \sphinxcode{\sphinxupquote{vrna\_sequence\_remove\_all()}}

\item {} 
\sphinxAtStartPar
API: Fix soft\sphinxhyphen{}constraints application in \sphinxcode{\sphinxupquote{vrna\_sc\_minimize\_pertubation()}} that prevented proper computation of the pertubation vector

\item {} 
\sphinxAtStartPar
API: Add 5’ and 3’ neighbor nucleotide encoding arrays and name string to \sphinxcode{\sphinxupquote{vrna\_seq\_t}}

\item {} 
\sphinxAtStartPar
API: Add new data structure for multiple sequence alignments

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_sequence\_order\_update()}} function

\item {} 
\sphinxAtStartPar
API: Add non\sphinxhyphen{}redundant sampling mode to \sphinxcode{\sphinxupquote{vrna\_sc\_minimize\_pertubation()}} through passing negative sample\sphinxhyphen{}sizes

\item {} 
\sphinxAtStartPar
API: Add v3.0 API functions for maximum expected accuracy (MEA) computation

\item {} 
\sphinxAtStartPar
API: Include energy parameter sets into \sphinxcode{\sphinxupquote{RNAlib}} and provide functions to load them at runtime

\item {} 
\sphinxAtStartPar
API: Prepare sequence data in \sphinxcode{\sphinxupquote{vrna\_fold\_compound\_t}} with \sphinxcode{\sphinxupquote{vrna\_sequence\_add()}}

\item {} 
\sphinxAtStartPar
API: Use \sphinxcode{\sphinxupquote{vrna\_pbacktrack\_num()}} instead of \sphinxcode{\sphinxupquote{vrna\_pbacktrack()}} in \sphinxcode{\sphinxupquote{vrna\_sc\_minimize\_pertubation()}} to speed\sphinxhyphen{}up sample generation

\item {} 
\sphinxAtStartPar
Reduce use of global variable \sphinxcode{\sphinxupquote{cut\_point}} in \sphinxcode{\sphinxupquote{RNAlib}}

\item {} 
\sphinxAtStartPar
SWIG: Use \sphinxcode{\sphinxupquote{importlib}} in favor of \sphinxcode{\sphinxupquote{imp}} to determine Python 3 tag extension

\item {} 
\sphinxAtStartPar
SWIG: Update various wrapper functions

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for MEA computation with \sphinxcode{\sphinxupquote{vrna\_MEA()}} and \sphinxcode{\sphinxupquote{vrna\_MEA\_from\_plist}}

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for \sphinxcode{\sphinxupquote{vrna\_pr\_structure()}} and \sphinxcode{\sphinxupquote{vrna\_pr\_energy()}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id40}}\begin{itemize}
\item {} 
\sphinxAtStartPar
REFMAN: Fix LaTeX code in \sphinxcode{\sphinxupquote{units.h}} that prevented proper compilation with \sphinxcode{\sphinxupquote{pdflatex}}

\item {} 
\sphinxAtStartPar
Add an R script to create 2D landscape plots from \sphinxcode{\sphinxupquote{RNA2Dfold}} output

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{gengetopt}} to configure\sphinxhyphen{}time requirements to build man\sphinxhyphen{}pages

\item {} 
\sphinxAtStartPar
Add new energy parameter file \sphinxcode{\sphinxupquote{rna\_misc\_special\_hairpins.par}} with additional UV\sphinxhyphen{}melting derived parameters for Tri\sphinxhyphen{} and Tetra\sphinxhyphen{}loops

\item {} 
\sphinxAtStartPar
Update RNA Tutorial

\item {} 
\sphinxAtStartPar
Colorize final configure script message

\item {} 
\sphinxAtStartPar
REFMAN: Always use \sphinxcode{\sphinxupquote{pdflatex}} to compile reference manual and tutorial

\item {} 
\sphinxAtStartPar
EXAMPLES: Add Python script that performs computations equivalent to \sphinxcode{\sphinxupquote{RNAfold \sphinxhyphen{}p \sphinxhyphen{}\sphinxhyphen{}MEA}}

\end{itemize}


\subsection{Version 2.4.13 (Release date: 2019\sphinxhyphen{}05\sphinxhyphen{}30)}
\label{\detokenize{changelog:version-2-4-13-release-date-2019-05-30}}

\subsubsection{Programs}
\label{\detokenize{changelog:id41}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix centroid structure prediction for \sphinxcode{\sphinxupquote{RNAcofold}}

\item {} 
\sphinxAtStartPar
Fix \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}} option for \sphinxcode{\sphinxupquote{RNALalifold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id42}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Refactor and fix collision handling in \sphinxcode{\sphinxupquote{vrna\_hash\_table\_t}}

\item {} 
\sphinxAtStartPar
API: Fix one access using wrong index for odd dangles in \sphinxcode{\sphinxupquote{loops/external.c}}

\item {} 
\sphinxAtStartPar
API: Add two missing \sphinxcode{\sphinxupquote{MLbase}} contributions for MFE prediction in \sphinxcode{\sphinxupquote{loops/multibranch.c}}

\item {} 
\sphinxAtStartPar
API: Refactor multiloop MFE backtracking for odd dangles

\item {} 
\sphinxAtStartPar
API: Add function \sphinxcode{\sphinxupquote{vrna\_backtrack5()}} to allow for MFE backtracking of sub\sphinxhyphen{}sequences starting at the 5’\sphinxhyphen{}end

\item {} 
\sphinxAtStartPar
API: Reduce usage of global macro \sphinxcode{\sphinxupquote{TURN}} by replacing it with \sphinxcode{\sphinxupquote{min\_loop\_size}} field of \sphinxcode{\sphinxupquote{vrna\_md\_t}}

\item {} 
\sphinxAtStartPar
API: Add functions \sphinxcode{\sphinxupquote{vrna\_path\_direct()}} and \sphinxcode{\sphinxupquote{vrna\_path\_direct\_ub()}} that may also return move lists instead of dot\sphinxhyphen{}bracket lists

\item {} 
\sphinxAtStartPar
API: Add functions \sphinxcode{\sphinxupquote{vrna\_pt\_pk\_remove()}} and \sphinxcode{\sphinxupquote{vrna\_db\_pk\_remove()}} that remove pseudoknots from an input structure

\item {} 
\sphinxAtStartPar
API: Fix invalid memory access for lonely pair mode (\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noLP}}) in comparative sliding\sphinxhyphen{}window MFE prediction

\item {} 
\sphinxAtStartPar
SWIG: Fix access to global variable \sphinxcode{\sphinxupquote{pf\_smooth}} and \sphinxcode{\sphinxupquote{pf\_smooth}} attribute in \sphinxcode{\sphinxupquote{model\_details}} object

\item {} 
\sphinxAtStartPar
SWIG: Fix Python reference counting for \sphinxcode{\sphinxupquote{Py\_None}} in \sphinxcode{\sphinxupquote{interfaces/findpath.i}} wrapper

\item {} 
\sphinxAtStartPar
SWIG: Refactor reference counting for all Python2 and Python3 wrappers

\item {} 
\sphinxAtStartPar
REFMAN: Larger updates and restructuring of reference manual

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id43}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Install example scripts and source code files, e.g. to \$prefix/share/ViennaRNA/examples

\item {} 
\sphinxAtStartPar
Properly pass GSL, PTHREADS, and MPFR flags to sub\sphinxhyphen{}projects

\item {} 
\sphinxAtStartPar
Fix \sphinxcode{\sphinxupquote{RNApuzzler}} header file installation

\item {} 
\sphinxAtStartPar
SWIG: Include Python 3.7 and 3.8 in list of autoconf\sphinxhyphen{}probed python interpreters

\item {} 
\sphinxAtStartPar
SWIG: Fix wrapper building for \sphinxcode{\sphinxupquote{swig \textgreater{}= 4.0.0}}

\end{itemize}


\subsection{Version 2.4.12 (Release date: 2019\sphinxhyphen{}04\sphinxhyphen{}16)}
\label{\detokenize{changelog:version-2-4-12-release-date-2019-04-16}}

\subsubsection{Programs}
\label{\detokenize{changelog:id44}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add non\sphinxhyphen{}redundant stochastic backtracing option for \sphinxcode{\sphinxupquote{RNAalifold}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}noDP}} option to suppress dot\sphinxhyphen{}plot output in \sphinxcode{\sphinxupquote{RNAfold}} and \sphinxcode{\sphinxupquote{RNAalifold}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{RNApuzzler}} (4) and \sphinxcode{\sphinxupquote{RNAturtle}} (3) secondary structure layout algorithm options to \sphinxcode{\sphinxupquote{RNAfold}} and \sphinxcode{\sphinxupquote{RNAplot}}

\item {} 
\sphinxAtStartPar
Update help/man page of \sphinxcode{\sphinxupquote{RNALfold}}

\item {} 
\sphinxAtStartPar
Allow for multiple input files and parallel input processing in \sphinxcode{\sphinxupquote{RNAheat}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id45}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix declaration of \sphinxcode{\sphinxupquote{vrna\_move\_apply\_db()}}

\item {} 
\sphinxAtStartPar
API: Fix \sphinxcode{\sphinxupquote{vrna\_path()}} lexicographical ordering in gradient walks

\item {} 
\sphinxAtStartPar
API: Enable non\sphinxhyphen{}redundant stochastic backtracing for comparative structure prediction

\item {} 
\sphinxAtStartPar
API: Enable stochastic backtracing for circular comparative structure prediction

\item {} 
\sphinxAtStartPar
API: Enable stochastic backtracing of subsequences (5’ prefixes) for comparative structure prediction

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{pf\_smooth}} attribute to \sphinxcode{\sphinxupquote{vrna\_md\_t}} data stucture to allow for disabling Boltzmann factor energy smoothing

\item {} 
\sphinxAtStartPar
API: Add functions to allow for resuming non\sphinxhyphen{}redundant stochastic backtracing

\item {} 
\sphinxAtStartPar
API: Add functions to retrieve multiple stochastically backtraced structures (list and callback variants)

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{vrna\_positional\_entropy}} to compute vector of positional entropies

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{RNApuzzler}} and \sphinxcode{\sphinxupquote{RNAturtle}} secondary structure layout algorithm (Wiegreffe et al. 2018)

\item {} 
\sphinxAtStartPar
API: Add v3.0 API for secondary structure layout/coordinate algorithms

\item {} 
\sphinxAtStartPar
API: Add more helper/utility functions for \sphinxcode{\sphinxupquote{vrna\_move\_t}} data structures

\item {} 
\sphinxAtStartPar
API: Add callback\sphinxhyphen{}based neighborhood update function for (subsequent) \sphinxcode{\sphinxupquote{vrna\_move\_t}} application

\item {} 
\sphinxAtStartPar
API: Add abstract heap data structure available as \sphinxcode{\sphinxupquote{\textless{}ViennaRNA/datastructures/heap.h\textgreater{}}}

\item {} 
\sphinxAtStartPar
API: Refactor and speed\sphinxhyphen{}up gradient walk implementation available as \sphinxcode{\sphinxupquote{vrna\_path\_gradient()}}

\item {} 
\sphinxAtStartPar
API: Substitute \sphinxcode{\sphinxupquote{vrna\_file\_PS\_aln\_sub()}} alignment plot function by \sphinxcode{\sphinxupquote{vrna\_file\_PS\_aln\_slice()}} that actually slices out a sub\sphinxhyphen{}alignment

\item {} 
\sphinxAtStartPar
API: Rename \sphinxcode{\sphinxupquote{vrna\_annotate\_covar\_struct()}} to \sphinxcode{\sphinxupquote{vrna\_annotate\_covar\_db()}} and add new function \sphinxcode{\sphinxupquote{vrna\_annotate\_covar\_db\_extended()}} to support more bracket types

\item {} 
\sphinxAtStartPar
API: Calling \sphinxcode{\sphinxupquote{vrna\_params\_reset()}} now implies a call to \sphinxcode{\sphinxupquote{vrna\_exp\_params\_reset()}} as well

\item {} 
\sphinxAtStartPar
API: Move landscape implementations into separate directory, thus headers should be included as \sphinxcode{\sphinxupquote{\textless{}ViennaRNA/landscape/move.h\textgreater{}}}, \sphinxcode{\sphinxupquote{\textless{}ViennaRNA/landscape/neighbor.h\textgreater{}}}, etc.

\item {} 
\sphinxAtStartPar
Ensure proper rescaling of energy parameters upon temperature changes

\item {} 
\sphinxAtStartPar
Refactor soft constraints implementation in stochastic backtracing

\item {} 
\sphinxAtStartPar
SWIG: Wrap all non\sphinxhyphen{}redundant stochastic backtracing functions to scripting language interface(s)

\item {} 
\sphinxAtStartPar
SWIG: Refactor stochastic backtracing interface(s)

\item {} 
\sphinxAtStartPar
SWIG: Add proper constructor for objects of type \sphinxcode{\sphinxupquote{vrna\_ep\_t}}

\item {} 
\sphinxAtStartPar
SWIG: Sanitize alignment plot function interface(s)

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id46}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Update Ubuntu/Debian and OpenSUSE build instructions

\item {} 
\sphinxAtStartPar
Reduce intra\sphinxhyphen{}package dependency on non\sphinxhyphen{}v3.0 API

\end{itemize}


\subsection{Version 2.4.11 (Release date: 2018\sphinxhyphen{}12\sphinxhyphen{}17)}
\label{\detokenize{changelog:version-2-4-11-release-date-2018-12-17}}

\subsubsection{Programs}
\label{\detokenize{changelog:id47}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}commands}} option to \sphinxcode{\sphinxupquote{RNAsubopt}}

\item {} 
\sphinxAtStartPar
Add non\sphinxhyphen{}redundant Boltzmann sampling mode for \sphinxcode{\sphinxupquote{RNAsubopt}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id48}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix wrong access to base pair soft constraints in equilibrium probability computations

\item {} 
\sphinxAtStartPar
API: Fix behavior of \sphinxcode{\sphinxupquote{vrna\_nucleotide\_encode()}} with lowercase characters in sequence

\item {} 
\sphinxAtStartPar
API: Fix behavior of \sphinxcode{\sphinxupquote{encode\_char()}} with lowercase characters in sequence

\item {} 
\sphinxAtStartPar
API: Fix forbidden \sphinxcode{\sphinxupquote{GU}} pairs behavior in pscore computation for comparative folding

\item {} 
\sphinxAtStartPar
API: Fix potential errors due to uninitialized \sphinxcode{\sphinxupquote{next}} pointers in \sphinxcode{\sphinxupquote{vrna\_move\_t}} of \sphinxcode{\sphinxupquote{vrna\_eval\_move\_shift\_pt}}

\item {} 
\sphinxAtStartPar
API: Add \sphinxcode{\sphinxupquote{AVX 512}} optimized version of MFE multibranch loop decomposition

\item {} 
\sphinxAtStartPar
API: Add functions for CPU SIMD feature detection

\item {} 
\sphinxAtStartPar
API: Add dispatcher to automatically delegate exterior\sphinxhyphen{}/multibranch loop MFE decomposition to supported SIMD optimized implementation

\item {} 
\sphinxAtStartPar
API: Add function \sphinxcode{\sphinxupquote{vrna\_dist\_mountain()}} to compute mountain distance between two structures

\item {} 
\sphinxAtStartPar
API: Add function \sphinxcode{\sphinxupquote{vrna\_ensemble\_defect()}} to compute ensemble defect given a target structure

\item {} 
\sphinxAtStartPar
API: Add non\sphinxhyphen{}redundant Boltzmann sampling

\item {} 
\sphinxAtStartPar
API: Change behavior of \sphinxcode{\sphinxupquote{vrna\_cstr\_free()}} and \sphinxcode{\sphinxupquote{vrna\_cstr\_close()}} to always flush output before unregistering the stream

\item {} 
\sphinxAtStartPar
SWIG: Add interface for \sphinxcode{\sphinxupquote{vrna\_loopidx\_from\_ptable()}}

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id49}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Activate compilation for compile\sphinxhyphen{}time supported SIMD optimized implementations by default

\item {} 
\sphinxAtStartPar
Replace \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}enable\sphinxhyphen{}sse}} configure script option with \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}disable\sphinxhyphen{}simd}}

\end{itemize}


\subsection{Version 2.4.10 (Release date: 2018\sphinxhyphen{}09\sphinxhyphen{}26)}
\label{\detokenize{changelog:version-2-4-10-release-date-2018-09-26}}

\subsubsection{Programs}
\label{\detokenize{changelog:id50}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix wrong output filename for binary opening energies in \sphinxcode{\sphinxupquote{RNAplfold}}

\item {} 
\sphinxAtStartPar
Enable G\sphinxhyphen{}Quadruplex support for partition function computation in \sphinxcode{\sphinxupquote{RNAalifold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id51}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix broken SSE4.1 support for multibranch loop MFE computation that resulted in increased run times

\item {} 
\sphinxAtStartPar
Fix redundant output issue in subopt backtracking with unusually high delta energies (\textgreater{}=INF)

\item {} 
\sphinxAtStartPar
Restore default behavior of ‘|’ symbol in dot\sphinxhyphen{}bracket hard constraint strings that got lost with version 2.2.0

\item {} 
\sphinxAtStartPar
Add faster (cache\sphinxhyphen{}optimized) version of Nussinov Maximum Matching algorithm

\item {} 
\sphinxAtStartPar
Change default linker\sphinxhyphen{} and loop length computations for G\sphinxhyphen{}Quadruplex predictions in comparative prediction modes

\item {} 
\sphinxAtStartPar
Add hard constraints warning for base pairs that violate the \sphinxcode{\sphinxupquote{min\_loop\_size}} of the model

\item {} 
\sphinxAtStartPar
Update \sphinxcode{\sphinxupquote{libsvm}} to version 3.23

\item {} 
\sphinxAtStartPar
API: Add functions to set auxiliary grammar extension rules

\item {} 
\sphinxAtStartPar
API: Replace upper\sphinxhyphen{}triangular hard constraints matrix with full matrix for cache\sphinxhyphen{}optimized access

\item {} 
\sphinxAtStartPar
API: Add G\sphinxhyphen{}Quadruplex prediction support for comparative partition function

\item {} 
\sphinxAtStartPar
API: Remove \sphinxcode{\sphinxupquote{VRNA\_GQUAD\_MISMATCH\_PENALTY}} and \sphinxcode{\sphinxupquote{VRNA\_GQUAD\_MISMATCH\_NUM\_ALI}} macros

\item {} 
\sphinxAtStartPar
SWIG: Fix invalid memory access in \sphinxcode{\sphinxupquote{subopt()}} method of fold\_compound object when writing to file

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for Nussinov Maximum Matching algorithm

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id52}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}ftree\sphinxhyphen{}vectorize}} compile flag by default if supported

\end{itemize}


\subsection{Version 2.4.9 (Release date: 2018\sphinxhyphen{}07\sphinxhyphen{}11)}
\label{\detokenize{changelog:version-2-4-9-release-date-2018-07-11}}

\subsubsection{Programs}
\label{\detokenize{changelog:id53}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix interactive mode behavior for multiple sequence alignment input in \sphinxcode{\sphinxupquote{RNAalifold}}, \sphinxcode{\sphinxupquote{RNALalifold}}

\item {} 
\sphinxAtStartPar
Allow for Stockholm formatted multiple sequence alignment input in \sphinxcode{\sphinxupquote{RNAeval}} and \sphinxcode{\sphinxupquote{RNAplot}}

\item {} 
\sphinxAtStartPar
Allow for multiple input files in \sphinxcode{\sphinxupquote{RNAeval}} and \sphinxcode{\sphinxupquote{RNAplot}}

\item {} 
\sphinxAtStartPar
Allow for parallel processing of input batch jobs in \sphinxcode{\sphinxupquote{RNAeval}} and \sphinxcode{\sphinxupquote{RNAplot}}

\item {} 
\sphinxAtStartPar
Add \sphinxcode{\sphinxupquote{\sphinxhyphen{}g}} option to activate G\sphinxhyphen{}Quadruplex support in \sphinxcode{\sphinxupquote{RNAheat}}

\item {} 
\sphinxAtStartPar
Warn on unsatisfiable hard constraints from dot\sphinxhyphen{}bracket string input in \sphinxcode{\sphinxupquote{RNAfold}}, \sphinxcode{\sphinxupquote{RNAcofold}}, and \sphinxcode{\sphinxupquote{RNAalifold}}

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id54}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix parameter order bug in \sphinxcode{\sphinxupquote{vrna\_path\_findpath*}} functions that resulted in too large search widths

\item {} 
\sphinxAtStartPar
Fix wrong application of base pair soft constraints in partition function computations

\item {} 
\sphinxAtStartPar
Fix position ruler string in EPS alignment output files

\item {} 
\sphinxAtStartPar
Fix MFE backtracking errors that might appear under specific hard constrained base pair patterns

\item {} 
\sphinxAtStartPar
Refrain from reading anything other than \sphinxcode{\sphinxupquote{\#=GC SS\_cons}} to retrieve structures when parsing Stockholm 1.0 format

\item {} 
\sphinxAtStartPar
Complete soft constraints additions to Boltzmann sampling implementation for single sequences

\item {} 
\sphinxAtStartPar
Allow for disabling alignment wrapping in \sphinxcode{\sphinxupquote{vrna\_file\_PS\_aln*}} functions

\item {} 
\sphinxAtStartPar
Do not remove G\sphinxhyphen{}Quadruplex annotation from WUSS formatted structure strings upon calls to \sphinxcode{\sphinxupquote{vrna\_db\_from\_WUSS}}

\item {} 
\sphinxAtStartPar
Enable G\sphinxhyphen{}Quadruplex related average loop energy correction terms in verbose output of \sphinxcode{\sphinxupquote{vrna\_eval\_*}} functions

\item {} 
\sphinxAtStartPar
Speed\sphinxhyphen{}up backward compatibility layer for energy evaluation functions that unnecessarily slowed down third\sphinxhyphen{}party tools using the old API

\item {} 
\sphinxAtStartPar
Allow for passing dot\sphinxhyphen{}bracket strings with \sphinxcode{\sphinxupquote{\textquotesingle{}\&\textquotesingle{}}} strand\sphinxhyphen{}end identifier to simple \sphinxcode{\sphinxupquote{vrna\_eval\_*}} functions

\item {} 
\sphinxAtStartPar
Remove implicit \sphinxcode{\sphinxupquote{exit()}} calls from global MFE backtracking implementation.

\end{itemize}


\subsection{Version 2.4.8 (Release date: 2018\sphinxhyphen{}06\sphinxhyphen{}23)}
\label{\detokenize{changelog:version-2-4-8-release-date-2018-06-23}}

\subsubsection{Programs}
\label{\detokenize{changelog:id55}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix compilation of RNAforester with C++17 standard

\item {} 
\sphinxAtStartPar
Fix tty input detection in RNAcofold

\item {} 
\sphinxAtStartPar
Fix bad memory access with RNAcofold \sphinxhyphen{}p

\end{itemize}


\subsubsection{Library}
\label{\detokenize{changelog:id56}}\begin{itemize}
\item {} 
\sphinxAtStartPar
API: Fix incorrect unpaired probability computations in vrna\_probs\_window()

\item {} 
\sphinxAtStartPar
API: Fix potential out\sphinxhyphen{}of\sphinxhyphen{}bounds access situations (for circular RNA folding) in eval.c

\item {} 
\sphinxAtStartPar
API: Fix comparative exterior internal loop partition function computation for circfold

\item {} 
\sphinxAtStartPar
SWIG: Fix false\sphinxhyphen{}positive use of uninitialized value in Python3/file\_py3.i

\end{itemize}


\subsubsection{Package}
\label{\detokenize{changelog:id57}}\begin{itemize}
\item {} 
\sphinxAtStartPar
TESTS: Add tests for special features in RNAalifold

\item {} 
\sphinxAtStartPar
TESTS: Add test case for RNAcofold \sphinxhyphen{}p

\end{itemize}


\subsection{Version 2.4.7 (Release date: 2018\sphinxhyphen{}06\sphinxhyphen{}13)}
\label{\detokenize{changelog:version-2-4-7-release-date-2018-06-13}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Allow for parallel processing across multiple input files in RNAfold

\item {} 
\sphinxAtStartPar
Allow for arbitrary number of input files in RNAalifold

\item {} 
\sphinxAtStartPar
Allow for parallel processing of input data in RNAalifold

\item {} 
\sphinxAtStartPar
Allow for arbitrary number of input files in RNAcofold

\item {} 
\sphinxAtStartPar
Allow for parallel processing of input data in RNAcofold

\item {} 
\sphinxAtStartPar
Enable parallel processing in RNAfold, RNAcofold, RNAalifold for MS Windows build

\item {} 
\sphinxAtStartPar
Add centroid and MEA structure computation to RNAcofold

\item {} 
\sphinxAtStartPar
Add configure time check for LTO capabilities of the linker

\item {} 
\sphinxAtStartPar
Include ligand binding energies in centroid and MEA structure output of RNAfold

\item {} 
\sphinxAtStartPar
Refactor ct2db program to process multiple structures from single .ct file

\item {} 
\sphinxAtStartPar
API: Enable processing of comparative fold\_compound with vrna\_pr\_*() functions

\item {} 
\sphinxAtStartPar
API: Refactor vrna\_ostream\_t to enable NULL input in vrna\_ostream\_provide()

\item {} 
\sphinxAtStartPar
API: Major refactoring in loop energy evaluations (MFE and PF)

\item {} 
\sphinxAtStartPar
API: Make vrna\_mx\_pf\_aux\_el\_t and vrna\_mx\_pf\_aux\_ml\_s opaque pointers

\item {} 
\sphinxAtStartPar
API: Make fold\_compound field \sphinxcode{\sphinxupquote{type}} a const attribute

\item {} 
\sphinxAtStartPar
API: Refactor MFE post\sphinxhyphen{}processing for circular RNAs

\item {} 
\sphinxAtStartPar
API: Add motif name/id support for unstructured domains

\item {} 
\sphinxAtStartPar
API: Remove major part of implicit exit() calls in RNAlib

\item {} 
\sphinxAtStartPar
API: Add implementations of Boyer\sphinxhyphen{}Moore\sphinxhyphen{}Horspool search algorithm

\item {} 
\sphinxAtStartPar
API: Add implementations to determine number of rotational symmetry for strings (of objects)

\item {} 
\sphinxAtStartPar
API: Make vrna\_cmd\_t an opaque pointer

\item {} 
\sphinxAtStartPar
API: Move headers for constraints, datastructures, io, loop energy evaluation, energy parameters, plotting, search, and utilities into separate subdirectories (backward compatibility is maintained)

\item {} 
\sphinxAtStartPar
API: Add hash table data structure

\item {} 
\sphinxAtStartPar
API: Fix discrepancy between comparative and single sequence \textendash{}noLP predictions

\item {} 
\sphinxAtStartPar
API: Add functions to replace ‘old API’ interface of RNAstruct.h

\item {} 
\sphinxAtStartPar
API: Add functions to replace ‘old API’ interface of aln\_util.h

\item {} 
\sphinxAtStartPar
API: Add generic soft constraints support to suboptimal structure prediction sensu Wuchty et al.

\item {} 
\sphinxAtStartPar
SWIG: Refactor callback execution for Python 2 / 3 interface to reduce overhead

\item {} 
\sphinxAtStartPar
SWIG: Fix configure\sphinxhyphen{}time check for Python 3 interface build

\item {} 
\sphinxAtStartPar
SWIG: Fix Python 3 IO file stream to C FILE * conversion

\item {} 
\sphinxAtStartPar
Cosmetic changes in final configure notice

\item {} 
\sphinxAtStartPar
Major changes in source tree structure of the library

\item {} 
\sphinxAtStartPar
Add autoconf checks for maintainer tools

\item {} 
\sphinxAtStartPar
Generate C strings from static PostScript files at configure time (for structure\sphinxhyphen{} and dot plots)

\item {} 
\sphinxAtStartPar
REFMAN: Large updates in API documentation and structure of reference manual

\end{itemize}


\subsection{Version 2.4.6 (Release date: 2018\sphinxhyphen{}04\sphinxhyphen{}19)}
\label{\detokenize{changelog:version-2-4-6-release-date-2018-04-19}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Stabilize rounding of free energy output in RNAalifold

\item {} 
\sphinxAtStartPar
API: Fix potential rounding errors for comparative free energies in eval.c and mfe.c

\item {} 
\sphinxAtStartPar
API: Fix regression in exterior loop dangling end contributions for comparative base pair probabilities and Boltzmann sampling (introduced with v2.4.4)

\item {} 
\sphinxAtStartPar
API: Fix regression with hard constrained base pairs for comparative structure prediction (introduced with v2.4.4)

\item {} 
\sphinxAtStartPar
TESTS: Add basic tests for RNAalifold executable

\item {} 
\sphinxAtStartPar
TESTS: Ignore ‘frequency of MFE structure’ in RNAcofold partition function checks

\end{itemize}


\subsection{Version 2.4.5 (Release date: 2018\sphinxhyphen{}04\sphinxhyphen{}17)}
\label{\detokenize{changelog:version-2-4-5-release-date-2018-04-17}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Allow for arbitrary number of input files in RNAfold

\item {} 
\sphinxAtStartPar
Allow for parallel processing of input data in RNAfold (UNIX only, no Windows support yet)

\item {} 
\sphinxAtStartPar
Add SHAPE reactivity support through commandline options for RNAplfold

\item {} 
\sphinxAtStartPar
Fix unstructured domain motif detection in MFE, centroid, and MEA structures computed by RNAfold

\item {} 
\sphinxAtStartPar
Limit allowed set of commands in command file for RNAcofold to hard and soft constraints

\item {} 
\sphinxAtStartPar
API: Add functions to compute equilibrium probability of particular secondary structures

\item {} 
\sphinxAtStartPar
API: Add dynamic string stream data type and associated functions

\item {} 
\sphinxAtStartPar
API: Add priority\sphinxhyphen{}queue like data structure with unordered fill capability and ordered output callback execution

\item {} 
\sphinxAtStartPar
API: Add functions to detect unstructured domain motifs in MFE, centroid, and MEA structures

\item {} 
\sphinxAtStartPar
API: Fix bug in sliding\sphinxhyphen{}window partition function computation with SHAPE reactivity and Deigan et al. conversion method

\item {} 
\sphinxAtStartPar
API: Fix application of ‘\textless{}’ and ‘\textgreater{}’ constraint symbols in dot\sphinxhyphen{}bracket provided constraints (was broken since v2.4.2)

\item {} 
\sphinxAtStartPar
API: Fix MEA structure computation in the presence of unstructured domains

\item {} 
\sphinxAtStartPar
API: Stabilize order of probability entries in EPS dot\sphinxhyphen{}plot files

\item {} 
\sphinxAtStartPar
Fix compiler warnings on wrong type of printf() in naview.c

\item {} 
\sphinxAtStartPar
Define VRNA\_VERSION macro as string literal and add macros for major, minor, and patch numbers

\item {} 
\sphinxAtStartPar
Stabilize parallel make of Mac OS X installer

\item {} 
\sphinxAtStartPar
Add energy parameter set from Langdon et al. 2018

\item {} 
\sphinxAtStartPar
Add autoconf checks for POSIX threads compiler/linker support

\item {} 
\sphinxAtStartPar
SWIG: Fix ‘next’ is a perl keyword warnings for Perl5 wrapper

\item {} 
\sphinxAtStartPar
SWIG: Catch errors and throw execptions whenever scripting language provided callback functions are not applicable or fail

\item {} 
\sphinxAtStartPar
SWIG: Add keyword arguments and autodoc feature for Python/Python3 wrappers

\end{itemize}


\subsection{Version 2.4.4 (Release date: 2018\sphinxhyphen{}03\sphinxhyphen{}06)}
\label{\detokenize{changelog:version-2-4-4-release-date-2018-03-06}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Change verbose output for soft\sphinxhyphen{}constraints derived ligand binding motifs in RNAfold

\item {} 
\sphinxAtStartPar
Allow for lowercase letters in ct2db input

\item {} 
\sphinxAtStartPar
Fix bug in interior\sphinxhyphen{}like G\sphinxhyphen{}Quadruplex MFE computation for single sequences

\item {} 
\sphinxAtStartPar
Fix autoconf switch to enable deprecation warnings

\item {} 
\sphinxAtStartPar
Fix bug in eval\_int\_loop() that prevented propagation of energy evaluation for loops with nick in strands

\item {} 
\sphinxAtStartPar
Fix several bugs for SHAPE reactivity related comparative partition function computations

\item {} 
\sphinxAtStartPar
Fix annotation of PostScript output for soft\sphinxhyphen{}constraint derived ligand binding motifs in RNAfold

\item {} 
\sphinxAtStartPar
Fix constraint indices for multibranch loops in unpaired probability computations of LPfold.c

\item {} 
\sphinxAtStartPar
Fix dangling end contributions in comparative partition function for exterior loops

\item {} 
\sphinxAtStartPar
API: Add simplified interface for vrna\_pf\_dimer()

\item {} 
\sphinxAtStartPar
API: Move concentraton dependent implementation for co\sphinxhyphen{}folding to separate compile unit

\item {} 
\sphinxAtStartPar
API: Add new API functions for exterior loop evaluations

\item {} 
\sphinxAtStartPar
API: Add simplified interfaces for energy evaluation with G\sphinxhyphen{}Quadruplexes and circular RNAs

\item {} 
\sphinxAtStartPar
API: Add findpath functions that allow for specification of an upper bound for the saddle point

\item {} 
\sphinxAtStartPar
Add configure\sphinxhyphen{}time linker check for Python3 interface

\item {} 
\sphinxAtStartPar
Add automatic CPP suggestions for deprecated function substitutes

\item {} 
\sphinxAtStartPar
Major restucturing and constraints feature additions in loop type dependent energy evaluation functions

\item {} 
\sphinxAtStartPar
Major restructuring in MFE implementations

\item {} 
\sphinxAtStartPar
Major restructuring in PF implementations

\item {} 
\sphinxAtStartPar
Minor fixes in Boltzmann sampling implementation

\item {} 
\sphinxAtStartPar
SWIG: Fix wrappers for findpath() implementation

\item {} 
\sphinxAtStartPar
SWIG: Add tons of energy evaluation wrappers

\item {} 
\sphinxAtStartPar
SWIG: Fix configure\sphinxhyphen{}time check of Perl5 interface build capabilities

\item {} 
\sphinxAtStartPar
SWIG: Wrap functions from walk.c and neighbor.c

\item {} 
\sphinxAtStartPar
DOC: Add some missing references to manpages of executable programs

\item {} 
\sphinxAtStartPar
REFMAN: Heavy re\sphinxhyphen{}ordering of the RNAlib reference manual

\end{itemize}


\subsection{Version 2.4.3 (Release date: 2017\sphinxhyphen{}11\sphinxhyphen{}14)}
\label{\detokenize{changelog:version-2-4-3-release-date-2017-11-14}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix handling of dangling end contribution at sequence boundaries for sliding window base pair probability computations

\item {} 
\sphinxAtStartPar
Fix handling of base pair hard constraints in sliding\sphinxhyphen{}window implementations

\item {} 
\sphinxAtStartPar
Fix sliding\sphinxhyphen{}window pair probability computations with multibranch\sphinxhyphen{}loop unpaired constraints

\item {} 
\sphinxAtStartPar
Fix sliding\sphinxhyphen{}window non\sphinxhyphen{}specific base pair hard constraint implementation

\item {} 
\sphinxAtStartPar
Fix probability computation for stochastic backtracking in RNAsubopt \textendash{}stochBT\_en output

\item {} 
\sphinxAtStartPar
Fix regression in comparative structure prediction for circular RNAs

\item {} 
\sphinxAtStartPar
Fix LDFLAGS for scripting language interfaces in corresponding Makefiles

\item {} 
\sphinxAtStartPar
Stabilize partition function scaling by always using sfact scaling factor from model details

\item {} 
\sphinxAtStartPar
Add \textendash{}pf\_scale commandling parameter to RNAplfold

\item {} 
\sphinxAtStartPar
Add constraint framework for single sequence circular RNA structure prediction

\item {} 
\sphinxAtStartPar
Add RNAfold test suite to check for working implementation of constraints for circular RNAs

\item {} 
\sphinxAtStartPar
Add a brief contribution guideline CONTRIBUTING.md

\item {} 
\sphinxAtStartPar
Prevent RNAplfold from creating inf/\sphinxhyphen{}inf output when solution set is empty with particular hard constraints

\item {} 
\sphinxAtStartPar
Include RNAforester v2.0.1

\end{itemize}


\subsection{Version 2.4.2 (Release date: 2017\sphinxhyphen{}10\sphinxhyphen{}13)}
\label{\detokenize{changelog:version-2-4-2-release-date-2017-10-13}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix G\sphinxhyphen{}Quadruplex energy corrections in comparative structure energy evaluations

\item {} 
\sphinxAtStartPar
Fix discrepancy in comparative exterior loop dangling end contribution of eval vs. MFE predictions

\item {} 
\sphinxAtStartPar
Fix regression in RNAup unstructuredness and interaction energy computations

\item {} 
\sphinxAtStartPar
Fix sequence length confusions when FASTA input contains carriage returns

\item {} 
\sphinxAtStartPar
Fix build problems of RNAlocmin with older compilers

\item {} 
\sphinxAtStartPar
Fix sliding\sphinxhyphen{}window hard constraints where single nucleotides are prohibited from pairing

\item {} 
\sphinxAtStartPar
Fix dot\sphinxhyphen{}bracket output string length in sliding\sphinxhyphen{}window MFE with G\sphinxhyphen{}Quadruplexes

\item {} 
\sphinxAtStartPar
Fix unpaired probability computations for separate individual loop types in LPfold.c

\item {} 
\sphinxAtStartPar
Fix bad memory access in RNAsubopt with dot\sphinxhyphen{}bracket constraint

\item {} 
\sphinxAtStartPar
Add full WUSS support for \textendash{}SS\_cons constraint option in RNAalifold

\item {} 
\sphinxAtStartPar
Add commandline option to RNALalifold that enables splitting of energy contributions into separate parts

\item {} 
\sphinxAtStartPar
Add missing hard constraint cases to sliding\sphinxhyphen{}window partition function implementation

\item {} 
\sphinxAtStartPar
Add CSV output option to RNAcofold

\item {} 
\sphinxAtStartPar
Use the same model details for SCI computations in RNAalifold

\item {} 
\sphinxAtStartPar
Abort computations in vrna\_eval\_structure\_v() if structure has unexpected length

\item {} 
\sphinxAtStartPar
Use original MSA in all output generated by RNAalifold and RNALalifold

\item {} 
\sphinxAtStartPar
API: Add new functions to convert dot\sphinxhyphen{}bracket like structure annotations

\item {} 
\sphinxAtStartPar
API: Add various new utility functions for alignment handling and comparative structure predictions

\item {} 
\sphinxAtStartPar
API: Add function vrna\_strsplit() to split string into tokens

\item {} 
\sphinxAtStartPar
API: Do not convert sequences of input MSA to uppercase letters in vrna\_file\_msa\_read\_record()

\item {} 
\sphinxAtStartPar
API: Rename vrna\_annotate\_bp\_covar() and vrna\_annotate\_pr\_covar()

\item {} 
\sphinxAtStartPar
API: Add new noLP neighbor generation

\item {} 
\sphinxAtStartPar
SWIG: Add wrapper for functions in file\_utils\_msa.h

\item {} 
\sphinxAtStartPar
SWIG: Add wrappers for vrna\_pbacktrack() and vrna\_pbacktrack5()

\item {} 
\sphinxAtStartPar
SWIG: Add vrna\_db\_to\_element\_string() to scripting language interface

\item {} 
\sphinxAtStartPar
REFMAN: Fix formula to image conversion in HTML output

\end{itemize}


\subsection{Version 2.4.1 (Release date: 2017\sphinxhyphen{}08\sphinxhyphen{}23)}
\label{\detokenize{changelog:version-2-4-1-release-date-2017-08-23}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix memory leak in fold\_compound methods of SWIG interface

\item {} 
\sphinxAtStartPar
Fix memory leaks in double ** returning functions of SWIG Perl5 interface

\item {} 
\sphinxAtStartPar
Fix memory leak in vrna\_ep\_t to\sphinxhyphen{}string() function of SWIG interface

\item {} 
\sphinxAtStartPar
Regression: Fix reverting pf\_scale to defaults after vrna\_exp\_params\_rescale()

\item {} 
\sphinxAtStartPar
Regression: Fix homo\sphinxhyphen{}dimer partition function computation in RNAcofold

\item {} 
\sphinxAtStartPar
Add unit tests for RNAcofold executable

\item {} 
\sphinxAtStartPar
Add SHAPE reactivity support to RNAcofold

\item {} 
\sphinxAtStartPar
Add SHAPE reactivity support to RNALalifold

\end{itemize}


\subsection{Version 2.4.0 (Release date: 2017\sphinxhyphen{}08\sphinxhyphen{}01)}
\label{\detokenize{changelog:version-2-4-0-release-date-2017-08-01}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Bump libsvm to version 3.22

\item {} 
\sphinxAtStartPar
Print G\sphinxhyphen{}Quadruplex corrections in verbose mode of RNAeval

\item {} 
\sphinxAtStartPar
Change behavior of RNAfold \textendash{}outfile option to something more predictable

\item {} 
\sphinxAtStartPar
Unify max\_bp\_span usage among sliding window prediction algorithms: RNAplfold, RNALfold, and RNALalifold now consider any base pair (i,j) with (j \sphinxhyphen{} i + 1) \textless{}= max\_bp\_span

\item {} 
\sphinxAtStartPar
Add SHAPE reactivity data support to RNALfold

\item {} 
\sphinxAtStartPar
Add commands\sphinxhyphen{}file support for RNALfold, RNAplfold (hard/soft constraints)

\item {} 
\sphinxAtStartPar
Add RNAlocmin \sphinxhyphen{} Calculate local minima from structures via gradient walks

\item {} 
\sphinxAtStartPar
Add RNA Bioinformatics tutorial (PDF version)

\item {} 
\sphinxAtStartPar
Add hard constraints to sliding\sphinxhyphen{}window MFE implementations (RNALfold, RNALalifold)

\item {} 
\sphinxAtStartPar
Add hard constraints to sliding\sphinxhyphen{}window PF implementations (RNAplfold)

\item {} 
\sphinxAtStartPar
Add soft constraints to sliding\sphinxhyphen{}window MFE implementation for single sequences (RNALfold)

\item {} 
\sphinxAtStartPar
Add soft constraints to sliding\sphinxhyphen{}window PF implementations (RNAplfold)

\item {} 
\sphinxAtStartPar
Add SWIG interfaces for sliding\sphinxhyphen{}window MFE/PF implementations

\item {} 
\sphinxAtStartPar
Add proper SWIG interface for alignment and structure plotting functions

\item {} 
\sphinxAtStartPar
Add proper SWIG interface for duplexfold, duplex\_subopt, and its comparative variants

\item {} 
\sphinxAtStartPar
Add SWIG wrapper for vrna\_exp\_params\_rescale()

\item {} 
\sphinxAtStartPar
Add explicit destructor for SWIG generated vrna\_md\_t objects

\item {} 
\sphinxAtStartPar
Add SWIG perl5 typemap for simple nested STL vectors

\item {} 
\sphinxAtStartPar
Add dummy field in vrna\_structured\_domains\_s

\item {} 
\sphinxAtStartPar
Add note about SSE optimized code in reference manual

\item {} 
\sphinxAtStartPar
Add SWIG interface for findpath implementation

\item {} 
\sphinxAtStartPar
Add prepare() functions for ptypes\sphinxhyphen{}arrays and vrna\_(exp\_)param\_t

\item {} 
\sphinxAtStartPar
Add warnings for ignored commands in function vrna\_commands\_apply()

\item {} 
\sphinxAtStartPar
Add callback featured functions for sliding window MFE and PF implementations

\item {} 
\sphinxAtStartPar
Change default behavior of adding soft constraints to a vrna\_fold\_compound\_t (store only)

\item {} 
\sphinxAtStartPar
Several fixes with respect to G\sphinxhyphen{}Quadruplex prediction in sliding\sphinxhyphen{}window MFE recursions (single sequence and comparative implementation)

\item {} 
\sphinxAtStartPar
Replace comparative sliding\sphinxhyphen{}window MFE recursions (All hits are reported to callback and can be filtered in a post\sphinxhyphen{}processing step)

\item {} 
\sphinxAtStartPar
API: Remove E\_mb\_loop\_stack() and introduce new function vrna\_E\_mb\_loop\_stack() as a replacement

\item {} 
\sphinxAtStartPar
API: change data type of all constraint bit\sphinxhyphen{}flags from \sphinxcode{\sphinxupquote{char}} to \sphinxcode{\sphinxupquote{unsigned char}}

\item {} 
\sphinxAtStartPar
API: change data type of a2s array in comparative structure prediction from \sphinxcode{\sphinxupquote{unsigned short}} to \sphinxcode{\sphinxupquote{unsigned int}}

\item {} 
\sphinxAtStartPar
API: Change function parameter order in vrna\_probs\_window() to follow the style of other callback\sphinxhyphen{}aware functions in RNAlib

\item {} 
\sphinxAtStartPar
Move sliding\sphinxhyphen{}window MFE implementations to new file mfe\_window.c

\item {} 
\sphinxAtStartPar
Fix building PDF Reference manual with non\sphinxhyphen{}standard executable paths

\item {} 
\sphinxAtStartPar
Fix redefinition of macro ON\_SAME\_STRAND() in subopt.c

\item {} 
\sphinxAtStartPar
Fix dangling end issues in sliding\sphinxhyphen{}window MFE implementations

\item {} 
\sphinxAtStartPar
Fix regression for \textendash{}canonicalBPonly switch in RNAfold/RNAcofold/RNAsubopt

\item {} 
\sphinxAtStartPar
Fix building sliding\sphinxhyphen{}window MFE implementation without SVM support

\item {} 
\sphinxAtStartPar
Fix parsing of STOCKHOLM 1.0 MSA files that contain MSA spanning multiple blocks

\item {} 
\sphinxAtStartPar
Fix Alidot link in RNAalifold manpage

\item {} 
\sphinxAtStartPar
Fix wrong pre\sphinxhyphen{}processor flags when enabling single\sphinxhyphen{}precision PF computations

\item {} 
\sphinxAtStartPar
Fix unit testing perl5 interface by including builddir/tests in PERL5LIB path

\item {} 
\sphinxAtStartPar
Fix buffer overflow in hairpin loop sequence motif extraction for circular RNAs

\item {} 
\sphinxAtStartPar
Fix out\sphinxhyphen{}of\sphinxhyphen{}bounds memory access in neighbor.c

\item {} 
\sphinxAtStartPar
Restore capability to compile stand\sphinxhyphen{}alone findpath utility

\item {} 
\sphinxAtStartPar
Restore capability to use non\sphinxhyphen{}standard alphabets for structure prediction

\item {} 
\sphinxAtStartPar
Restore old\sphinxhyphen{}API random number functions in SWIG interface

\item {} 
\sphinxAtStartPar
Allow additional control characters in MAF MSA input that do not end a block

\item {} 
\sphinxAtStartPar
Improve reference manual

\item {} 
\sphinxAtStartPar
Make functions in pair\_mat.h static inline

\item {} 
\sphinxAtStartPar
Prevent users from adding out\sphinxhyphen{}of\sphinxhyphen{}range base pair soft constraints

\item {} 
\sphinxAtStartPar
Inline print functions in color\_output.inc

\item {} 
\sphinxAtStartPar
Start documenting callback features in reference manual

\item {} 
\sphinxAtStartPar
Re\sphinxhyphen{}write large portions of sliding\sphinxhyphen{}window PF implementation

\item {} 
\sphinxAtStartPar
Introduce soft\sphinxhyphen{}constraint state flag

\item {} 
\sphinxAtStartPar
Clean\sphinxhyphen{}up SWIG unit test framework

\item {} 
\sphinxAtStartPar
Remove obsolete scripts ct2b.pl and colorrna.pl from src/Utils directory

\item {} 
\sphinxAtStartPar
Remove old RNAfold tutorial

\end{itemize}


\section{Version 2.3.x}
\label{\detokenize{changelog:version-2-3-x}}

\subsection{Version 2.3.5 (Release date: 2017\sphinxhyphen{}04\sphinxhyphen{}14)}
\label{\detokenize{changelog:version-2-3-5-release-date-2017-04-14}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix duplication of output filename prefix in RNAfold

\item {} 
\sphinxAtStartPar
Add V3.0 API for sliding window partition function (a.k.a. RNAPLfold)

\item {} 
\sphinxAtStartPar
Add G\sphinxhyphen{}Quadruplex prediction to RNALalifold

\item {} 
\sphinxAtStartPar
Add SWIG wrappers for callback\sphinxhyphen{}based sliding window comparative MFE prediction

\item {} 
\sphinxAtStartPar
Add SSE4.1 multiloop decomposition for single sequence MFE prediction

\item {} 
\sphinxAtStartPar
Enable RNAfold unit tests to run in paralllel

\item {} 
\sphinxAtStartPar
Enable users to turn\sphinxhyphen{}off base pair probability computations in RNAcofold with \sphinxhyphen{}a option

\item {} 
\sphinxAtStartPar
Split move set in neighbor.c

\end{itemize}


\subsection{Version 2.3.4 (Release date: 2017\sphinxhyphen{}03\sphinxhyphen{}10)}
\label{\detokenize{changelog:version-2-3-4-release-date-2017-03-10}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix G\sphinxhyphen{}Quadruplex probability computation for single sequences

\item {} 
\sphinxAtStartPar
Fix double\sphinxhyphen{}free when using SHAPE reactivity data in RNAalifold

\item {} 
\sphinxAtStartPar
Fix out\sphinxhyphen{}of\sphinxhyphen{}bounds access in strand\_number array

\item {} 
\sphinxAtStartPar
Fix weighting of SHAPE reactivity data in consensus structure prediction when fewer data than sequences are present

\item {} 
\sphinxAtStartPar
Fix z\sphinxhyphen{}score output in RNALfold

\item {} 
\sphinxAtStartPar
Substitute field name ‘A0’/’B0’ in data structure vrna\_dimer\_conc\_s by ‘Ac\_start’/’Bc\_start’ to avoid clashes with termios.h (Mac OSX Python wrapper bug)

\item {} 
\sphinxAtStartPar
Minimize usage of ‘unsafe’ sprintf() calls

\item {} 
\sphinxAtStartPar
Enhance auto\sphinxhyphen{}id feature in executable programs

\item {} 
\sphinxAtStartPar
Always sanitize output file names to avoid problems due to strange FASTA headers

\item {} 
\sphinxAtStartPar
Lift restrictions of FASTA header length in RNAfold, RNAcofold, and RNAeval

\item {} 
\sphinxAtStartPar
Add ViennaRNA/config.h with pre\sphinxhyphen{}processor definitions of configure time choices

\item {} 
\sphinxAtStartPar
Add test\sphinxhyphen{}suite for RNAfold

\item {} 
\sphinxAtStartPar
Add functions to procude colored EPS structure alignments

\item {} 
\sphinxAtStartPar
Add function to write Stockholm 1.0 formatted alignments

\item {} 
\sphinxAtStartPar
Add function to sanitize file names

\item {} 
\sphinxAtStartPar
Add callback based implementation for sliding\sphinxhyphen{}window MFE prediction (single sequences, comparative structure prediction)

\item {} 
\sphinxAtStartPar
Add fast API 3.0 implementations to generate structural neighbors and perform steepest descent / random walks (Thanks to Gregor!)

\item {} 
\sphinxAtStartPar
Add parameter option to RNALalifold for colored EPS structure alignment and structure plot output

\item {} 
\sphinxAtStartPar
Add parameter option to RNALalifold to write hits into Stockholm file

\item {} 
\sphinxAtStartPar
Add parameter option to RNAalifold to write Stockholm 1.0 formatted output

\item {} 
\sphinxAtStartPar
Add parameter option to RNAalifold to suppress stderr spam

\item {} 
\sphinxAtStartPar
Add auto\sphinxhyphen{}id feature to RNAplot, RNALfold, RNAsubopt, RNAplfold, RNAheat

\item {} 
\sphinxAtStartPar
Add SHAPE reactivity derived pseudo\sphinxhyphen{}energies as separate output in RNAalifold

\item {} 
\sphinxAtStartPar
Add colored output to RNA2Dfold, RNALalifold, RNALfold, RNAduplex, RNAheat, RNAinverse, RNAplfold, and RNAsubopt

\item {} 
\sphinxAtStartPar
Add command line parameters to RNAsubopt to allow for specification of input/output files

\end{itemize}


\subsection{Version 2.3.3 (Release date: 2017\sphinxhyphen{}01\sphinxhyphen{}24)}
\label{\detokenize{changelog:version-2-3-3-release-date-2017-01-24}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix multiloop contributions for comparative partition function

\item {} 
\sphinxAtStartPar
Fix building python2 extension module for OSX

\end{itemize}


\subsection{Version 2.3.2 (Release date: 2017\sphinxhyphen{}01\sphinxhyphen{}18)}
\label{\detokenize{changelog:version-2-3-2-release-date-2017-01-18}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix pair probability plist creation with G\sphinxhyphen{}Quadruplexes

\item {} 
\sphinxAtStartPar
Allow for specification of python2/3\sphinxhyphen{}config at configure time

\item {} 
\sphinxAtStartPar
Fix init of vrna\_md\_t data structure after call to set\_model\_details()

\item {} 
\sphinxAtStartPar
Fix bug in consensus partition function with hard constraints that force nucleotides to be paired

\item {} 
\sphinxAtStartPar
Fix compilation of functions that use ellipsis/va\_list

\item {} 
\sphinxAtStartPar
Enable generic hard constraints by default

\item {} 
\sphinxAtStartPar
Fix init of partition function DP matrices for unusually short RNAs

\item {} 
\sphinxAtStartPar
Fix behavior of RNAplfold for unusually short RNAs

\item {} 
\sphinxAtStartPar
Report SCI of 0 in RNAalifold when sum of single sequence MFEs is 0

\item {} 
\sphinxAtStartPar
Avoid multiple includes of pair\_mat.h

\item {} 
\sphinxAtStartPar
Add configure flag to build entirely static executables

\end{itemize}


\subsection{Version 2.3.1 (Release date: 2016\sphinxhyphen{}11\sphinxhyphen{}15)}
\label{\detokenize{changelog:version-2-3-1-release-date-2016-11-15}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add description for how to use unstructured domains through command files to reference manual and RNAfold manpage

\item {} 
\sphinxAtStartPar
Fix compilation issue for Windows platforms with MingW

\item {} 
\sphinxAtStartPar
Add missing newline in non\sphinxhyphen{}TTY\sphinxhyphen{}color output of vrna\_message\_info()

\item {} 
\sphinxAtStartPar
Fix regression in vrna\_md\_update() that resulted in incomplete init of reverse\sphinxhyphen{}basepair type array

\item {} 
\sphinxAtStartPar
Extend coverage of generic hard constraints for partition function computations

\item {} 
\sphinxAtStartPar
Fix scaling of secondary structure in EPS plot such that it always fits into bounding box

\item {} 
\sphinxAtStartPar
Several fixes and improvements for SWIG generated scripting language interface(s)

\end{itemize}


\subsection{Version 2.3.0 (Release date: 2016\sphinxhyphen{}11\sphinxhyphen{}01)}
\label{\detokenize{changelog:version-2-3-0-release-date-2016-11-01}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Add grammar extension with structured and unstructured domains

\item {} 
\sphinxAtStartPar
Add default implementation for unstructured domains to allow for ligand/protein binding to unpaired structure segments (MFE and PF for single sequences)

\item {} 
\sphinxAtStartPar
Introduced command files that subsume constraint definition files (currently used in RNAfold and RNAcofold)

\item {} 
\sphinxAtStartPar
Replace explicit calls to asprintf() with portable equivalent functions in the library

\item {} 
\sphinxAtStartPar
Fix configure script to deal with situations where Perl module can’t be build

\item {} 
\sphinxAtStartPar
Fix bug in doc/Makefile.am that prevented HTML installation due to long argument list

\item {} 
\sphinxAtStartPar
Added utility functions that deal with conversion between different units

\item {} 
\sphinxAtStartPar
Bugfix in SWIG wrapped generic soft constraint feature

\item {} 
\sphinxAtStartPar
Add subopt() and subopt\_zuker() methods to SWIG wrapped fold\_compound objects

\item {} 
\sphinxAtStartPar
Bugfix multiloop decomposition in MFE for circular RNAs

\item {} 
\sphinxAtStartPar
Add separate function to compute pscore for alignments

\item {} 
\sphinxAtStartPar
Renamed VRNA\_VC\_TYPE\_* macros to VRNA\_FC\_TYPE\_*

\item {} 
\sphinxAtStartPar
Bugfix regression that prevented programs to fail on too long input sequences

\item {} 
\sphinxAtStartPar
Extend EPS dot\sphinxhyphen{}plot in RNAfold to include motif/binding probabilities from unstructured domains

\item {} 
\sphinxAtStartPar
Add variadic functions for error/warning/info message

\item {} 
\sphinxAtStartPar
Add ID manipulation feature to RNAeval

\item {} 
\sphinxAtStartPar
Extend API for soft constraint feature for more fine\sphinxhyphen{}grained control

\item {} 
\sphinxAtStartPar
Add section on SWIG wrapped functions in reference manual

\item {} 
\sphinxAtStartPar
Fix bug in interior loop computations when hard constraints result in non\sphinxhyphen{}canonical base pairs

\end{itemize}


\section{Version 2.2.x}
\label{\detokenize{changelog:version-2-2-x}}

\subsection{Version 2.2.10 (Release date: 2016\sphinxhyphen{}09\sphinxhyphen{}06)}
\label{\detokenize{changelog:version-2-2-10-release-date-2016-09-06}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Do not ‘forget’ subopt results when output is not written to file handle and sorting is switched off

\item {} 
\sphinxAtStartPar
Fix bad memory access in vrna\_subopt() with sorted output

\item {} 
\sphinxAtStartPar
Add SWIG wrappers for vrna\_subopt\_cb()

\item {} 
\sphinxAtStartPar
Correctly show if C11 features are activated in configure status

\item {} 
\sphinxAtStartPar
Fix autoconf checks to allow for cross compilation again

\end{itemize}


\subsection{Version 2.2.9 (Release date: 2016\sphinxhyphen{}09\sphinxhyphen{}01)}
\label{\detokenize{changelog:version-2-2-9-release-date-2016-09-01}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix bug in partition function scaling for backward compatibility of ali\_pf\_fold()

\item {} 
\sphinxAtStartPar
Stabilize v3.0 API when building RNAlib and third party program linking against it with compilers that use different C/C++ standards

\item {} 
\sphinxAtStartPar
Add details on how to link against RNAlib to the reference manual

\item {} 
\sphinxAtStartPar
Fix RNAlib2.pc

\item {} 
\sphinxAtStartPar
Fix bug for temperature setting in RNAplfold

\item {} 
\sphinxAtStartPar
Use \sphinxhyphen{}fflat\sphinxhyphen{}lto\sphinxhyphen{}objects for static RNAlib library to allow linking without LTO

\item {} 
\sphinxAtStartPar
Fix interpretation of ‘P’ hard constraint for single nucleotides in constraint definition files

\item {} 
\sphinxAtStartPar
Add ‘A’ command for hard constraints

\item {} 
\sphinxAtStartPar
Fix several hard constraint corner\sphinxhyphen{}cases in MFE and partition function computation when nucleotides must not be unpaired

\item {} 
\sphinxAtStartPar
Fix order of hard constraints when read from input file

\item {} 
\sphinxAtStartPar
Allow for non\sphinxhyphen{}canonical base pairs in MFE and partition function computations if hard constraints demand it

\item {} 
\sphinxAtStartPar
Fix behavior of \textendash{}without\sphinxhyphen{}swig configure script option

\item {} 
\sphinxAtStartPar
Fix bug in hard constraints usage of exterior loop MFE prediction with odd dangles

\item {} 
\sphinxAtStartPar
Add parsers for Clustal, Stockholm, FASTA, and MAF formatted alignment files

\item {} 
\sphinxAtStartPar
Enable RNAalifold to use Clustal, Stockholm, FASTA, or MAF alignments as input

\item {} 
\sphinxAtStartPar
Lift restriction of sequence number in alignments for RNAalifold

\item {} 
\sphinxAtStartPar
Enable ANSI colors for TTY output in RNAfold, RNAcofold, RNAalifold, RNAsubopt, and warnings/errors issued by RNAlib

\item {} 
\sphinxAtStartPar
Add various new commandline options to manipulate sequence/alignment IDs in RNAfold, RNAcofold and RNAalifold

\end{itemize}


\subsection{Version 2.2.8 (Release date: 2016\sphinxhyphen{}08\sphinxhyphen{}01)}
\label{\detokenize{changelog:version-2-2-8-release-date-2016-08-01}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix bad memory access in RNAalifold

\item {} 
\sphinxAtStartPar
Fix regression in RNAalifold to restore covariance contribution ratio determination for circular RNA alignments

\item {} 
\sphinxAtStartPar
Changed output of RNAsubopt in energy\sphinxhyphen{}band enumeration mode to print MFE and energy range in kcal/mol instead of 10cal/mol

\item {} 
\sphinxAtStartPar
Include latest Kinfold sources that make use of v3.0 API, therefore speeding up runtime substantially

\item {} 
\sphinxAtStartPar
Re\sphinxhyphen{}activate warnings in RNAeval when non\sphinxhyphen{}canonical base pairs are encountered

\item {} 
\sphinxAtStartPar
Fix syntactic incompatibilities that potentially prevented compilation with compilers other than gcc

\item {} 
\sphinxAtStartPar
dd function to compare nucleotides encoded in IUPAC format

\item {} 
\sphinxAtStartPar
Fix regression in energy evaluation for circular RNA sequences

\item {} 
\sphinxAtStartPar
Fix regression in suboptimal structure enumeration for circular RNAs

\item {} 
\sphinxAtStartPar
Allow for P i\sphinxhyphen{}j k\sphinxhyphen{}l commands in constraint definition files

\item {} 
\sphinxAtStartPar
Make free energy evaluation functions polymorphic

\item {} 
\sphinxAtStartPar
Add free energy evaluation functions that allow for specifying verbosity level

\item {} 
\sphinxAtStartPar
Secure functions in alphabet.c against NULL pointer arguments

\item {} 
\sphinxAtStartPar
Fix incompatibility with swig \textgreater{}= 3.0.9

\item {} 
\sphinxAtStartPar
Fix memory leak in swig\sphinxhyphen{}generated scripting language interface(s) for user\sphinxhyphen{}provided target language soft\sphinxhyphen{}constraint callbacks

\item {} 
\sphinxAtStartPar
Expose additional functions to swig\sphinxhyphen{}generated scripting language interface(s)

\item {} 
\sphinxAtStartPar
Build Python3 interface by default

\item {} 
\sphinxAtStartPar
Start of more comprehensive scripting language interface documentation

\item {} 
\sphinxAtStartPar
Fix linking of python2/python3 interfaces when libpython is in non\sphinxhyphen{}standard directory

\item {} 
\sphinxAtStartPar
Restructured viennarna.spec for RPM based distributions

\item {} 
\sphinxAtStartPar
Several syntactic changes in the implementation to minimize compiler warnings

\item {} 
\sphinxAtStartPar
Fix \textendash{}with\sphinxhyphen{}\sphinxstyleemphasis{/\textendash{}without\sphinxhyphen{}} and \textendash{}enable\sphinxhyphen{}\sphinxstyleemphasis{/\textendash{}disable\sphinxhyphen{}} configure script behavior

\end{itemize}


\subsection{Version 2.2.7 (Release date: 2016\sphinxhyphen{}06\sphinxhyphen{}30)}
\label{\detokenize{changelog:version-2-2-7-release-date-2016-06-30}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix partition function scaling for long sequences in RNAfold, RNAalifold, and RNAup

\item {} 
\sphinxAtStartPar
Fix backtracking issue in RNAcofold when \textendash{}noLP option is activated

\item {} 
\sphinxAtStartPar
Fix hard constraints issue for circular RNAs in generating suboptimal structures

\item {} 
\sphinxAtStartPar
Rebuild reference manual only when actually required

\end{itemize}


\subsection{Version 2.2.6 (Release date: 2016\sphinxhyphen{}06\sphinxhyphen{}19)}
\label{\detokenize{changelog:version-2-2-6-release-date-2016-06-19}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Plugged memory leak in RNAcofold

\item {} 
\sphinxAtStartPar
Fixed partition function rescaling bug in RNAup

\item {} 
\sphinxAtStartPar
Fixed bug in RNALfold with window sizes larger than sequence length

\item {} 
\sphinxAtStartPar
Re\sphinxhyphen{}added SCI parameter for RNAalifold

\item {} 
\sphinxAtStartPar
Fixed backtracking issue for large G\sphinxhyphen{}quadruplexes in RNAalifold

\item {} 
\sphinxAtStartPar
Fixed missing FASTA id in RNAeval output

\item {} 
\sphinxAtStartPar
Added option to RNAalifold that allows to specify prefix for output files

\item {} 
\sphinxAtStartPar
Several fixes and additional functions/methods in scripting language interface(s)

\item {} 
\sphinxAtStartPar
Added version information for scripting language interface(s)

\item {} 
\sphinxAtStartPar
Some changes to allow for compilation with newer compilers, such as gcc 6.1

\end{itemize}


\subsection{Version 2.2.5 (Release date: 2016\sphinxhyphen{}04\sphinxhyphen{}09)}
\label{\detokenize{changelog:version-2-2-5-release-date-2016-04-09}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fixed regression in RNAcofold that prohibited output of concentration computations

\item {} 
\sphinxAtStartPar
Fixed behavior of RNAfold and RNAcofold when hard constraints create empty solution set (programs now abort with error message)

\item {} 
\sphinxAtStartPar
Added optional Python 3 interface

\item {} 
\sphinxAtStartPar
Added RNA::Params Perl 5 sub\sphinxhyphen{}package

\item {} 
\sphinxAtStartPar
Update RNA::Design Perl 5 sub\sphinxhyphen{}package

\item {} 
\sphinxAtStartPar
Simplified usage of v3.0 API with default options

\item {} 
\sphinxAtStartPar
Wrap more functions of v3.0 API in SWIG generated scripting language interfaces

\item {} 
\sphinxAtStartPar
Plugged some memory leaks in SWIG generated scripting language interfaces

\item {} 
\sphinxAtStartPar
Changed parameters of recursion status callback in vrna\_fold\_compound\_t

\item {} 
\sphinxAtStartPar
Enable definition and binding of callback functions from within SWIG target language

\item {} 
\sphinxAtStartPar
Added optional subpackage Kinwalker

\item {} 
\sphinxAtStartPar
Added several configure options to ease building and packaging under MacOS X

\item {} 
\sphinxAtStartPar
Added new utility script RNAdesign.pl

\end{itemize}


\subsection{Version 2.2.4 (Release date: 2016\sphinxhyphen{}02\sphinxhyphen{}19)}
\label{\detokenize{changelog:version-2-2-4-release-date-2016-02-19}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fixed bug in RNAsubopt that occasionally produced cofolded structures twice

\item {} 
\sphinxAtStartPar
Removed debugging output in preparations of consensus structure prediction datastructures

\end{itemize}


\subsection{Version 2.2.3 (Release date: 2016\sphinxhyphen{}02\sphinxhyphen{}13)}
\label{\detokenize{changelog:version-2-2-3-release-date-2016-02-13}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Added postscipt annotations for found ligand motifs in RNAfold

\item {} 
\sphinxAtStartPar
Added more documentation for the constraints features in RNAfold and RNAalifold

\item {} 
\sphinxAtStartPar
Restore backward compatibility of get\_alipf\_arrays()

\end{itemize}


\subsection{Version 2.2.2 (Release date: 2016\sphinxhyphen{}02\sphinxhyphen{}08)}
\label{\detokenize{changelog:version-2-2-2-release-date-2016-02-08}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix regression bug that occasionally prevented backtracking with RNAcofold \textendash{}noLP

\end{itemize}


\subsection{Version 2.2.1 (Release date: 2016\sphinxhyphen{}02\sphinxhyphen{}06)}
\label{\detokenize{changelog:version-2-2-1-release-date-2016-02-06}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix regression bug that made RNAcofold \sphinxhyphen{}a unusable

\item {} 
\sphinxAtStartPar
Fix regression bug that prohibited RNAfold to compute the MEA structure when G\sphinxhyphen{}Quadruplex support was switched on

\item {} 
\sphinxAtStartPar
Fix bug in Kinfold to enable loading energy parameters from file

\item {} 
\sphinxAtStartPar
Fix potential use of uninitialized value in RNApdist

\item {} 
\sphinxAtStartPar
Add manpage for ct2db

\item {} 
\sphinxAtStartPar
Fix MEA computation when G\sphinxhyphen{}Quadruplex support is activated

\item {} 
\sphinxAtStartPar
Allow for vendor installation of the perl interface using INSTALLDIRS=vendor at configure time

\item {} 
\sphinxAtStartPar
Install architecture dependent and independent files of the perl and python interface to their correct file system locations

\end{itemize}


\subsection{Version 2.2.0 (Release date: 2016\sphinxhyphen{}01\sphinxhyphen{}25)}
\label{\detokenize{changelog:version-2-2-0-release-date-2016-01-25}}\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAforester is now of version 2.0

\item {} 
\sphinxAtStartPar
New program RNApvmin to compute pseudo\sphinxhyphen{}energy pertubation vector that minimizes discrepancy between observed and predicted pairing probabilities

\item {} 
\sphinxAtStartPar
SHAPE reactivity support for RNAfold, RNAsubopt, and RNAalifold

\item {} 
\sphinxAtStartPar
Ligand binding to hairpin\sphinxhyphen{} and interior\sphinxhyphen{}loop motif support in RNAfold

\item {} 
\sphinxAtStartPar
New commandline option to limit maximum base pair span for RNAfold, RNAsubopt, RNAcofold, and RNAalifold

\item {} 
\sphinxAtStartPar
Bugfix in RNAheat to remove numerical instabilities

\item {} 
\sphinxAtStartPar
Bugfix in RNAplex to allow for computation of interactions without length limitation

\item {} 
\sphinxAtStartPar
Bugfix in RNAplot for simple layouts and hairpins of size 0

\item {} 
\sphinxAtStartPar
(generic) hard\sphinxhyphen{} and soft\sphinxhyphen{}constraints for MFE, partition function, base pair probabilities, stochastic backtracking, and suboptimal secondary structures of single sequences, sequence alignments, and sequence dimers

\item {} 
\sphinxAtStartPar
libsvm version as required for z\sphinxhyphen{}scoring in RNALfold is now 3.20

\item {} 
\sphinxAtStartPar
Stochastic backtracking for single sequences is faster due to usage of Boustrophedon scheme

\item {} 
\sphinxAtStartPar
First polymorphic functions vrna\_mfe(), vrna\_pf(), and vrna\_pbacktrack().

\item {} 
\sphinxAtStartPar
The FLT\_OR\_DBL macro is now a typedef

\item {} 
\sphinxAtStartPar
New functions to convert between different secondary structure representations, such as helix lists, and RNAshapes abstractions

\item {} 
\sphinxAtStartPar
First object\sphinxhyphen{}oriented interface for new API functions in the scripting language interfaces

\item {} 
\sphinxAtStartPar
new ViennaRNA\sphinxhyphen{}perl submodule that augments the Perl interface to RNAlib

\item {} 
\sphinxAtStartPar
Ligand binding to hairpin\sphinxhyphen{} and interior\sphinxhyphen{}loop motif support in C\sphinxhyphen{}library and scripting language interfaces.

\item {} 
\sphinxAtStartPar
Libraries are generated using libtool

\item {} 
\sphinxAtStartPar
Linking of libraries and executables defaults to use Link Time Optimization (LTO)

\item {} 
\sphinxAtStartPar
Large changes in directory structure of the source code files

\end{itemize}


\section{Version 2.1.x}
\label{\detokenize{changelog:version-2-1-x}}

\subsection{Version 2.1.9}
\label{\detokenize{changelog:version-2-1-9}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fixed integer underflow bug in RNALfold

\item {} 
\sphinxAtStartPar
Added Sequence Conservation index (SCI) option to RNAalifold

\item {} 
\sphinxAtStartPar
Fixed bug in energy evaluation of dangling ends / terminal mismatches of exterior loops and multibranch loops

\item {} 
\sphinxAtStartPar
Fixed bug in alifold partition function for circular RNAs

\item {} 
\sphinxAtStartPar
Fixed bug in alifold that scrambled backtracing with activated G\sphinxhyphen{}Quadruplex support

\item {} 
\sphinxAtStartPar
Fixed bug in alifold backtracking for larger G\sphinxhyphen{}Quadruplexes

\end{itemize}


\subsection{Version 2.1.8}
\label{\detokenize{changelog:version-2-1-8}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Repaired incorporation of RNAinverse user provided alphabet

\item {} 
\sphinxAtStartPar
Fix missing FASTA ID in RNAeval output

\item {} 
\sphinxAtStartPar
prevent race condition in parallel calls of Lfold()

\item {} 
\sphinxAtStartPar
Fixed memory bug in Lfold() that occured using long sequences and activated G\sphinxhyphen{}Quad support

\item {} 
\sphinxAtStartPar
Added latest version of switch.pl

\end{itemize}


\subsection{Version 2.1.7}
\label{\detokenize{changelog:version-2-1-7}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fixed bug in RNALfold \sphinxhyphen{}z

\item {} 
\sphinxAtStartPar
Python and Perl interface are compiling again under MacOSX

\item {} 
\sphinxAtStartPar
Fixed handling of C arrays in Python interface

\item {} 
\sphinxAtStartPar
Added latest version of switch.pl

\item {} 
\sphinxAtStartPar
Make relplot.pl work with RNAcofold output

\end{itemize}


\subsection{Version 2.1.6}
\label{\detokenize{changelog:version-2-1-6}}\begin{itemize}
\item {} 
\sphinxAtStartPar
New commandline switches allow for elimination of non\sphinxhyphen{}canonical base pairs from constraint structures in RNAfold, RNAalifold and RNAsubopt

\item {} 
\sphinxAtStartPar
updated moveset functions

\item {} 
\sphinxAtStartPar
final fix for discrepancy of tri\sphinxhyphen{}loop evaluation between partition function and mfe

\item {} 
\sphinxAtStartPar
pkg\sphinxhyphen{}config file now includes the OpenMP linker flag if necessary

\item {} 
\sphinxAtStartPar
New program ct2db allows for conversion of .ct files into dot\sphinxhyphen{}bracket notation (incl. pseudo\sphinxhyphen{}knot removal)

\end{itemize}


\subsection{Version 2.1.5}
\label{\detokenize{changelog:version-2-1-5}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix for discrepancy between special hairpin loop evaluation in partition functions and MFE

\end{itemize}


\subsection{Version 2.1.4}
\label{\detokenize{changelog:version-2-1-4}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix of G\sphinxhyphen{}quadruplex support in subopt()

\item {} 
\sphinxAtStartPar
Fix for discrepancy between special hairpin loop evaluation in partition functions and MFE

\end{itemize}


\subsection{Version 2.1.3}
\label{\detokenize{changelog:version-2-1-3}}\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAfold: Bugfix for ignoring user specified energy parameter files

\item {} 
\sphinxAtStartPar
RNAcofold: Bugfix for crashing upon constrained folding without specifying a constraint structure

\item {} 
\sphinxAtStartPar
RNAsubopt: Added G\sphinxhyphen{}quadruplex support

\item {} 
\sphinxAtStartPar
RNAalifold: Added parameter option to specify base pair probability threshold in dotplot

\item {} 
\sphinxAtStartPar
Fix of several G\sphinxhyphen{}quadruplex related bugs

\item {} 
\sphinxAtStartPar
Added G\sphinxhyphen{}quadruplex support in subopt()

\end{itemize}


\subsection{Version 2.1.2}
\label{\detokenize{changelog:version-2-1-2}}\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAfold: Bugfix for randomly missing probabilities in dot\sphinxhyphen{}plot during batch job execution

\item {} 
\sphinxAtStartPar
RNAeval: Bugfix for misinterpreted G\sphinxhyphen{}quadruplex containing sequences where the quadruplex starts at nucleotide 1

\item {} 
\sphinxAtStartPar
RNAsubopt: Slight changes to the output of stochastic backtracking and zuker subopt

\item {} 
\sphinxAtStartPar
Fix of some memory leaks

\item {} 
\sphinxAtStartPar
Bugfixes in zukersubopt(), assign\_plist\_from\_pr()

\item {} 
\sphinxAtStartPar
New threadsafe variants of putoutpU\_prob*() for LPfold()

\item {} 
\sphinxAtStartPar
Provision of python2 interface support.

\end{itemize}


\subsection{Version 2.1.1}
\label{\detokenize{changelog:version-2-1-1}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Bugfix to restore backward compatibility with ViennaRNA Package 1.8.x API (this bug also affected proper usage of the the perl interface)

\end{itemize}


\subsection{Version 2.1.0}
\label{\detokenize{changelog:version-2-1-0}}\begin{itemize}
\item {} 
\sphinxAtStartPar
G\sphinxhyphen{}Quadruplex support in RNAfold, RNAcofold, RNALfold, RNAalifold, RNAeval and RNAplot

\item {} 
\sphinxAtStartPar
LPfold got a new option to output its computations in split\sphinxhyphen{}mode

\item {} 
\sphinxAtStartPar
several G\sphinxhyphen{}Quadruplex related functions were introduced with this release

\item {} 
\sphinxAtStartPar
several functions for moves in an RNA landscape were introduced

\item {} 
\sphinxAtStartPar
new function in alipfold.c now enables access to the partition function matrices of alipf\_fold()

\item {} 
\sphinxAtStartPar
different numeric approach was implement for concentration dependend co\sphinxhyphen{}folding to avoid instabilities which occured under certain circumstances

\end{itemize}


\section{Version 2.0.x}
\label{\detokenize{changelog:version-2-0-x}}

\subsection{Version 2.0.7}
\label{\detokenize{changelog:version-2-0-7}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Bugfix for RNAplfold where segfault happened upon usage of \sphinxhyphen{}O option

\item {} 
\sphinxAtStartPar
Corrected misbehavior of RNAeval and RNAplot in tty mode

\end{itemize}


\subsection{Version 2.0.6}
\label{\detokenize{changelog:version-2-0-6}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Bugfix for bad type casting with gcc under MacOSX (resulted in accidental “sequence too long” errors)

\item {} 
\sphinxAtStartPar
Bugfix for disappearing tri\sphinxhyphen{}/hexaloop contributions when read in from certain parameter files

\item {} 
\sphinxAtStartPar
Bugfix for RNALfold that segfaulted on short strange sequences like AT+ repeats

\item {} 
\sphinxAtStartPar
Change of RNA2Dfold output format for stochastic backtracking

\end{itemize}


\subsection{Version 2.0.5}
\label{\detokenize{changelog:version-2-0-5}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Restored z\sphinxhyphen{}score computation capabilities in RNALfold

\end{itemize}


\subsection{Version 2.0.4}
\label{\detokenize{changelog:version-2-0-4}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Bugfix for RNAcofold partition function

\item {} 
\sphinxAtStartPar
Perl wrapper compatibility to changed RNAlib has been restored

\item {} 
\sphinxAtStartPar
Backward compatibility for partition function calls has been restored

\end{itemize}


\subsection{Version 2.0.3}
\label{\detokenize{changelog:version-2-0-3}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Bugfix for RNAalifold partition function and base pair probabilities in v2.0.3b

\item {} 
\sphinxAtStartPar
Added Boltzmann factor scaling in RNAsubopt, RNAalifold, RNAplfold and RNAcofold

\item {} 
\sphinxAtStartPar
Bugfix for alipfold() in v2.0.3b

\item {} 
\sphinxAtStartPar
Restored threadsafety of folding matrix access in LPfold.c, alipfold.c, part\_func.c, part\_func\_co.c and part\_func\_up.c

\item {} 
\sphinxAtStartPar
Added several new functions regarding threadsafe function calls in terms of concurrently changing the model details

\item {} 
\sphinxAtStartPar
Added pkg\sphinxhyphen{}config file in the distribution to allow easy checks for certain RNAlib2 versions, compiler flags and linker flags.

\end{itemize}


\subsection{Version 2.0.2}
\label{\detokenize{changelog:version-2-0-2}}\begin{itemize}
\item {} 
\sphinxAtStartPar
added support for Boltzmann factor scaling in RNAfold

\item {} 
\sphinxAtStartPar
fixed fastaheader to filename bug

\item {} 
\sphinxAtStartPar
plugged some memory leaks

\end{itemize}


\subsection{Version 2.0.1}
\label{\detokenize{changelog:version-2-0-1}}\begin{itemize}
\item {} 
\sphinxAtStartPar
First official release of version 2.0

\item {} 
\sphinxAtStartPar
included latest bugfixes

\end{itemize}


\section{History}
\label{\detokenize{changelog:history}}
\sphinxAtStartPar
2011\sphinxhyphen{}03\sphinxhyphen{}10  Ronny Lorenz  \sphinxhref{mailto:ronny@tbi.univie.ac.at}{ronny@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
new naming scheme for all shipped energy parameter files

\item {} 
\sphinxAtStartPar
fixed bugs that appear while compiling with gcc under MacOS X

\item {} 
\sphinxAtStartPar
fixed bug in RNAup \textendash{}interaction\sphinxhyphen{}first where the longer of the first two
sequences was taken as target

\item {} 
\sphinxAtStartPar
added full FASTA input support to RNAfold, RNAcofold, RNAheat, RNAplfold
RNALfoldz, RNAsubopt and RNALfold

\end{itemize}

\sphinxAtStartPar
2010\sphinxhyphen{}11\sphinxhyphen{}24  Ronny Lorenz  \sphinxhref{mailto:ronny@tbi.univie.ac.at}{ronny@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
first full pre\sphinxhyphen{}release of version 2.0

\end{itemize}

\sphinxAtStartPar
2009\sphinxhyphen{}11\sphinxhyphen{}03  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix memory corruption in PS\_color\_aln()

\end{itemize}

\sphinxAtStartPar
2009\sphinxhyphen{}09\sphinxhyphen{}09  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix bug in RNAplfold when \sphinxhyphen{}u and \sphinxhyphen{}L parameters are equal

\item {} 
\sphinxAtStartPar
Fix double call to free\_arrays() in RNAfold.c

\item {} 
\sphinxAtStartPar
Improve drawing of cofolded structures

\end{itemize}

\sphinxAtStartPar
2009\sphinxhyphen{}05\sphinxhyphen{}14  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix occasional segfault in RNAalifold’s print\_aliout()

\end{itemize}

\sphinxAtStartPar
2009\sphinxhyphen{}02\sphinxhyphen{}24  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Add \sphinxhyphen{}MEA options to RNAfold and RNAalifold

\item {} 
\sphinxAtStartPar
change energy\_of\_alistruct to return float not void

\end{itemize}

\sphinxAtStartPar
2009\sphinxhyphen{}02\sphinxhyphen{}24  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAfold will draw structures unless \sphinxhyphen{}noPS is used (no more
“structure too long” messages)

\item {} 
\sphinxAtStartPar
Restore the “alifold.out” output from RNAalifold \sphinxhyphen{}p

\item {} 
\sphinxAtStartPar
RNAalifold \sphinxhyphen{}circ did not work due to wrong return type

\item {} 
\sphinxAtStartPar
Accessibility calculation with RNAplfold would give wrong
results for u\textless{}=30

\end{itemize}

\sphinxAtStartPar
2008\sphinxhyphen{}12\sphinxhyphen{}03  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Add zuker style suboptimals to RNAsubopt (\sphinxhyphen{}z)

\item {} 
\sphinxAtStartPar
get\_line() should be much faster when reading huge sequences
(e.g. whole chromosomes for RNALfold)

\end{itemize}

\sphinxAtStartPar
2008\sphinxhyphen{}08\sphinxhyphen{}12  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Add Ribosum matrices for covariance scoring in RNAalifold

\end{itemize}

\sphinxAtStartPar
2008\sphinxhyphen{}06\sphinxhyphen{}27  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Change RNAalifold to used berni’s new energy evaluation w/o gaps

\item {} 
\sphinxAtStartPar
Add stochastic backtracking in RNAalifold

\end{itemize}

\sphinxAtStartPar
2008\sphinxhyphen{}07\sphinxhyphen{}04  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
modify output of RNAup (again).
Program reading RNAup output will have to updated!

\end{itemize}

\sphinxAtStartPar
2008\sphinxhyphen{}07\sphinxhyphen{}02  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAplfold now computes accessibilities for all regions up to a
max length simultaneously. Slightly slower when only 1 value is
needed, but much faster if all of them are wanted.
This entails a new output format. Programs reading accessibility
output from RNAplfold need to be updated!

\end{itemize}

\sphinxAtStartPar
2008\sphinxhyphen{}03\sphinxhyphen{}31  Stephan Bernhart  \sphinxhref{mailto:berni@tbi.univie.ac.at}{berni@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add cofolding to RNAsubopt

\end{itemize}

\sphinxAtStartPar
2008\sphinxhyphen{}01\sphinxhyphen{}08  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
ensure circfold works even for open chain

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}12\sphinxhyphen{}13  Ulli Mueckstein  \sphinxhref{mailto:ulli@tbi.univie.ac.at}{ulli@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
upate RNAup related files
RNAup can now include the intramolecular structure of both
molecules and handles constraints.

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}12\sphinxhyphen{}05  Ronny Lorenz  \sphinxhref{mailto:ronny@tbi.univie.ac.at}{ronny@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add circfold variants in part\_func.c alipfold.c subopt.c

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}09\sphinxhyphen{}19  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
compute the controid structure of the ensemble in RNAfold \sphinxhyphen{}p

\item {} 
\sphinxAtStartPar
fix a missing factor 2 in mean\_bp\_dist().
CAUTION ensemble diversities returned by RNAfold \sphinxhyphen{}p are now
twice as large as in earlier versions.

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}09\sphinxhyphen{}04  Ivo Hofacker  \sphinxhref{mailto:ivo@blini.tbi.univie.ac.at}{ivo@blini.tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
fix a bug in Lfold() where base number n\sphinxhyphen{}max\sphinxhyphen{}4 would never pair

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}08\sphinxhyphen{}26  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add RNAaliduplex the alignment version of RNAduplex

\item {} 
\sphinxAtStartPar
introduce a minimal distance between hits produced by  duplex\_subopt()

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}07\sphinxhyphen{}03  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add a loop\_energy() function to compute energy of a single loop

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}06\sphinxhyphen{}23  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add aliLfold() and RNALalifold, alignment variant of Lfold()

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}04\sphinxhyphen{}30  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add RNAup to distribution

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}04\sphinxhyphen{}15  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
fix segfault in colorps output (thanks to Andres Varon)

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}03\sphinxhyphen{}03  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
avoid unnormalized doubles in scale{[}{]}, big speedup for pf\_fold()
on very long sequences

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}02\sphinxhyphen{}03  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAalifold can now produce colored structure plots and
alignment plots

\end{itemize}

\sphinxAtStartPar
2007\sphinxhyphen{}02\sphinxhyphen{}01 Ivo Hofacker \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Fix segfault in RNAplfold because of missing prototype

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}12\sphinxhyphen{}01 Ivo Hofacker \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAduplex would segfault when no structure base pairs are possible

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}08\sphinxhyphen{}22  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add computation stacking probabilities using RNAfold \sphinxhyphen{}p2

\item {} 
\sphinxAtStartPar
add \sphinxhyphen{}noPS option for NRAfold to supress drawing structures

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}08\sphinxhyphen{}09  Stephan Bernhart  \sphinxhref{mailto:berni@tbi.univie.ac.at}{berni@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
RNAplfold can now compute probabilites of unpaired regions
(scanning version of RNAup)

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}06\sphinxhyphen{}14  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
compile library with \sphinxhyphen{}fpic (if available) for use as shared
library in the Perl module.

\item {} 
\sphinxAtStartPar
fix another bug when calling Lfold() repeatedly

\item {} 
\sphinxAtStartPar
fix switch cmdline parsing in RNAalifold (\sphinxhyphen{}mis implied \sphinxhyphen{}4)

\item {} 
\sphinxAtStartPar
fix bug in cofold() with dangles=0

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}05\sphinxhyphen{}08  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
fix segfault in Lfold() when calling repeatedly

\item {} 
\sphinxAtStartPar
fix structure parsing in RNAstruct.c
(thanks to Michael Pheasant for reporting both bugs)

\item {} 
\sphinxAtStartPar
add duplexfold() and alifold() to Perl module

\item {} 
\sphinxAtStartPar
distinguish window size and max pair span in LPfold

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}04\sphinxhyphen{}05  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
fix performance bug in co\_pf\_fold()

\item {} 
\sphinxAtStartPar
use relative error for termination of Newton iteration

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}03\sphinxhyphen{}02  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add circular folding in alifold()

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}01\sphinxhyphen{}18  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
cleanup berni partition cofold code, including several bug fixes

\end{itemize}

\sphinxAtStartPar
2006\sphinxhyphen{}01\sphinxhyphen{}16  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
update RNAplfold to working version

\item {} 
\sphinxAtStartPar
add PS\_dot\_plot\_turn() in  PS\_dot.c

\end{itemize}

\sphinxAtStartPar
2005\sphinxhyphen{}11\sphinxhyphen{}07  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add new utilities colorna and coloraln

\end{itemize}

\sphinxAtStartPar
2005\sphinxhyphen{}10\sphinxhyphen{}11  Christoph Flamm  \sphinxhref{mailto:xtof@tbi.univie.ac.at}{xtof@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
adapt PS\_rna\_plot() for drawing co\sphinxhyphen{}folded structures

\end{itemize}

\sphinxAtStartPar
2005\sphinxhyphen{}07\sphinxhyphen{}24  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
fix a few memory problems in structure comparison routines

\end{itemize}

\sphinxAtStartPar
2005\sphinxhyphen{}04\sphinxhyphen{}30  Ivo Hofacker  \sphinxhref{mailto:ivo@blini.tbi.univie.ac.at}{ivo@blini.tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add folding of circular RNAs

\end{itemize}

\sphinxAtStartPar
2005\sphinxhyphen{}03\sphinxhyphen{}11  Ivo Hofacker  \sphinxhref{mailto:ivo@blini.tbi.univie.ac.at}{ivo@blini.tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add \sphinxhyphen{}mis option to RNAalifold to give “most informative
sequence” as consensus

\end{itemize}

\sphinxAtStartPar
2005\sphinxhyphen{}02\sphinxhyphen{}10  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
move alifold() into the library

\end{itemize}

\sphinxAtStartPar
2004\sphinxhyphen{}12\sphinxhyphen{}22  Stephan Bernhart  \sphinxhref{mailto:berni@tbi.univie.ac.at}{berni@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add partition function version of RNAcofold

\end{itemize}

\sphinxAtStartPar
2004\sphinxhyphen{}12\sphinxhyphen{}23  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add RNApaln for fast structural alignments (RNApdist improvement)

\end{itemize}

\sphinxAtStartPar
2004\sphinxhyphen{}08\sphinxhyphen{}12  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
fix constrained folding in stochastic backtracking

\end{itemize}

\sphinxAtStartPar
2004\sphinxhyphen{}07\sphinxhyphen{}21  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add RNAduplex, to compute hybrid structures without
intra\sphinxhyphen{}molecular pairs

\end{itemize}

\sphinxAtStartPar
2004\sphinxhyphen{}02\sphinxhyphen{}09  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
fix bug in fold that caused segfaults when using Intel compiler

\item {} 
\sphinxAtStartPar
add computation of ensemble diversity to RNAfold

\end{itemize}

\sphinxAtStartPar
2003\sphinxhyphen{}09\sphinxhyphen{}10  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add annotation options to RNAplot

\end{itemize}

\sphinxAtStartPar
2003\sphinxhyphen{}08\sphinxhyphen{}04  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
stochastic backtracking finally works. Try e.g.
RNAsubopt \sphinxhyphen{}p 10

\end{itemize}

\sphinxAtStartPar
2003\sphinxhyphen{}07\sphinxhyphen{}18  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add relplot.pl and rotate\_ss.pl utilities for reliability
annotation and rotation of rna structure plots

\end{itemize}

\sphinxAtStartPar
2003\sphinxhyphen{}01\sphinxhyphen{}29  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add RNALfold program to compute locally optimal structures with
maximum pair span.

\item {} 
\sphinxAtStartPar
add RNAcofold for computing hybrid structure

\end{itemize}

\sphinxAtStartPar
2002\sphinxhyphen{}11\sphinxhyphen{}07  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
change Make\_bp\_profile() and profile\_edit\_distance() to use
simple (float *) arrays; makes Perl access much easier.
RNApdist \sphinxhyphen{}B now works again

\end{itemize}

\sphinxAtStartPar
2002\sphinxhyphen{}10\sphinxhyphen{}28  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Improved Perl module with pod documentation; allow to write
things like
(\$structure, \$energy) = RNA::fold(\$seq);
Compatibility warning: the ptrvalue() and related functions are
gone, see the pod documentation for alternatives.

\end{itemize}

\sphinxAtStartPar
2002\sphinxhyphen{}10\sphinxhyphen{}29  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
added svg structure plots in PS\_dot.c and RNAplot

\end{itemize}

\sphinxAtStartPar
2002\sphinxhyphen{}08\sphinxhyphen{}15  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
Improve reading of clustal files (alifold)

\item {} 
\sphinxAtStartPar
add a sample alifold.cgi script

\end{itemize}

\sphinxAtStartPar
2001\sphinxhyphen{}09\sphinxhyphen{}18  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
moved suboptimal folding into the library, thus it’s now
accessible from the Perl module

\end{itemize}

\sphinxAtStartPar
2001\sphinxhyphen{}08\sphinxhyphen{}31  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
added co\sphinxhyphen{}folding support in energy\_of\_struct(), and thus RNAeval

\end{itemize}

\sphinxAtStartPar
2001\sphinxhyphen{}04\sphinxhyphen{}30  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
switch from handcrafted makefiles to automake and autoconf

\end{itemize}

\sphinxAtStartPar
2001\sphinxhyphen{}04\sphinxhyphen{}05  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
added PS\_rna\_plot\_a to produce structure plots with annotation

\end{itemize}

\sphinxAtStartPar
2001\sphinxhyphen{}03\sphinxhyphen{}03  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add alifold; predict consensus structures from alignment

\end{itemize}

\sphinxAtStartPar
2000\sphinxhyphen{}09\sphinxhyphen{}28  Ivo Hofacker  \sphinxhref{mailto:ivo@tbi.univie.ac.at}{ivo@tbi.univie.ac.at}
\begin{itemize}
\item {} 
\sphinxAtStartPar
add \sphinxhyphen{}d3 option to RNAfold for co\sphinxhyphen{}axial stacking

\end{itemize}

\sphinxstepscope


\chapter{Bibliography}
\label{\detokenize{bibliography:bibliography}}\label{\detokenize{bibliography::doc}}
\sphinxstepscope


\chapter{How to cite the ViennaRNA Package}
\label{\detokenize{citing:how-to-cite-the-viennarna-package}}\label{\detokenize{citing::doc}}
\sphinxAtStartPar
If you use our software and implemented algorithms for your scientific work, you might
want to cite the corresponding publications.


\section{Main References}
\label{\detokenize{citing:main-references}}
\sphinxAtStartPar
The \sphinxstyleemphasis{overarching} main publications for the ViennaRNA Package are:
\begin{itemize}
\item {} 
\sphinxAtStartPar
Ronny Lorenz, Stephan H. Bernhart, Christian Höner zu Siederdissen, Hakim Tafer, Christoph Flamm, Peter F. Stadler, and Ivo L. Hofacker. ViennaRNA package 2.0. \sphinxstyleemphasis{Algorithms for Molecular Biology}, 6(1):26, 2011. \sphinxhref{https://doi.org/10.1186/1748-7188-6-26}{doi:10.1186/1748\sphinxhyphen{}7188\sphinxhyphen{}6\sphinxhyphen{}26}.

\item {} 
\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, L.S. Bonhoeffer, M. Tacker, and P. Schuster. Fast folding and comparison of RNA secondary structures. \sphinxstyleemphasis{Monatshefte für Chemie/Chemical Monthly}, 125(2):167\textendash{}188, 1994. URL: \sphinxurl{https://www.academia.edu/download/48689421/Fast\_Folding\_and\_Comparison\_of\_RNA\_Secon20160908-13624-1yg70az.pdf}.

\end{itemize}


\section{Particular Algorithms and Features}
\label{\detokenize{citing:particular-algorithms-and-features}}
\sphinxAtStartPar
To reference particular algorithms used in our sofware, you might want to consider citing
the following publications:


\subsection{Consensus structure prediction}
\label{\detokenize{citing:consensus-structure-prediction}}\begin{itemize}
\item {} 
\sphinxAtStartPar
I.L. Hofacker, M. Fekete, and P.F. Stadler. Secondary structure prediction for aligned RNA sequences. \sphinxstyleemphasis{Journal of molecular biology}, 319(5):1059\textendash{}1066, 2002. \sphinxhref{https://doi.org/10.1016/S0022-2836(02)00308-X}{doi:10.1016/S0022\sphinxhyphen{}2836(02)00308\sphinxhyphen{}X}.

\item {} 
\sphinxAtStartPar
S.H. Bernhart, I.L. Hofacker, S. Will, A.R. Gruber, and P.F. Stadler. RNAalifold: improved consensus structure prediction for RNA alignments. \sphinxstyleemphasis{BMC bioinformatics}, 9(1):474, 2008. \sphinxhref{https://doi.org/10.1186/1471-2105-9-474}{doi:10.1186/1471\sphinxhyphen{}2105\sphinxhyphen{}9\sphinxhyphen{}474}.

\end{itemize}


\subsection{Local pair probabilitiy and accessibility}
\label{\detokenize{citing:local-pair-probabilitiy-and-accessibility}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Stephan H Bernhart, Ivo L Hofacker, and Peter F Stadler. Local RNA base pairing probabilities in large sequences. \sphinxstyleemphasis{Bioinformatics}, 22(5):614\textendash{}615, 2005. \sphinxhref{https://doi.org/10.1093/bioinformatics/btk014}{doi:10.1093/bioinformatics/btk014}.

\item {} 
\sphinxAtStartPar
Stephan H Bernhart, Ullrike Mückstein, and Ivo L Hofacker. RNA accessibility in cubic time. \sphinxstyleemphasis{Algorithms for Molecular Biology}, 6(1):3, 2011. \sphinxhref{https://doi.org/10.1186/1748-7188-6-3}{doi:10.1186/1748\sphinxhyphen{}7188\sphinxhyphen{}6\sphinxhyphen{}3}.

\end{itemize}


\subsection{Suboptimal secondary structures}
\label{\detokenize{citing:suboptimal-secondary-structures}}\begin{itemize}
\item {} 
\sphinxAtStartPar
S. Wuchty, W. Fontana, I. L. Hofacker, and P. Schuster. Complete suboptimal folding of RNA and the stability of secondary structures. \sphinxstyleemphasis{Biopolymers}, 49(2):145\textendash{}165, February 1999. \sphinxhref{https://doi.org/10.1002/(SICI)1097-0282(199902)49:2\textless{}145::AID-BIP4\textgreater{}3.0.CO;2-G}{doi:10.1002/(SICI)1097\sphinxhyphen{}0282(199902)49:2\textless{}145::AID\sphinxhyphen{}BIP4\textgreater{}3.0.CO;2\sphinxhyphen{}G}.

\end{itemize}


\subsection{k,l \sphinxhyphen{} Neighborhood}
\label{\detokenize{citing:k-l-neighborhood}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Ronny Lorenz, Christoph Flamm, and Ivo L. Hofacker. 2d projections of RNA folding landscapes. In Ivo Grosse, Steffen Neumann, Stefan Posch, Falk Schreiber, and Peter F. Stadler, editors, \sphinxstyleemphasis{German Conference on Bioinformatics 2009}, volume 157 of Lecture Notes in Informatics, 11\textendash{}20. Bonn, September 2009. Gesellschaft f. Informatik. URL: \sphinxurl{https://dl.gi.de/items/8f88acfe-c389-4dfe-b975-84a638900683}.

\end{itemize}


\subsection{Experimental RNA structure probing}
\label{\detokenize{citing:experimental-rna-structure-probing}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Ronny Lorenz, Dominik Luntzer, Ivo L. Hofacker, Peter F. Stadler, and Michael T. Wolfinger. Shape directed rna folding. \sphinxstyleemphasis{Bioinformatics}, 32(1):145\textendash{}147, 2016. \sphinxhref{https://doi.org/10.1093/bioinformatics/btv523}{doi:10.1093/bioinformatics/btv523}.

\end{itemize}


\subsection{Structure Constraints}
\label{\detokenize{citing:structure-constraints}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Ronny Lorenz, Ivo L. Hofacker, and Peter F. Stadler. RNA folding with hard and soft constraints. \sphinxstyleemphasis{Algorithms for Molecular Biology}, 11(1):1\textendash{}13, 2016. \sphinxhref{https://doi.org/10.1186/s13015-016-0070-z}{doi:10.1186/s13015\sphinxhyphen{}016\sphinxhyphen{}0070\sphinxhyphen{}z}.

\end{itemize}


\subsection{Non\sphinxhyphen{}redundant Boltzmann sampling}
\label{\detokenize{citing:non-redundant-boltzmann-sampling}}\begin{itemize}
\item {} 
\sphinxAtStartPar
Juraj Michálik, Hélène Touzet, and Yann Ponty. Efficient approximations of RNA kinetics landscape using non\sphinxhyphen{}redundant sampling. \sphinxstyleemphasis{Bioinformatics}, 33(14):i283\textendash{}i292, 2017. \sphinxhref{https://doi.org/10.1093/bioinformatics/btx269}{doi:10.1093/bioinformatics/btx269}.

\end{itemize}

\sphinxstepscope


\chapter{Frequently Asked Questions}
\label{\detokenize{faq:frequently-asked-questions}}\label{\detokenize{faq::doc}}

\section{Missing EXTERN.h}
\label{\detokenize{faq:missing-extern-h}}
\sphinxAtStartPar
When compiling from source at the Mac OS X platform, users often encounter
an error message stating that the file \sphinxcode{\sphinxupquote{EXTERN.h}} is missing for compilation
of the \sphinxcode{\sphinxupquote{Perl 5}} wrapper. This is a known problem and due to the fact that
users are discouraged to use the \sphinxcode{\sphinxupquote{Perl 5}} interpreter that is shipped with Mac OS X.

\sphinxAtStartPar
Instead, one should install a more recent version from another source, e.g. \sphinxcode{\sphinxupquote{homebrew}}.
If, however, for any reason you do not want to install your own \sphinxcode{\sphinxupquote{Perl 5}} interpreter
but use the one from Apple, you need to specify its include path to enable building the
ViennaRNA Perl interface. Otherwise, the file \sphinxcode{\sphinxupquote{EXTERN.h}} will be missing at compile time.
To fix this problem, you first need to find out where \sphinxcode{\sphinxupquote{EXTERN.h}} is located:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
sudo\PYG{+w}{ }find\PYG{+w}{ }/Library\PYG{+w}{ }\PYGZhy{}type\PYG{+w}{ }f\PYG{+w}{ }\PYGZhy{}name\PYG{+w}{ }EXTERN.h
\end{sphinxVerbatim}

\sphinxAtStartPar
Then choose the one that corresponds to your default perl interpreter (find out the version
number with \sphinxcode{\sphinxupquote{perl \sphinxhyphen{}v | grep version}}), simply execute the following before running the
\sphinxcode{\sphinxupquote{./configure}} script, e.g.:

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{export} \PYG{n}{CPATH}\PYG{o}{=}\PYG{o}{/}\PYG{n}{Library}\PYG{o}{/}\PYG{n}{Developer}\PYG{o}{/}\PYG{n}{CommandLineTools}\PYG{o}{/}\PYG{n}{SDKs}\PYG{o}{/}\PYG{n}{MacOSX10}\PYG{l+m+mf}{.15}\PYG{o}{.}\PYG{n}{sdk}\PYG{o}{/}\PYG{n}{System}\PYG{o}{/}\PYG{n}{Library}\PYG{o}{/}\PYG{n}{Perl}\PYG{o}{/}\PYG{l+m+mf}{5.18}\PYG{o}{/}\PYG{n}{darwin}\PYG{o}{\PYGZhy{}}\PYG{n}{thread}\PYG{o}{\PYGZhy{}}\PYG{n}{multi}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{2}\PYG{n}{level}\PYG{o}{/}\PYG{n}{CORE}
\end{sphinxVerbatim}

\sphinxAtStartPar
if your default perl is v5.18 running on MacOSX10.15. Change the paths according to your
current setup. After that, running \sphinxcode{\sphinxupquote{./configure}} and compilation should run fine.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
Related question at stackoverflow: \sphinxurl{https://stackoverflow.com/q/52682304/18609162}
\end{sphinxadmonition}


\section{Linking fails with LTO error}
\label{\detokenize{faq:linking-fails-with-lto-error}}
\sphinxAtStartPar
By default, \sphinxstyleemphasis{RNAlib} is compiled with {\hyperref[\detokenize{configuration:link-time-optimization}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Link Time Optimization}}}}}.
This may introduce problems upon linking a third\sphinxhyphen{}party program that was either compiled
with a different compiler or compiler version. As a work\sphinxhyphen{}around solution, we include the
\sphinxcode{\sphinxupquote{\sphinxhyphen{}fno\sphinxhyphen{}lto}} linker flag in the output of the {\hyperref[\detokenize{linking:the-pkg-config-tool}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{pkg\sphinxhyphen{}config}}}}}.
This tells the linker to not perform link time optimization even though LTO code is
included in the library. Usually, this should not affect the runtime of the algorithms
too much.

\sphinxAtStartPar
However, some linkers may not support the \sphinxcode{\sphinxupquote{\sphinxhyphen{}fno\sphinxhyphen{}lto}} flag and fail at the linker stage.
In addition, if \sphinxstyleemphasis{RNAlib} has been compiled with \sphinxcode{\sphinxupquote{clang}}, it may not include the non\sphinxhyphen{}LTO
code required for linking without LTO. To resolve this issue, you may need to deactivate
link time optimization while building \sphinxstyleemphasis{RNAlib}.

\begin{sphinxadmonition}{note}{See also…}

\sphinxAtStartPar
{\hyperref[\detokenize{configuration:link-time-optimization}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Link Time Optimization}}}}}
\end{sphinxadmonition}

\sphinxstepscope


\chapter{Contributing to the ViennaRNA Package}
\label{\detokenize{contributing:contributing-to-the-viennarna-package}}\label{\detokenize{contributing::doc}}

\section{Contents}
\label{\detokenize{contributing:contents}}\begin{itemize}
\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{contributing:general-remarks}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{General Remarks}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{contributing:reporting-bugs}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{Reporting Bugs}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{contributing:pull-request-process}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{Pull Request Process}}}}}

\item {} 
\sphinxAtStartPar
{\hyperref[\detokenize{contributing:contributors-license-agreement}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{Contributors License Agreement (CLA)}}}}}

\end{itemize}


\section{General Remarks}
\label{\detokenize{contributing:general-remarks}}
\sphinxAtStartPar
The ViennaRNA Package is developed by humans and consequently may contain bugs that
prevent proper operation of the implemented algorithms. If you think you have found
any of those nasty animals, please help us to improve our software by {\hyperref[\detokenize{contributing:reporting-bugs}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{reporting the
bug}}}}} to us.

\sphinxAtStartPar
The ViennaRNA Package also is open\sphinxhyphen{}source software, which means that everybody can
have a closer look into our implementations to understand and potentially extend
it’s functionality. If you implemented any novel feature into the ViennaRNA
Package that might be of interest to a larger community, please don’t hesitate to ask
for merging of your code into our official source tree. See the {\hyperref[\detokenize{contributing:pull-request-process}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{Pull Request Process
section}}}}} below to find information on how to do that.

\sphinxAtStartPar
Please note that we have a code of conduct. Please follow it in all your interactions
with this project.

\sphinxAtStartPar
If you wish to contribute to this project, please first discuss any proposed changes
with the owners and main developers. You may do that either through making an issue
at \sphinxhref{https://github.com/ViennaRNA/ViennaRNA}{our official GitHub presence},
\sphinxhref{mailto:rna@tbi.univie.ac.at}{by email}, or any other personal communication with the
core developer team.

\sphinxAtStartPar
More importantly, if you wish to contribute any files or software, you need to agree
to our ViennaRNA Package Contributors License Agreement (CLA)! Otherwise, your
contributions can’t be merged into our source tree. {\hyperref[\detokenize{contributing:contributors-license-agreement}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{See below}}}}}
for further information and the full CLA details.


\section{Reporting Bugs}
\label{\detokenize{contributing:reporting-bugs}}\begin{enumerate}
\sphinxsetlistlabels{\arabic}{enumi}{enumii}{}{.}%
\item {} 
\sphinxAtStartPar
Please make an issue at GitHub or notify us by emailing to rna@tbi.univie.ac.at

\item {} 
\sphinxAtStartPar
In your report, include as much information as possible, such that we are able
to reproduce it. If possible, find a minimal example that triggers the bug.

\item {} 
\sphinxAtStartPar
Include the version number for the ViennaRNA Package you experience the bug with.

\item {} 
\sphinxAtStartPar
Include at least some minimal information regarding your operating system (Linux,
Mac OS X, Windows, etc.)

\end{enumerate}


\section{Pull Request Process}
\label{\detokenize{contributing:pull-request-process}}\begin{enumerate}
\sphinxsetlistlabels{\arabic}{enumi}{enumii}{}{.}%
\item {} 
\sphinxAtStartPar
Ensure that you have not checked\sphinxhyphen{}in any files that are automatically build!

\item {} 
\sphinxAtStartPar
When contributing C source code, follow our code formatting guide lines. You
may use the tool \sphinxcode{\sphinxupquote{uncrustify}} together with our config located in \sphinxcode{\sphinxupquote{misc/uncrustify.cfg}}
to accomplish that.

\item {} 
\sphinxAtStartPar
Only expose symbols (functions, variables, etc.) to the libraries interface that are
absolutely necessary! Hide all other symbols in the corresponding object file(s) by
declaring them as \sphinxcode{\sphinxupquote{static}}.

\item {} 
\sphinxAtStartPar
Use the prefixes \sphinxcode{\sphinxupquote{vrna\_}} for any symbol you add to the API of our library! Preprocessor
macros in header files require the prefix in capital letters, i.e. \sphinxcode{\sphinxupquote{VRNA\_}}.

\item {} 
\sphinxAtStartPar
Use C\sphinxhyphen{}style comments at any place necessary to make sure your implementation can still
be understood and followed in the future.

\item {} 
\sphinxAtStartPar
Add test cases for any new implementation! The test suite is located in the \sphinxcode{\sphinxupquote{tests}}
directory and is split into tests for the C\sphinxhyphen{}library, executable programs, and the
individual scripting language interfaces.

\item {} 
\sphinxAtStartPar
Run \sphinxcode{\sphinxupquote{make check}} to ensure that all other test suites still run properly with your
applied changes!

\item {} 
\sphinxAtStartPar
When contributing via GitHub, make a personal fork of our project and create a separate
branch for your changes. Then make a pull request to our \sphinxcode{\sphinxupquote{user\sphinxhyphen{}contrib}} branch.
Pull requests to the \sphinxcode{\sphinxupquote{master}} branch will be rejected to keep its history clean.

\item {} 
\sphinxAtStartPar
Pull requests that have been successfully merged into the \sphinxcode{\sphinxupquote{user\sphinxhyphen{}contrib}} branch
usually find their way into the next release of the ViennaRNA Package. However, please
note that the core developers may decide to include your changes in a later version.

\end{enumerate}


\section{Contributors License Agreement}
\label{\detokenize{contributing:contributors-license-agreement}}
\sphinxAtStartPar
Thank you for your interest in contributing to the ViennaRNA Package (“We” or “Us”).

\sphinxAtStartPar
Before contributing, please note that we adopted a standard Contributors License
Agreement (CLA) agreement provided by \sphinxhref{https://www.harmonyagreements.org}{Project Harmony},
a community\sphinxhyphen{}centered group focused on contributor agreements for free and open source
software (FOSS).

\sphinxAtStartPar
This contributor agreement (“Agreement”) documents the rights granted by contributors
to Us. To make this document effective, please sign it and send it to Us by email to
rna@tbi.univie.ac.at.

\sphinxAtStartPar
The respective CLA PDF documents are available in the {\hyperref[\detokenize{contributing:doc/CLA}]{\sphinxcrossref{\DUrole{xref}{\DUrole{myst}{doc/CLA directory}}}}} of
the distribution tarball, and online at our
\sphinxhref{https://www.tbi.univie.ac.at/RNA/contributing.html}{official ViennaRNA Website}.

\sphinxstepscope


\chapter{License}
\label{\detokenize{license:license}}\label{\detokenize{license::doc}}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
		 Disclaimer and Copyright
\end{sphinxVerbatim}

\sphinxAtStartPar
The programs, library and source code of the Vienna RNA Package are free
software. They are distributed in the hope that they will be useful
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

\sphinxAtStartPar
Permission is granted for research, educational, and commercial use
and modification so long as 1) the package and any derived works are not
redistributed for any fee, other than media costs, 2) proper credit is
given to the authors and the Institute for Theoretical Chemistry of the
University of Vienna.

\sphinxAtStartPar
If you want to include this software in a commercial product, please contact
the authors.


\chapter{Indices and tables}
\label{\detokenize{index:indices-and-tables}}\begin{itemize}
\item {} 
\sphinxAtStartPar
\DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{genindex}}}

\item {} 
\sphinxAtStartPar
\DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{modindex}}}

\item {} 
\sphinxAtStartPar
\DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{search}}}

\end{itemize}


\chapter{Contributors}
\label{\detokenize{index:contributors}}
\sphinxAtStartPar
Over the past decades since the ViennaRNA Package first sprang to life as part
of Ivo L. Hofackers PhD project, several authors contributed more and more
algorithm implementations. In 2008, Ronny Lorenz took over the extensive task
to harmonize and simplify the already existing implementations for the sake
of easier feature addition. This eventually lead to version 2.0 of the ViennaRNA
Package. Since then, he (re\sphinxhyphen{})implemented a large portion of the currently existing
library features, such as the new, generalized constraints framework, RNA folding
grammar domain extensions, and the major part of the scripting language interface.

\sphinxAtStartPar
Below is a list of most people who contributed larger parts of the implementations:
\begin{itemize}
\item {} 
\sphinxAtStartPar
Daniel Wiegreffe (RNAturtle and RNApuzzler secondary structure layouts)

\item {} 
\sphinxAtStartPar
Andreas Gruber (first approach on RNALfold Z\sphinxhyphen{}score filtering)

\item {} 
\sphinxAtStartPar
Juraj Michalik (non\sphinxhyphen{}redundant Boltzmann sampling)

\item {} 
\sphinxAtStartPar
Gregor Entzian (neighbor, walk)

\item {} 
\sphinxAtStartPar
Mario Koestl (worked on SWIG interface and related unit testing)

\item {} 
\sphinxAtStartPar
Dominik Luntzer (pertubation fold)

\item {} 
\sphinxAtStartPar
Stefan Badelt (cofold evaluation, RNAdesign.pl, cofold findpath extensions)

\item {} 
\sphinxAtStartPar
Stefan Hammer (parts of SWIG interface and corresponding unit tests)

\item {} 
\sphinxAtStartPar
Ronny Lorenz (circfold, version 2.0, generic constraints, grammar extensions, and much more)

\item {} 
\sphinxAtStartPar
Hakim Tafer (RNAplex, RNAsnoop)

\item {} 
\sphinxAtStartPar
Ulrike Mueckstein (RNAup)

\item {} 
\sphinxAtStartPar
Stephan Bernhart (RNAcofold, RNAplfold, unpaired probabilities, alifold, and so many more)

\item {} 
\sphinxAtStartPar
Stefan Wuchty (RNAsubopt)

\item {} 
\sphinxAtStartPar
Ivo Hofacker, Peter Stadler, and Christoph Flamm (almost every implementation up to version 1.8.5)

\end{itemize}

\sphinxAtStartPar
We also want to thank the following people:
\begin{itemize}
\item {} 
\sphinxAtStartPar
Sebastian Bonhoeffer’s implementation of partition function folding served as a precursor to our part\_func.c

\item {} 
\sphinxAtStartPar
Manfred Tacker hacked constrained folding into fold.c for the first time

\item {} 
\sphinxAtStartPar
Martin Fekete made the first attempts at “alignment folding”

\item {} 
\sphinxAtStartPar
Andrea Tanzer and Martin Raden (Mann) for not stopping to report bugs found through comprehensive usage of our applications and RNAlib

\end{itemize}

\sphinxAtStartPar
Thanks also to everyone else who helped testing and finding bugs, especially
Christoph Flamm, Martijn Huynen, Baerbel Krakhofer, and many more.

\begin{sphinxthebibliography}{10}
\bibitem[1]{bibliography:id29}
\sphinxAtStartPar
Ronny Lorenz, Stephan H. Bernhart, Christian Höner zu Siederdissen, Hakim Tafer, Christoph Flamm, Peter F. Stadler, and Ivo L. Hofacker. ViennaRNA package 2.0. \sphinxstyleemphasis{Algorithms for Molecular Biology}, 6(1):26, 2011. \sphinxhref{https://doi.org/10.1186/1748-7188-6-26}{doi:10.1186/1748\sphinxhyphen{}7188\sphinxhyphen{}6\sphinxhyphen{}26}.
\bibitem[2]{bibliography:id19}
\sphinxAtStartPar
I.L. Hofacker, W. Fontana, P.F. Stadler, L.S. Bonhoeffer, M. Tacker, and P. Schuster. Fast folding and comparison of RNA secondary structures. \sphinxstyleemphasis{Monatshefte für Chemie/Chemical Monthly}, 125(2):167\textendash{}188, 1994. URL: \sphinxurl{https://www.academia.edu/download/48689421/Fast\_Folding\_and\_Comparison\_of\_RNA\_Secon20160908-13624-1yg70az.pdf}.
\bibitem[3]{bibliography:id20}
\sphinxAtStartPar
I.L. Hofacker, M. Fekete, and P.F. Stadler. Secondary structure prediction for aligned RNA sequences. \sphinxstyleemphasis{Journal of molecular biology}, 319(5):1059\textendash{}1066, 2002. \sphinxhref{https://doi.org/10.1016/S0022-2836(02)00308-X}{doi:10.1016/S0022\sphinxhyphen{}2836(02)00308\sphinxhyphen{}X}.
\bibitem[4]{bibliography:id22}
\sphinxAtStartPar
S.H. Bernhart, I.L. Hofacker, S. Will, A.R. Gruber, and P.F. Stadler. RNAalifold: improved consensus structure prediction for RNA alignments. \sphinxstyleemphasis{BMC bioinformatics}, 9(1):474, 2008. \sphinxhref{https://doi.org/10.1186/1471-2105-9-474}{doi:10.1186/1471\sphinxhyphen{}2105\sphinxhyphen{}9\sphinxhyphen{}474}.
\bibitem[5]{bibliography:id52}
\sphinxAtStartPar
Christine E Hajdin, Stanislav Bellaousov, Wayne Huggins, Christopher W Leonard, David H Mathews, and Kevin M Weeks. Accurate SHAPE\sphinxhyphen{}directed RNA secondary structure modeling, including pseudoknots. \sphinxstyleemphasis{Proceedings of the National Academy of Sciences}, 110(14):5498\textendash{}5503, 2013. \sphinxhref{https://doi.org/10.1073/pnas.1219988110}{doi:10.1073/pnas.1219988110}.
\bibitem[6]{bibliography:id53}
\sphinxAtStartPar
Robert D Jenison, Stanley C Gill, Arthur Pardi, and Barry Polisky. High\sphinxhyphen{}resolution molecular discrimination by RNA. \sphinxstyleemphasis{Science}, 263(5152):1425\textendash{}1429, 1994. \sphinxhref{https://doi.org/10.1126/science.7510417}{doi:10.1126/science.7510417}.
\bibitem[7]{bibliography:id54}
\sphinxAtStartPar
Amy YQ Zhang, Anthony Bugaut, and Shankar Balasubramanian. A sequence\sphinxhyphen{}independent analysis of the loop length dependence of intramolecular RNA G\sphinxhyphen{}quadruplex stability and topology. \sphinxstyleemphasis{Biochemistry}, 50(33):7251\textendash{}7258, 2011. \sphinxhref{https://doi.org/10.1021/bi200805j}{doi:10.1021/bi200805j}.
\bibitem[8]{bibliography:id55}
\sphinxAtStartPar
Robert A Forties and Ralf Bundschuh. Modeling the interplay of single\sphinxhyphen{}stranded binding proteins and nucleic acid secondary structure. \sphinxstyleemphasis{Bioinformatics}, 26(1):61\textendash{}67, 2010. \sphinxhref{https://doi.org/10.1093/bioinformatics/btp627}{doi:10.1093/bioinformatics/btp627}.
\bibitem[9]{bibliography:id7}
\sphinxAtStartPar
Stefan Washietl, Ivo L. Hofacker, Peter F. Stadler, and Manolis Kellis. RNA folding with soft constraints: reconciliation of probing data and thermodynamics secondary structure prediction. \sphinxstyleemphasis{Nucleic Acids Research}, 40(10):4261\textendash{}4272, 2012. \sphinxhref{https://doi.org/10.1093/nar/gks009}{doi:10.1093/nar/gks009}.
\bibitem[10]{bibliography:id33}
\sphinxAtStartPar
S. Wuchty, W. Fontana, I. L. Hofacker, and P. Schuster. Complete suboptimal folding of RNA and the stability of secondary structures. \sphinxstyleemphasis{Biopolymers}, 49(2):145\textendash{}165, February 1999. \sphinxhref{https://doi.org/10.1002/(SICI)1097-0282(199902)49:2\textless{}145::AID-BIP4\textgreater{}3.0.CO;2-G}{doi:10.1002/(SICI)1097\sphinxhyphen{}0282(199902)49:2\textless{}145::AID\sphinxhyphen{}BIP4\textgreater{}3.0.CO;2\sphinxhyphen{}G}.
\bibitem[11]{bibliography:id56}
\sphinxAtStartPar
Ye Ding and Charles E. Lawrence. A statistical sampling algorithm for RNA secondary structure prediction. \sphinxstyleemphasis{Nucleic Acids Research}, 31(24):7280\textendash{}7301, 12 2003. \sphinxhref{https://doi.org/10.1093/nar/gkg938}{doi:10.1093/nar/gkg938}.
\bibitem[12]{bibliography:id31}
\sphinxAtStartPar
Christoph Flamm, Ivo L Hofacker, Sebastian Maurer\sphinxhyphen{}Stroh, Peter F Stadler, and Martin Zehl. Design of multistable RNA molecules. \sphinxstyleemphasis{RNA}, 7(02):254\textendash{}265, 2001. \sphinxhref{https://doi.org/10.1017/s1355838201000863}{doi:10.1017/s1355838201000863}.
\bibitem[13]{bibliography:id30}
\sphinxAtStartPar
Ronny Lorenz, Christoph Flamm, and Ivo L. Hofacker. 2d projections of RNA folding landscapes. In Ivo Grosse, Steffen Neumann, Stefan Posch, Falk Schreiber, and Peter F. Stadler, editors, \sphinxstyleemphasis{German Conference on Bioinformatics 2009}, volume 157 of Lecture Notes in Informatics, 11\textendash{}20. Bonn, September 2009. Gesellschaft f. Informatik. URL: \sphinxurl{https://dl.gi.de/items/8f88acfe-c389-4dfe-b975-84a638900683}.
\bibitem[14]{bibliography:id42}
\sphinxAtStartPar
Robert Giegerich, Björn Voß, and Marc Rehmsmeier. Abstract shapes of RNA. \sphinxstyleemphasis{Nucleic Acids Research}, 32(16):4843\textendash{}4851, 2004. \sphinxhref{https://doi.org/10.1093/nar/gkh779}{doi:10.1093/nar/gkh779}.
\bibitem[15]{bibliography:id25}
\sphinxAtStartPar
W. Fontana, P.F. Stadler, E.G. Bornberg\sphinxhyphen{}Bauer, T. Griesmacher, I.L. Hofacker, M. Tacker, P. Tarazona, E.D. Weinberger, and P. Schuster. RNA folding and combinatory landscapes. \sphinxstyleemphasis{Physical review E}, 47(3):2083, 1993. \sphinxhref{https://doi.org/10.1103/PhysRevE.47.2083}{doi:10.1103/PhysRevE.47.2083}.
\bibitem[16]{bibliography:id27}
\sphinxAtStartPar
B.A. Shapiro. An algorithm for comparing multiple RNA secondary structures. \sphinxstyleemphasis{Computer applications in the biosciences: CABIOS}, 4(3):387\textendash{}393, 1988. \sphinxhref{https://doi.org/10.1093/bioinformatics/4.3.387}{doi:10.1093/bioinformatics/4.3.387}.
\bibitem[17]{bibliography:id51}
\sphinxAtStartPar
Thomas R Einert and Roland R Netz. Theory for RNA folding, stretching, and melting including loops and salt. \sphinxstyleemphasis{Biophysical journal}, 100(11):2745\textendash{}2753, 2011. \sphinxhref{https://doi.org/10.1016/j.bpj.2011.04.038}{doi:10.1016/j.bpj.2011.04.038}.
\bibitem[18]{bibliography:id34}
\sphinxAtStartPar
Ronny Lorenz, Ivo L. Hofacker, and Peter F. Stadler. RNA folding with hard and soft constraints. \sphinxstyleemphasis{Algorithms for Molecular Biology}, 11(1):1\textendash{}13, 2016. \sphinxhref{https://doi.org/10.1186/s13015-016-0070-z}{doi:10.1186/s13015\sphinxhyphen{}016\sphinxhyphen{}0070\sphinxhyphen{}z}.
\bibitem[19]{bibliography:id2}
\sphinxAtStartPar
M. Zuker and P. Stiegler. Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information. \sphinxstyleemphasis{Nucleic acids research}, 9(1):133\textendash{}148, 1981. \sphinxhref{https://doi.org/10.1093/nar/9.1.133}{doi:10.1093/nar/9.1.133}.
\bibitem[20]{bibliography:id21}
\sphinxAtStartPar
I.L. Hofacker and P.F. Stadler. Memory efficient folding algorithms for circular RNA secondary structures. \sphinxstyleemphasis{Bioinformatics}, 22(10):1172\textendash{}1176, 2006. \sphinxhref{https://doi.org/10.1093/bioinformatics/btl023}{doi:10.1093/bioinformatics/btl023}.
\bibitem[21]{bibliography:id3}
\sphinxAtStartPar
J.S. McCaskill. The equilibrium partition function and base pair binding probabilities for RNA secondary structure. \sphinxstyleemphasis{Biopolymers}, 29(6\sphinxhyphen{}7):1105\textendash{}1119, 1990. \sphinxhref{https://doi.org/10.1002/bip.360290621}{doi:10.1002/bip.360290621}.
\bibitem[22]{bibliography:id38}
\sphinxAtStartPar
Stephan H Bernhart, Ivo L Hofacker, and Peter F Stadler. Local RNA base pairing probabilities in large sequences. \sphinxstyleemphasis{Bioinformatics}, 22(5):614\textendash{}615, 2005. \sphinxhref{https://doi.org/10.1093/bioinformatics/btk014}{doi:10.1093/bioinformatics/btk014}.
\bibitem[23]{bibliography:id37}
\sphinxAtStartPar
Stephan H Bernhart, Ullrike Mückstein, and Ivo L Hofacker. RNA accessibility in cubic time. \sphinxstyleemphasis{Algorithms for Molecular Biology}, 6(1):3, 2011. \sphinxhref{https://doi.org/10.1186/1748-7188-6-3}{doi:10.1186/1748\sphinxhyphen{}7188\sphinxhyphen{}6\sphinxhyphen{}3}.
\bibitem[24]{bibliography:id32}
\sphinxAtStartPar
M. Zuker. On finding all suboptimal foldings of an RNA molecule. \sphinxstyleemphasis{Science}, 244(4900):48\textendash{}52, April 1989. \sphinxhref{https://doi.org/10.1126/science.2468181}{doi:10.1126/science.2468181}.
\bibitem[25]{bibliography:id57}
\sphinxAtStartPar
G Steger, H Hofmann, J Förtsch, HJ Gross, JW Randies, HL Sänger, and D Riesner. Conformational transitions in viroids and virusoids: comparison of results from energy minimization algorithm and from experimental data. \sphinxstyleemphasis{Journal of Biomolecular Structure and Dynamics}, 2(3):543\textendash{}571, 1984. \sphinxhref{https://doi.org/10.1080/07391102.1984.10507591}{doi:10.1080/07391102.1984.10507591}.
\bibitem[26]{bibliography:id40}
\sphinxAtStartPar
Juraj Michálik, Hélène Touzet, and Yann Ponty. Efficient approximations of RNA kinetics landscape using non\sphinxhyphen{}redundant sampling. \sphinxstyleemphasis{Bioinformatics}, 33(14):i283\textendash{}i292, 2017. \sphinxhref{https://doi.org/10.1093/bioinformatics/btx269}{doi:10.1093/bioinformatics/btx269}.
\bibitem[27]{bibliography:id23}
\sphinxAtStartPar
S.H. Bernhart, H. Tafer, U. Mückstein, C. Flamm, P.F. Stadler, and I.L. Hofacker. Partition function and base pairing probabilities of RNA heterodimers. \sphinxstyleemphasis{Algorithms for Molecular Biology}, 1(1):3, 2006. \sphinxhref{https://doi.org/10.1186/1748-7188-1-3}{doi:10.1186/1748\sphinxhyphen{}7188\sphinxhyphen{}1\sphinxhyphen{}3}.
\bibitem[28]{bibliography:id5}
\sphinxAtStartPar
Katherine E. Deigan, Tian W. Li, David H. Mathews, and Kevin M. Weeks. Accurate SHAPE\sphinxhyphen{}directed RNA structure determination. \sphinxstyleemphasis{PNAS}, 106:97\textendash{}102, 2009. \sphinxhref{https://doi.org/10.1073/pnas.080692910}{doi:10.1073/pnas.080692910}.
\bibitem[29]{bibliography:id6}
\sphinxAtStartPar
Kourosh Zarringhalam, Michelle M. Meyer, Ivan Dotu, Jeffrey H. Chuang, and Peter Clote. Integrating chemical footprinting data into RNA secondary structure prediction. \sphinxstyleemphasis{PLOS ONE}, 2012. \sphinxhref{https://doi.org/10.1371/journal.pone.0045160}{doi:10.1371/journal.pone.0045160}.
\bibitem[30]{bibliography:id60}
\sphinxAtStartPar
Sean R Eddy. Computational analysis of conserved rna secondary structure in transcriptomes and genomes. \sphinxstyleemphasis{Annual review of biophysics}, 43:433\textendash{}456, 2014. \sphinxhref{https://doi.org/10.1146/annurev-biophys-051013-022950}{doi:10.1146/annurev\sphinxhyphen{}biophys\sphinxhyphen{}051013\sphinxhyphen{}022950}.
\bibitem[31]{bibliography:id61}
\sphinxAtStartPar
Fei Deng, Mirko Ledda, Sana Vaziri, and Sharon Aviran. Data\sphinxhyphen{}directed RNA secondary structure prediction using probabilistic modeling. \sphinxstyleemphasis{RNA}, 22(8):1109\textendash{}1119, 2016. \sphinxhref{https://doi.org/10.1261/rna.055756.115}{doi:10.1261/rna.055756.115}.
\bibitem[32]{bibliography:id35}
\sphinxAtStartPar
Ronny Lorenz, Dominik Luntzer, Ivo L. Hofacker, Peter F. Stadler, and Michael T. Wolfinger. Shape directed rna folding. \sphinxstyleemphasis{Bioinformatics}, 32(1):145\textendash{}147, 2016. \sphinxhref{https://doi.org/10.1093/bioinformatics/btv523}{doi:10.1093/bioinformatics/btv523}.
\bibitem[33]{bibliography:id50}
\sphinxAtStartPar
Pietro Boccaletto, Filip Stefaniak, Angana Ray, Andrea Cappannini, Sunandan Mukherjee, Elżbieta Purta, Małgorzata Kurkowska, Niloofar Shirvanizadeh, Eliana Destefanis, Paula Groza, and others. MODOMICS: a database of RNA modification pathways. 2021 update. \sphinxstyleemphasis{Nucleic Acids Research}, 50(D1):D231\textendash{}D235, 2022. \sphinxhref{https://doi.org/10.1093/nar/gkab1083}{doi:10.1093/nar/gkab1083}.
\bibitem[34]{bibliography:id44}
\sphinxAtStartPar
Elzbieta Kierzek, Xiaoju Zhang, Richard M Watson, Scott D Kennedy, Marta Szabat, Ryszard Kierzek, and David H Mathews. Secondary structure prediction for RNA sequences including N6\sphinxhyphen{}methyladenosine. \sphinxstyleemphasis{Nature communications}, 13(1):1\textendash{}10, 2022. \sphinxhref{https://doi.org/10.1038/s41467-022-28817-4}{doi:10.1038/s41467\sphinxhyphen{}022\sphinxhyphen{}28817\sphinxhyphen{}4}.
\bibitem[35]{bibliography:id43}
\sphinxAtStartPar
Graham A Hudson, Richard J Bloomingdale, and Brent M Znosko. Thermodynamic contribution and nearest\sphinxhyphen{}neighbor parameters of pseudouridine\sphinxhyphen{}adenosine base pairs in oligoribonucleotides. \sphinxstyleemphasis{RNA}, 19(11):1474\textendash{}1482, 2013. \sphinxhref{https://doi.org/10.1261/rna.039610.113}{doi:10.1261/rna.039610.113}.
\bibitem[36]{bibliography:id45}
\sphinxAtStartPar
Daniel J Wright, Jamie L Rice, Dawn M Yanker, and Brent M Znosko. Nearest Neighbor Parameters for Inosine· Uridine Pairs in RNA Duplexes. \sphinxstyleemphasis{Biochemistry}, 46(15):4625\textendash{}4634, 2007. \sphinxhref{https://doi.org/10.1021/bi0616910}{doi:10.1021/bi0616910}.
\bibitem[37]{bibliography:id46}
\sphinxAtStartPar
Daniel J Wright, Christopher R Force, and Brent M Znosko. Stability of RNA duplexes containing inosine· cytosine pairs. \sphinxstyleemphasis{Nucleic Acids Research}, 46(22):12099\textendash{}12108, 2018. \sphinxhref{https://doi.org/10.1093/nar/gky907}{doi:10.1093/nar/gky907}.
\bibitem[38]{bibliography:id47}
\sphinxAtStartPar
Katherine E Richardson and Brent M Znosko. Nearest\sphinxhyphen{}neighbor parameters for 7\sphinxhyphen{}deaza\sphinxhyphen{}adenosine· uridine base pairs in RNA duplexes. \sphinxstyleemphasis{RNA}, 22(6):934\textendash{}942, 2016. \sphinxhref{https://doi.org/10.1261/rna.055277.115}{doi:10.1261/rna.055277.115}.
\bibitem[39]{bibliography:id48}
\sphinxAtStartPar
Elizabeth A Jolley and Brent M Znosko. The loss of a hydrogen bond: Thermodynamic contributions of a non\sphinxhyphen{}standard nucleotide. \sphinxstyleemphasis{Nucleic acids research}, 45(3):1479\textendash{}1487, 2017. \sphinxhref{https://doi.org/10.1093/nar/gkw830}{doi:10.1093/nar/gkw830}.
\bibitem[40]{bibliography:id39}
\sphinxAtStartPar
Eva Freyhult, Vincent Moulton, and Paul Gardner. Predicting RNA structure using mutual information. \sphinxstyleemphasis{Applied bioinformatics}, 4(1):53\textendash{}59, 2005. \sphinxhref{https://doi.org/10.2165/00822942-200504010-00006}{doi:10.2165/00822942\sphinxhyphen{}200504010\sphinxhyphen{}00006}.
\bibitem[41]{bibliography:id41}
\sphinxAtStartPar
Daniel Wiegreffe, Daniel Alexander, Peter F Stadler, and Dirk Zeckzer. RNApuzzler: efficient outerplanar drawing of RNA\sphinxhyphen{}secondary structures. \sphinxstyleemphasis{Bioinformatics}, 35(8):1342\textendash{}1349, 2019. \sphinxhref{https://doi.org/10.1093/bioinformatics/bty817}{doi:10.1093/bioinformatics/bty817}.
\bibitem[42]{bibliography:id15}
\sphinxAtStartPar
R.E. Bruccoleri and G. Heinrich. An improved algorithm for nucleic acid secondary structure display. \sphinxstyleemphasis{Computer applications in the biosciences: CABIOS}, 4(1):167\textendash{}173, 1988. \sphinxhref{https://doi.org/10.1093/bioinformatics/4.1.167}{doi:10.1093/bioinformatics/4.1.167}.
\bibitem[43]{bibliography:id36}
\sphinxAtStartPar
Joe Sawada. A fast algorithm to generate necklaces with fixed content. \sphinxstyleemphasis{Theoretical Computer Science}, 301(1):477\textendash{}489, 2003. \sphinxhref{https://doi.org/10.1016/S0304-3975(03)00049-5}{doi:10.1016/S0304\sphinxhyphen{}3975(03)00049\sphinxhyphen{}5}.
\end{sphinxthebibliography}


\renewcommand{\indexname}{Python Module Index}
\begin{sphinxtheindex}
\let\bigletter\sphinxstyleindexlettergroup
\bigletter{r}
\item\relax\sphinxstyleindexentry{RNA}\sphinxstyleindexpageref{api_python:\detokenize{module-RNA}}
\end{sphinxtheindex}

\renewcommand{\indexname}{Index}
\printindex
\end{document}