From 1a31bff4808b45baee63591d8ce7200947226b64 Mon Sep 17 00:00:00 2001 From: Sebastian Will <swill@csail.mit.edu> Date: Tue, 21 Sep 2021 11:56:24 +0200 Subject: [PATCH] Add stochastic optimization results / figure to latex document --- Figs/stochastic-optimization.pdf | Bin 0 -> 51751 bytes ...ization.svg => stochastic-optimization.svg} | 0 infrared-bookchapter.tex | 17 +++++++++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 Figs/stochastic-optimization.pdf rename Figs/{optimization.svg => stochastic-optimization.svg} (100%) diff --git a/Figs/stochastic-optimization.pdf b/Figs/stochastic-optimization.pdf new file mode 100644 index 0000000000000000000000000000000000000000..15297e1d65a0cfdce42b138db06296cb5f11ca3e GIT binary patch literal 51751 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 literal 0 HcmV?d00001 diff --git a/Figs/optimization.svg b/Figs/stochastic-optimization.svg similarity index 100% rename from Figs/optimization.svg rename to Figs/stochastic-optimization.svg diff --git a/infrared-bookchapter.tex b/infrared-bookchapter.tex index 8684f29..01a08eb 100644 --- a/infrared-bookchapter.tex +++ b/infrared-bookchapter.tex @@ -33,6 +33,9 @@ \noindent\keywordname\enspace\ignorespaces#1} +\usepackage{units} +\newcommand{\kcalpermol}{\unit{kcal}/\unit{mol}\xspace} + \usepackage{fancyvrb} \definecolor{shadecolor}{rgb}{.95, .95, .99} @@ -647,8 +650,18 @@ Finally, we run the multi-defect optimization on our example target structures b multi_design_optimize(1000, 0.015) \end{Pythoncode} Note that here the number of 1000 iterations and the temperature 0.015 were chosen after some experimentation. In practice, we will often restart such procedures to obtain better solutions and/or a diverse set of good solutions. In our tests, one such optimization run took moderate run-time below 10s on current notebook hardware, while it can find very good designs for the targets. -The sequence \texttt{CCCCUUGCCUCAAGGGCCCUCUUCAGAGGAAGGGG} is a particularly good solution found by this strategy. For this design all three target structures have minimum free energy of -15.40 kcal/mol (at a multi-defect of 1.21). -Even the close suboptimals contain only structures similar to the targets as can be seen from the output of \texttt{RNAsubopt} of the Vienna RNA package, which enumerates all structures within 1 kcal/mol of the minimum free energy. + +Figure~\ref{fig:stochasitic-optimization} shows the best multi-defects in 48 runs after up to 5120 iterations. The best sequence \texttt{CCCUGUGCUCCAUGGGCCCCCGUCAGGGGACGGGG} that was found in these 48 runs of optimization had an multi-defect of 1.31. For this sequence, the target structures have resepective energies -16.9, -16.5, and -16.9 \kcalpermol; two of the targets have minimum free energy. This small experiment yields insights into the effectivity and convergence of the optimization procedure. For applications, it seems to suggest an optimization strategy combining restarts and moderately long runs. + +\begin{figure} + \centering + \includegraphics[scale=0.8]{Figs/stochastic-optimization} + \caption{Distributions of best multi-defects from 48 runs of \texttt{multi\_design\_optimization} without stochastic optimization (step 1) and after up to 5120 optimization steps at temperature 0.015. In the box plots, the boxes extend from quartile to quartile; the medians are shownn in blue; and the whiskers reach 1.5 times beyond the quartile. Remaining data points are shown as circles.} + \label{fig:stochasitic-optimization} +\end{figure} + +Remarkably, there are even solutions where all three targets have minimum free energy. For the sequence \texttt{CCCCUUGCCUCAAGGGCCCUCUUCAGAGGAAGGGG}, which was discovered by the same strategy, all three target structures have a free energy of -15.40 \kcalpermol (at a multi-defect of 1.21). +Even the close suboptimals contain only structures similar to the targets as can be seen from the output of \texttt{RNAsubopt} of the Vienna RNA package, which enumerates all structures within 1 \kcalpermol of the minimum free energy. \begin{bashcode} $ RNAsubopt -s <<<CCCCUUGCCUCAAGGGCCCUCUUCAGAGGAAGGGG CCCCUUGCCUCAAGGGCCCUCUUCAGAGGAAGGGG -15.40 1.00 -- GitLab