1\hypertarget{group__eval__loops__ext}{}\doxysection{Exterior Loops} 2\label{group__eval__loops__ext}\index{Exterior Loops@{Exterior Loops}} 3 4 5Functions to evaluate the free energy contributions for exterior loops. 6 7 8 9 10\doxysubsection{Detailed Description} 11Functions to evaluate the free energy contributions for exterior loops. 12 13Collaboration diagram for Exterior Loops\+: 14\nopagebreak 15\begin{figure}[H] 16\begin{center} 17\leavevmode 18\includegraphics[width=350pt]{group__eval__loops__ext} 19\end{center} 20\end{figure} 21\doxysubsection*{Files} 22\begin{DoxyCompactItemize} 23\item 24file \mbox{\hyperlink{external_8h}{external.\+h}} 25\begin{DoxyCompactList}\small\item\em Energy evaluation of exterior loops for MFE and partition function calculations. \end{DoxyCompactList}\end{DoxyCompactItemize} 26\doxysubsection*{Boltzmann weight (partition function) interface} 27\begin{DoxyCompactItemize} 28\item 29typedef struct vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+s $\ast$ \mbox{\hyperlink{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}{vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+t}} 30\begin{DoxyCompactList}\small\item\em Auxiliary helper arrays for fast exterior loop computations. \end{DoxyCompactList}\item 31\mbox{\hyperlink{group__data__structures_ga31125aeace516926bf7f251f759b6126}{FLT\+\_\+\+OR\+\_\+\+DBL}} \mbox{\hyperlink{group__eval__loops__ext_ga357484958d3cd677f88f16c75c8a5730}{vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+stem}} (unsigned int type, int n5d, int n3d, \mbox{\hyperlink{group__energy__parameters_ga01d8b92fe734df8d79a6169482c7d8d8}{vrna\+\_\+exp\+\_\+param\+\_\+t}} $\ast$p) 32\begin{DoxyCompactList}\small\item\em Evaluate a stem branching off the exterior loop (Boltzmann factor version) \end{DoxyCompactList}\item 33\mbox{\Hypertarget{group__eval__loops__ext_ga88bf7b86f25fff9d828008df48779539}\label{group__eval__loops__ext_ga88bf7b86f25fff9d828008df48779539}} 34\mbox{\hyperlink{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}{vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+t}} {\bfseries vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast\+\_\+init} (\mbox{\hyperlink{group__fold__compound_ga1b0cef17fd40466cef5968eaeeff6166}{vrna\+\_\+fold\+\_\+compound\+\_\+t}} $\ast$fc) 35\item 36\mbox{\Hypertarget{group__eval__loops__ext_ga560d6123a175af3c8fb668885da8b78c}\label{group__eval__loops__ext_ga560d6123a175af3c8fb668885da8b78c}} 37void {\bfseries vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast\+\_\+rotate} (\mbox{\hyperlink{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}{vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+t}} aux\+\_\+mx) 38\item 39\mbox{\Hypertarget{group__eval__loops__ext_ga90c23338dfb678853d34e4ca91cda370}\label{group__eval__loops__ext_ga90c23338dfb678853d34e4ca91cda370}} 40void {\bfseries vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast\+\_\+free} (\mbox{\hyperlink{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}{vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+t}} aux\+\_\+mx) 41\item 42\mbox{\Hypertarget{group__eval__loops__ext_ga1522bbee3c068632367decfcdbeeeb74}\label{group__eval__loops__ext_ga1522bbee3c068632367decfcdbeeeb74}} 43\mbox{\hyperlink{group__data__structures_ga31125aeace516926bf7f251f759b6126}{FLT\+\_\+\+OR\+\_\+\+DBL}} {\bfseries vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast} (\mbox{\hyperlink{group__fold__compound_ga1b0cef17fd40466cef5968eaeeff6166}{vrna\+\_\+fold\+\_\+compound\+\_\+t}} $\ast$fc, int i, int j, \mbox{\hyperlink{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}{vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+t}} aux\+\_\+mx) 44\item 45\mbox{\Hypertarget{group__eval__loops__ext_gaf371b09437ca36067620b9bab14baa86}\label{group__eval__loops__ext_gaf371b09437ca36067620b9bab14baa86}} 46void {\bfseries vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast\+\_\+update} (\mbox{\hyperlink{group__fold__compound_ga1b0cef17fd40466cef5968eaeeff6166}{vrna\+\_\+fold\+\_\+compound\+\_\+t}} $\ast$fc, int j, \mbox{\hyperlink{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}{vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+t}} aux\+\_\+mx) 47\end{DoxyCompactItemize} 48\doxysubsection*{Basic free energy interface} 49\begin{DoxyCompactItemize} 50\item 51int \mbox{\hyperlink{group__eval__loops__ext_gaa0c313c90da11aa741dcd62746d85337}{vrna\+\_\+\+E\+\_\+ext\+\_\+stem}} (unsigned int type, int n5d, int n3d, \mbox{\hyperlink{group__energy__parameters_ga8a69ca7d787e4fd6079914f5343a1f35}{vrna\+\_\+param\+\_\+t}} $\ast$p) 52\begin{DoxyCompactList}\small\item\em Evaluate a stem branching off the exterior loop. \end{DoxyCompactList}\item 53int \mbox{\hyperlink{group__eval__loops__ext_gace51f32d5b34b7003b51c948afc6c207}{vrna\+\_\+\+E\+\_\+ext\+\_\+loop}} (\mbox{\hyperlink{group__fold__compound_ga1b0cef17fd40466cef5968eaeeff6166}{vrna\+\_\+fold\+\_\+compound\+\_\+t}} $\ast$fc, int i, int j) 54\begin{DoxyCompactList}\small\item\em Evaluate the free energy of a base pair in the exterior loop. \end{DoxyCompactList}\item 55\mbox{\Hypertarget{group__eval__loops__ext_gad26689b27fcaab5a1dcbd0d37d27ad5f}\label{group__eval__loops__ext_gad26689b27fcaab5a1dcbd0d37d27ad5f}} 56int {\bfseries vrna\+\_\+\+E\+\_\+ext\+\_\+loop\+\_\+5} (\mbox{\hyperlink{group__fold__compound_ga1b0cef17fd40466cef5968eaeeff6166}{vrna\+\_\+fold\+\_\+compound\+\_\+t}} $\ast$fc) 57\item 58\mbox{\Hypertarget{group__eval__loops__ext_ga6e57363a8ff3597cc69181c33fbb8196}\label{group__eval__loops__ext_ga6e57363a8ff3597cc69181c33fbb8196}} 59int {\bfseries vrna\+\_\+\+E\+\_\+ext\+\_\+loop\+\_\+3} (\mbox{\hyperlink{group__fold__compound_ga1b0cef17fd40466cef5968eaeeff6166}{vrna\+\_\+fold\+\_\+compound\+\_\+t}} $\ast$fc, int i) 60\end{DoxyCompactItemize} 61 62 63\doxysubsection{Typedef Documentation} 64\mbox{\Hypertarget{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}\label{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}} 65\index{Exterior Loops@{Exterior Loops}!vrna\_mx\_pf\_aux\_el\_t@{vrna\_mx\_pf\_aux\_el\_t}} 66\index{vrna\_mx\_pf\_aux\_el\_t@{vrna\_mx\_pf\_aux\_el\_t}!Exterior Loops@{Exterior Loops}} 67\doxysubsubsection{\texorpdfstring{vrna\_mx\_pf\_aux\_el\_t}{vrna\_mx\_pf\_aux\_el\_t}} 68{\footnotesize\ttfamily typedef struct vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+s$\ast$ \mbox{\hyperlink{group__eval__loops__ext_gaf9d5160c11ffad3ec258124a77fee13c}{vrna\+\_\+mx\+\_\+pf\+\_\+aux\+\_\+el\+\_\+t}}} 69 70 71 72{\ttfamily \#include $<$\mbox{\hyperlink{external_8h}{Vienna\+RNA/loops/external.\+h}}$>$} 73 74 75 76Auxiliary helper arrays for fast exterior loop computations. 77 78\begin{DoxySeeAlso}{See also} 79vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast\+\_\+init(), vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast\+\_\+rotate(), vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast\+\_\+free(), vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+fast() 80\end{DoxySeeAlso} 81 82 83\doxysubsection{Function Documentation} 84\mbox{\Hypertarget{group__eval__loops__ext_gaa0c313c90da11aa741dcd62746d85337}\label{group__eval__loops__ext_gaa0c313c90da11aa741dcd62746d85337}} 85\index{Exterior Loops@{Exterior Loops}!vrna\_E\_ext\_stem@{vrna\_E\_ext\_stem}} 86\index{vrna\_E\_ext\_stem@{vrna\_E\_ext\_stem}!Exterior Loops@{Exterior Loops}} 87\doxysubsubsection{\texorpdfstring{vrna\_E\_ext\_stem()}{vrna\_E\_ext\_stem()}} 88{\footnotesize\ttfamily int vrna\+\_\+\+E\+\_\+ext\+\_\+stem (\begin{DoxyParamCaption}\item[{unsigned int}]{type, }\item[{int}]{n5d, }\item[{int}]{n3d, }\item[{\mbox{\hyperlink{group__energy__parameters_ga8a69ca7d787e4fd6079914f5343a1f35}{vrna\+\_\+param\+\_\+t}} $\ast$}]{p }\end{DoxyParamCaption})} 89 90 91 92{\ttfamily \#include $<$\mbox{\hyperlink{external_8h}{Vienna\+RNA/loops/external.\+h}}$>$} 93 94 95 96Evaluate a stem branching off the exterior loop. 97 98Given a base pair $(i,j)$ encoded by {\itshape type}, compute the energy contribution including dangling-\/end/terminal-\/mismatch contributions. Instead of returning the energy contribution per-\/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$. 99 100\begin{DoxySeeAlso}{See also} 101vrna\+\_\+\+E\+\_\+exp\+\_\+stem() 102\end{DoxySeeAlso} 103 104\begin{DoxyParams}{Parameters} 105{\em type} & The base pair encoding \\ 106\hline 107{\em n5d} & The encoded nucleotide directly adjacent at the 5\textquotesingle{} side of the base pair (may be -\/1) \\ 108\hline 109{\em n3d} & The encoded nucleotide directly adjacent at the 3\textquotesingle{} side of the base pair (may be -\/1) \\ 110\hline 111{\em p} & The pre-\/computed energy parameters \\ 112\hline 113\end{DoxyParams} 114\begin{DoxyReturn}{Returns} 115The energy contribution of the introduced exterior-\/loop stem 116\end{DoxyReturn} 117\mbox{\Hypertarget{group__eval__loops__ext_gace51f32d5b34b7003b51c948afc6c207}\label{group__eval__loops__ext_gace51f32d5b34b7003b51c948afc6c207}} 118\index{Exterior Loops@{Exterior Loops}!vrna\_E\_ext\_loop@{vrna\_E\_ext\_loop}} 119\index{vrna\_E\_ext\_loop@{vrna\_E\_ext\_loop}!Exterior Loops@{Exterior Loops}} 120\doxysubsubsection{\texorpdfstring{vrna\_E\_ext\_loop()}{vrna\_E\_ext\_loop()}} 121{\footnotesize\ttfamily int vrna\+\_\+\+E\+\_\+ext\+\_\+loop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__fold__compound_ga1b0cef17fd40466cef5968eaeeff6166}{vrna\+\_\+fold\+\_\+compound\+\_\+t}} $\ast$}]{fc, }\item[{int}]{i, }\item[{int}]{j }\end{DoxyParamCaption})} 122 123 124 125{\ttfamily \#include $<$\mbox{\hyperlink{external_8h}{Vienna\+RNA/loops/external.\+h}}$>$} 126 127 128 129Evaluate the free energy of a base pair in the exterior loop. 130 131Evalue the free energy of a base pair connecting two nucleotides in the exterior loop and take hard constraints into account. 132 133Typically, this is simply dangling end contributions of the adjacent nucleotides, potentially a terminal A-\/U mismatch penalty, and maybe some generic soft constraint contribution for that decomposition. 134 135\begin{DoxyNote}{Note} 136For dangles == 1 $\vert$$\vert$ 3 this function also evaluates the three additional pairs (i + 1, j), (i, j -\/ 1), and (i + 1, j -\/ 1) and returns the minimum for all four possibilities in total. 137\end{DoxyNote} 138 139\begin{DoxyParams}{Parameters} 140{\em fc} & Fold compound to work on (defines the model and parameters) \\ 141\hline 142{\em i} & 5\textquotesingle{} position of the base pair \\ 143\hline 144{\em j} & 3\textquotesingle{} position of the base pair \\ 145\hline 146\end{DoxyParams} 147\begin{DoxyReturn}{Returns} 148Free energy contribution that arises when this pair is formed in the exterior loop 149\end{DoxyReturn} 150\mbox{\Hypertarget{group__eval__loops__ext_ga357484958d3cd677f88f16c75c8a5730}\label{group__eval__loops__ext_ga357484958d3cd677f88f16c75c8a5730}} 151\index{Exterior Loops@{Exterior Loops}!vrna\_exp\_E\_ext\_stem@{vrna\_exp\_E\_ext\_stem}} 152\index{vrna\_exp\_E\_ext\_stem@{vrna\_exp\_E\_ext\_stem}!Exterior Loops@{Exterior Loops}} 153\doxysubsubsection{\texorpdfstring{vrna\_exp\_E\_ext\_stem()}{vrna\_exp\_E\_ext\_stem()}} 154{\footnotesize\ttfamily \mbox{\hyperlink{group__data__structures_ga31125aeace516926bf7f251f759b6126}{FLT\+\_\+\+OR\+\_\+\+DBL}} vrna\+\_\+exp\+\_\+\+E\+\_\+ext\+\_\+stem (\begin{DoxyParamCaption}\item[{unsigned int}]{type, }\item[{int}]{n5d, }\item[{int}]{n3d, }\item[{\mbox{\hyperlink{group__energy__parameters_ga01d8b92fe734df8d79a6169482c7d8d8}{vrna\+\_\+exp\+\_\+param\+\_\+t}} $\ast$}]{p }\end{DoxyParamCaption})} 155 156 157 158{\ttfamily \#include $<$\mbox{\hyperlink{external_8h}{Vienna\+RNA/loops/external.\+h}}$>$} 159 160 161 162Evaluate a stem branching off the exterior loop (Boltzmann factor version) 163 164Given a base pair $(i,j)$ encoded by {\itshape type}, compute the energy contribution including dangling-\/end/terminal-\/mismatch contributions. Instead of returning the energy contribution per-\/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$. 165 166\begin{DoxySeeAlso}{See also} 167\mbox{\hyperlink{group__eval__loops__ext_gaa0c313c90da11aa741dcd62746d85337}{vrna\+\_\+\+E\+\_\+ext\+\_\+stem()}} 168\end{DoxySeeAlso} 169 170\begin{DoxyParams}{Parameters} 171{\em type} & The base pair encoding \\ 172\hline 173{\em n5d} & The encoded nucleotide directly adjacent at the 5\textquotesingle{} side of the base pair (may be -\/1) \\ 174\hline 175{\em n3d} & The encoded nucleotide directly adjacent at the 3\textquotesingle{} side of the base pair (may be -\/1) \\ 176\hline 177{\em p} & The pre-\/computed energy parameters (Boltzmann factor version) \\ 178\hline 179\end{DoxyParams} 180\begin{DoxyReturn}{Returns} 181The Boltzmann weighted energy contribution of the introduced exterior-\/loop stem 182\end{DoxyReturn} 183