X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=binaries%2Fsrc%2FViennaRNA%2Fdoc%2Flatex%2Fgroup__pf__cofold.tex;fp=binaries%2Fsrc%2FViennaRNA%2Fdoc%2Flatex%2Fgroup__pf__cofold.tex;h=02dfe64aaa437fb56caf5e3f2aa2a5a622b27c81;hb=6ccf6e7acc4d35484ae6ad0f03d22c19b8ce63fc;hp=0000000000000000000000000000000000000000;hpb=f96c106fc2e76aff65de8adebdd31069fe3a1a05;p=jabaws.git diff --git a/binaries/src/ViennaRNA/doc/latex/group__pf__cofold.tex b/binaries/src/ViennaRNA/doc/latex/group__pf__cofold.tex new file mode 100644 index 0000000..02dfe64 --- /dev/null +++ b/binaries/src/ViennaRNA/doc/latex/group__pf__cofold.tex @@ -0,0 +1,262 @@ +\hypertarget{group__pf__cofold}{\section{Partition Function for two hybridized Sequences} +\label{group__pf__cofold}\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +} + + +Partition Function Cofolding. + + +Collaboration diagram for Partition Function for two hybridized Sequences\-: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{group__pf__cofold} +\end{center} +\end{figure} +\subsection*{Files} +\begin{DoxyCompactItemize} +\item +file \hyperlink{part__func__co_8h}{part\-\_\-func\-\_\-co.\-h} +\begin{DoxyCompactList}\small\item\em Partition function for two R\-N\-A sequences. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{structcofoldF}{cofold\-F} \hyperlink{group__pf__cofold_gaa86a5f998789ed71813d23d7307a791b}{co\-\_\-pf\-\_\-fold} (char $\ast$sequence, char $\ast$structure) +\begin{DoxyCompactList}\small\item\em Calculate partition function and base pair probabilities. \end{DoxyCompactList}\item +\hyperlink{structcofoldF}{cofold\-F} \hyperlink{group__pf__cofold_gabd873b450832ab5f21101fc5ab354d21}{co\-\_\-pf\-\_\-fold\-\_\-par} (char $\ast$sequence, char $\ast$structure, \hyperlink{structpf__paramT}{pf\-\_\-param\-T} $\ast$parameters, int calculate\-\_\-bppm, int is\-\_\-constrained) +\begin{DoxyCompactList}\small\item\em Calculate partition function and base pair probabilities. \end{DoxyCompactList}\item +double $\ast$ \hyperlink{group__pf__cofold_ga11f0252c1d2c4697253ff4b5bd392d3c}{export\-\_\-co\-\_\-bppm} (void) +\begin{DoxyCompactList}\small\item\em Get a pointer to the base pair probability array. \end{DoxyCompactList}\item +\hypertarget{group__pf__cofold_gade3ce34ae8214811374b1d28a40dc247}{void \hyperlink{group__pf__cofold_gade3ce34ae8214811374b1d28a40dc247}{free\-\_\-co\-\_\-pf\-\_\-arrays} (void)}\label{group__pf__cofold_gade3ce34ae8214811374b1d28a40dc247} + +\begin{DoxyCompactList}\small\item\em Free the memory occupied by \hyperlink{group__pf__cofold_gaa86a5f998789ed71813d23d7307a791b}{co\-\_\-pf\-\_\-fold()} \end{DoxyCompactList}\item +void \hyperlink{group__pf__cofold_ga6e0f36c1f9b7d9dd4bfbad914c1119e5}{update\-\_\-co\-\_\-pf\-\_\-params} (int length) +\begin{DoxyCompactList}\small\item\em Recalculate energy parameters. \end{DoxyCompactList}\item +void \hyperlink{group__pf__cofold_ga117d880df45bef444d5e2785ffa40a53}{update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par} (int length, \hyperlink{structpf__paramT}{pf\-\_\-param\-T} $\ast$parameters) +\begin{DoxyCompactList}\small\item\em Recalculate energy parameters. \end{DoxyCompactList}\item +void \hyperlink{group__pf__cofold_ga15ae04ac5ab84e876dcf0093120cb617}{compute\-\_\-probabilities} (double F\-A\-B, double F\-E\-A, double F\-E\-B, struct \hyperlink{structplist}{plist} $\ast$pr\-A\-B, struct \hyperlink{structplist}{plist} $\ast$pr\-A, struct \hyperlink{structplist}{plist} $\ast$pr\-B, int Alength) +\begin{DoxyCompactList}\small\item\em Compute Boltzmann probabilities of dimerization without homodimers. \end{DoxyCompactList}\item +\hyperlink{structConcEnt}{Conc\-Ent} $\ast$ \hyperlink{group__pf__cofold_ga5545cb936ac4ff93c7d699d46e72e8c7}{get\-\_\-concentrations} (double F\-E\-A\-B, double F\-E\-A\-A, double F\-E\-B\-B, double F\-E\-A, double F\-E\-B, double $\ast$startconc) +\begin{DoxyCompactList}\small\item\em Given two start monomer concentrations a and b, compute the concentrations in thermodynamic equilibrium of all dimers and the monomers. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Variables} +\begin{DoxyCompactItemize} +\item +\hypertarget{group__pf__cofold_gaff27888c4088cc1f60fd59cbd589474c}{int \hyperlink{group__pf__cofold_gaff27888c4088cc1f60fd59cbd589474c}{mirnatog}}\label{group__pf__cofold_gaff27888c4088cc1f60fd59cbd589474c} + +\begin{DoxyCompactList}\small\item\em Toggles no intrabp in 2nd mol. \end{DoxyCompactList}\item +\hypertarget{group__pf__cofold_gac2d1851a710a8561390861155ca988fe}{double \hyperlink{group__pf__cofold_gac2d1851a710a8561390861155ca988fe}{F\-\_\-monomer} \mbox{[}2\mbox{]}}\label{group__pf__cofold_gac2d1851a710a8561390861155ca988fe} + +\begin{DoxyCompactList}\small\item\em Free energies of the two monomers. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +Partition Function Cofolding. 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\cite{bernhart:2006} for further details. + +\subsection{Function Documentation} +\hypertarget{group__pf__cofold_gaa86a5f998789ed71813d23d7307a791b}{\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}!co\-\_\-pf\-\_\-fold@{co\-\_\-pf\-\_\-fold}} +\index{co\-\_\-pf\-\_\-fold@{co\-\_\-pf\-\_\-fold}!Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +\subsubsection[{co\-\_\-pf\-\_\-fold}]{\setlength{\rightskip}{0pt plus 5cm}{\bf cofold\-F} co\-\_\-pf\-\_\-fold ( +\begin{DoxyParamCaption} +\item[{char $\ast$}]{sequence, } +\item[{char $\ast$}]{structure} +\end{DoxyParamCaption} +)}}\label{group__pf__cofold_gaa86a5f998789ed71813d23d7307a791b} + + +Calculate partition function and base pair probabilities. + +This is the cofold partition function folding. The second molecule starts at the \hyperlink{fold__vars_8h_ab9b2c3a37a5516614c06d0ab54b97cda}{cut\-\_\-point} nucleotide. + +\begin{DoxyNote}{Note} +Open\-M\-P\-: Since this function relies on the global parameters \hyperlink{fold__vars_8h_ad512b5dd4dbec60faccfe137bb474489}{do\-\_\-backtrack}, \hyperlink{fold__vars_8h_a72b511ed1201f7e23ec437e468790d74}{dangles}, \hyperlink{fold__vars_8h_ab4b11c8d9c758430960896bc3fe82ead}{temperature} and \hyperlink{fold__vars_8h_ad3b22044065acc6dee0af68931b52cfd}{pf\-\_\-scale} it is not threadsafe according to concurrent changes in these variables! Use \hyperlink{group__pf__cofold_gabd873b450832ab5f21101fc5ab354d21}{co\-\_\-pf\-\_\-fold\-\_\-par()} instead to circumvent this issue. +\end{DoxyNote} +\begin{DoxySeeAlso}{See Also} +\hyperlink{group__pf__cofold_gabd873b450832ab5f21101fc5ab354d21}{co\-\_\-pf\-\_\-fold\-\_\-par()} +\end{DoxySeeAlso} + +\begin{DoxyParams}{Parameters} +{\em sequence} & Concatenated R\-N\-A sequences \\ +\hline +{\em structure} & Will hold the structure or constraints \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +\hyperlink{structcofoldF}{cofold\-F} structure containing a set of energies needed for concentration computations. +\end{DoxyReturn} +\hypertarget{group__pf__cofold_gabd873b450832ab5f21101fc5ab354d21}{\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}!co\-\_\-pf\-\_\-fold\-\_\-par@{co\-\_\-pf\-\_\-fold\-\_\-par}} +\index{co\-\_\-pf\-\_\-fold\-\_\-par@{co\-\_\-pf\-\_\-fold\-\_\-par}!Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +\subsubsection[{co\-\_\-pf\-\_\-fold\-\_\-par}]{\setlength{\rightskip}{0pt plus 5cm}{\bf cofold\-F} co\-\_\-pf\-\_\-fold\-\_\-par ( +\begin{DoxyParamCaption} +\item[{char $\ast$}]{sequence, } +\item[{char $\ast$}]{structure, } +\item[{{\bf pf\-\_\-param\-T} $\ast$}]{parameters, } +\item[{int}]{calculate\-\_\-bppm, } +\item[{int}]{is\-\_\-constrained} +\end{DoxyParamCaption} +)}}\label{group__pf__cofold_gabd873b450832ab5f21101fc5ab354d21} + + +Calculate partition function and base pair probabilities. + +This is the cofold partition function folding. The second molecule starts at the \hyperlink{fold__vars_8h_ab9b2c3a37a5516614c06d0ab54b97cda}{cut\-\_\-point} nucleotide. + +\begin{DoxySeeAlso}{See Also} +\hyperlink{group__energy__parameters_ga6fc2f3eef5a3024d44963ac59a42e39d}{get\-\_\-boltzmann\-\_\-factors()}, \hyperlink{group__pf__cofold_gaa86a5f998789ed71813d23d7307a791b}{co\-\_\-pf\-\_\-fold()} +\end{DoxySeeAlso} + +\begin{DoxyParams}{Parameters} +{\em sequence} & Concatenated R\-N\-A sequences \\ +\hline +{\em structure} & Pointer to the structure constraint \\ +\hline +{\em parameters} & Data structure containing the precalculated Boltzmann factors \\ +\hline +{\em calculate\-\_\-bppm} & Switch to turn Base pair probability calculations on/off (0==off) \\ +\hline +{\em is\-\_\-constrained} & Switch to indicate that a structure contraint is passed via the structure argument (0==off) \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +\hyperlink{structcofoldF}{cofold\-F} structure containing a set of energies needed for concentration computations. +\end{DoxyReturn} +\hypertarget{group__pf__cofold_ga11f0252c1d2c4697253ff4b5bd392d3c}{\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}!export\-\_\-co\-\_\-bppm@{export\-\_\-co\-\_\-bppm}} +\index{export\-\_\-co\-\_\-bppm@{export\-\_\-co\-\_\-bppm}!Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +\subsubsection[{export\-\_\-co\-\_\-bppm}]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ export\-\_\-co\-\_\-bppm ( +\begin{DoxyParamCaption} +\item[{void}]{} +\end{DoxyParamCaption} +)}}\label{group__pf__cofold_ga11f0252c1d2c4697253ff4b5bd392d3c} + + +Get a pointer to the base pair probability array. + +Accessing the base pair probabilities for a pair (i,j) is achieved by \begin{DoxyVerb}FLT_OR_DBL *pr = export_bppm(); pr_ij = pr[iindx[i]-j]; \end{DoxyVerb} + + +\begin{DoxySeeAlso}{See Also} +\hyperlink{utils_8h_a55c0f6b3b07b6adf2ee235ba901fe397}{get\-\_\-iindx()} +\end{DoxySeeAlso} +\begin{DoxyReturn}{Returns} +A pointer to the base pair probability array +\end{DoxyReturn} +\hypertarget{group__pf__cofold_ga6e0f36c1f9b7d9dd4bfbad914c1119e5}{\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}!update\-\_\-co\-\_\-pf\-\_\-params@{update\-\_\-co\-\_\-pf\-\_\-params}} +\index{update\-\_\-co\-\_\-pf\-\_\-params@{update\-\_\-co\-\_\-pf\-\_\-params}!Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +\subsubsection[{update\-\_\-co\-\_\-pf\-\_\-params}]{\setlength{\rightskip}{0pt plus 5cm}void update\-\_\-co\-\_\-pf\-\_\-params ( +\begin{DoxyParamCaption} +\item[{int}]{length} +\end{DoxyParamCaption} +)}}\label{group__pf__cofold_ga6e0f36c1f9b7d9dd4bfbad914c1119e5} + + +Recalculate energy parameters. + +This function recalculates all energy parameters given the current model settings. + +\begin{DoxyNote}{Note} +This function relies on the global variables \hyperlink{fold__vars_8h_ad3b22044065acc6dee0af68931b52cfd}{pf\-\_\-scale}, \hyperlink{fold__vars_8h_a72b511ed1201f7e23ec437e468790d74}{dangles} and \hyperlink{fold__vars_8h_ab4b11c8d9c758430960896bc3fe82ead}{temperature}. Thus it might not be threadsafe in certain situations. Use \hyperlink{group__pf__cofold_ga117d880df45bef444d5e2785ffa40a53}{update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par()} instead. +\end{DoxyNote} +\begin{DoxySeeAlso}{See Also} +\hyperlink{group__energy__parameters_ga6fc2f3eef5a3024d44963ac59a42e39d}{get\-\_\-boltzmann\-\_\-factors()}, \hyperlink{group__pf__cofold_ga117d880df45bef444d5e2785ffa40a53}{update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par()} +\end{DoxySeeAlso} + +\begin{DoxyParams}{Parameters} +{\em length} & Length of the current R\-N\-A sequence \\ +\hline +\end{DoxyParams} +\hypertarget{group__pf__cofold_ga117d880df45bef444d5e2785ffa40a53}{\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}!update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par@{update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par}} +\index{update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par@{update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par}!Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +\subsubsection[{update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par}]{\setlength{\rightskip}{0pt plus 5cm}void update\-\_\-co\-\_\-pf\-\_\-params\-\_\-par ( +\begin{DoxyParamCaption} +\item[{int}]{length, } +\item[{{\bf pf\-\_\-param\-T} $\ast$}]{parameters} +\end{DoxyParamCaption} +)}}\label{group__pf__cofold_ga117d880df45bef444d5e2785ffa40a53} + + +Recalculate energy parameters. + +This function recalculates all energy parameters given the current model settings. It's second argument can either be N\-U\-L\-L 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 N\-U\-L\-L, threadsafety for the model parameters \hyperlink{fold__vars_8h_a72b511ed1201f7e23ec437e468790d74}{dangles}, \hyperlink{fold__vars_8h_ad3b22044065acc6dee0af68931b52cfd}{pf\-\_\-scale} and \hyperlink{fold__vars_8h_ab4b11c8d9c758430960896bc3fe82ead}{temperature} is regained, since their values are taken from this data structure during subsequent calculations. + +\begin{DoxySeeAlso}{See Also} +\hyperlink{group__energy__parameters_ga6fc2f3eef5a3024d44963ac59a42e39d}{get\-\_\-boltzmann\-\_\-factors()}, \hyperlink{group__pf__cofold_ga6e0f36c1f9b7d9dd4bfbad914c1119e5}{update\-\_\-co\-\_\-pf\-\_\-params()} +\end{DoxySeeAlso} + +\begin{DoxyParams}{Parameters} +{\em length} & Length of the current R\-N\-A sequence \\ +\hline +{\em parameters} & data structure containing the precomputed Boltzmann factors \\ +\hline +\end{DoxyParams} +\hypertarget{group__pf__cofold_ga15ae04ac5ab84e876dcf0093120cb617}{\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}!compute\-\_\-probabilities@{compute\-\_\-probabilities}} +\index{compute\-\_\-probabilities@{compute\-\_\-probabilities}!Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +\subsubsection[{compute\-\_\-probabilities}]{\setlength{\rightskip}{0pt plus 5cm}void compute\-\_\-probabilities ( +\begin{DoxyParamCaption} +\item[{double}]{F\-A\-B, } +\item[{double}]{F\-E\-A, } +\item[{double}]{F\-E\-B, } +\item[{struct {\bf plist} $\ast$}]{pr\-A\-B, } +\item[{struct {\bf plist} $\ast$}]{pr\-A, } +\item[{struct {\bf plist} $\ast$}]{pr\-B, } +\item[{int}]{Alength} +\end{DoxyParamCaption} +)}}\label{group__pf__cofold_ga15ae04ac5ab84e876dcf0093120cb617} + + +Compute Boltzmann probabilities of dimerization without homodimers. + +Given the pair probabilities and free energies (in the null model) for a dimer A\-B and the two constituent monomers A and B, compute the conditional pair probabilities given that a dimer A\-B actually forms. Null model pair probabilities are given as a list as produced by \hyperlink{group__pf__fold_ga03e15e831a31b1154855ab47edbdb019}{assign\-\_\-plist\-\_\-from\-\_\-pr()}, the dimer probabilities 'pr\-A\-B' are modified in place. + + +\begin{DoxyParams}{Parameters} +{\em F\-A\-B} & free energy of dimer A\-B \\ +\hline +{\em F\-E\-A} & free energy of monomer A \\ +\hline +{\em F\-E\-B} & free energy of monomer B \\ +\hline +{\em pr\-A\-B} & pair probabilities for dimer \\ +\hline +{\em pr\-A} & pair probabilities monomer \\ +\hline +{\em pr\-B} & pair probabilities monomer \\ +\hline +{\em Alength} & Length of molecule A \\ +\hline +\end{DoxyParams} +\hypertarget{group__pf__cofold_ga5545cb936ac4ff93c7d699d46e72e8c7}{\index{Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}!get\-\_\-concentrations@{get\-\_\-concentrations}} +\index{get\-\_\-concentrations@{get\-\_\-concentrations}!Partition Function for two hybridized Sequences@{Partition Function for two hybridized Sequences}} +\subsubsection[{get\-\_\-concentrations}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Conc\-Ent}$\ast$ get\-\_\-concentrations ( +\begin{DoxyParamCaption} +\item[{double}]{F\-E\-A\-B, } +\item[{double}]{F\-E\-A\-A, } +\item[{double}]{F\-E\-B\-B, } +\item[{double}]{F\-E\-A, } +\item[{double}]{F\-E\-B, } +\item[{double $\ast$}]{startconc} +\end{DoxyParamCaption} +)}}\label{group__pf__cofold_ga5545cb936ac4ff93c7d699d46e72e8c7} + + +Given two start monomer concentrations a and b, compute the concentrations in thermodynamic equilibrium of all dimers and the monomers. + +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-\/only free energies, i.\-e. the Fc\-A\-B entries from the \hyperlink{structcofoldF}{cofold\-F} struct. + + +\begin{DoxyParams}{Parameters} +{\em F\-E\-A\-B} & Free energy of A\-B dimer (Fc\-A\-B entry) \\ +\hline +{\em F\-E\-A\-A} & Free energy of A\-A dimer (Fc\-A\-B entry) \\ +\hline +{\em F\-E\-B\-B} & Free energy of B\-B dimer (Fc\-A\-B entry) \\ +\hline +{\em F\-E\-A} & Free energy of monomer A \\ +\hline +{\em F\-E\-B} & Free energy of monomer B \\ +\hline +{\em startconc} & List of start concentrations \mbox{[}a0\mbox{]},\mbox{[}b0\mbox{]},\mbox{[}a1\mbox{]},\mbox{[}b1\mbox{]},...,\mbox{[}an\mbox{]}\mbox{[}bn\mbox{]},\mbox{[}0\mbox{]},\mbox{[}0\mbox{]} \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +\hyperlink{structConcEnt}{Conc\-Ent} array containing the equilibrium energies and start concentrations +\end{DoxyReturn}