Using the Fast Fourier Transform to Accelerate the Computational Search for RNA Conformational Switches Evan Senter 1 , Saad Sheikh 2 , Ivan Dotu 1 , Yann Ponty 3 , Peter Clote 1 * 1 Biology Department, Boston College, Chestnut Hill, Massachusetts, United States of America, 2 Computer Science Department, University of Florida, Gainesville, Florida, United States of America, 3 Laboratoire d’Informatique, Ecole Polytechnique, Palaiseau, France Abstract Using complex roots of unity and the Fast Fourier Transform, we design a new thermodynamics-based algorithm, FFTbor, that computes the Boltzmann probability that secondary structures differ by k base pairs from an arbitrary initial structure of a given RNA sequence. The algorithm, which runs in quartic time O(n 4 ) and quadratic space O(n 2 ), is used to determine the correlation between kinetic folding speed and the ruggedness of the energy landscape, and to predict the location of riboswitch expression platform candidates. A web server is available at http://bioinformatics.bc.edu/clotelab/FFTbor/. Citation: Senter E, Sheikh S, Dotu I, Ponty Y, Clote P (2012) Using the Fast Fourier Transform to Accelerate the Computational Search for RNA Conformational Switches. PLoS ONE 7(12): e50506. doi:10.1371/journal.pone.0050506 Editor: Freddie Salsbury Jr, Wake Forest University, United States of America Received September 21, 2012; Accepted October 26, 2012; Published December 19, 2012 Copyright: ß 2012 Senter et al. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. Funding: Source of funding provided by National Science Foundation grants DMS-1016618 and DMS-0817971 to PC, www.nsf.gov. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Competing Interests: The authors have declared that no competing interests exist. * E-mail: clote@bc.edu Introduction In [1], we developed a dynamic programming algorithm, RNAbor, pronounced RNA neighbor, which simultaneously com- putes for each integer k, the Boltzmann probability p k ~ Z k Z of the subensemble of structures whose base pair distance to a given initial, or reference, structure S is k. (Here, Z denotes the partition function, defined as the sum of all Boltzmann factors exp({E(S)=RT ), over all secondary structures S of a given RNA sequence, and R denotes the universal gas constant and T absolute temperature. Similarly Z k denotes the sum of all Boltzmann factors of all structures S, whose base pair distance to the initial structure S is exactly k.) RNAbor stores the value of the (partial) partition functions Z k (i,j ) for all 1ƒiƒj ƒn and 0ƒkƒn, each of which requires quadratic time to compute. Thus it follows that RNAbor runs in time O(n 5 ) and space O(n 3 ), which severely limits its applicability to genomic annotation. This restriction is somewhat mitigated by the fact that in [2], we showed how to use sampling [3] to efficiently approximate RNAbor in cubic time O(n 3 ) and quadratic space O(n 2 ), provided that the starting structure S is the minimum free energy (MFE) structure. We expect that a more efficient version of RNAbor could be used in applications in genomics and synthetic biology, to detect potential conformational switches RNA sequences containing two or more (distinct) metastable structures. In this paper, we describe a radically different algorithm, FFTbor, prounounced FFT neighbor, that uses polynomial interpo- lation to compute the coefficients p 0 , ... ,p n{1 of the polynomial p(x)~p 0 zp 1 xzp 2 x 2 z  zp n{1 x n{1 , ð1Þ where p k is defined by p k ~ Z k Z . Due to severe numerical instability issues in both the Lagrange interpolation formula and in Gaussian elimination, we employ the Fast Fourier Transform (FFT) to compute the inverse Discrete Fourier Transform (DFT) on values y 0 , ... ,y n{1 , where y k ~p(v k ) and v~e 2pi=n is the principal nth complex root of unity and p(x) is defined in (1). This gives rise to an improved version of RNAbor, denoted FFTbor, which runs in time O(n 4 ) and space O(n 2 ). Once two metastable structures S 1 ,S 2 are identified, we can subsequently evaluate the feasibility of transition between structures S 1 and S 2 , by computing the barrier energy using algorithms, such as that described in Dotu et al. [4] or Flamm et al. [5]. Background Let s~s 1 , ... ,s n denote an RNA sequence, i.e. a sequence of letters in the alphabet of nucleotides fA,C,G,U g. A secondary structure S is a set of base pairs (i,j ), where 1ƒiƒizhvj ƒn and h§0 represents the minimum number of unpaired nucleotides in a hairpin loop (due to steric constraints, h is usually taken to be 3), such that if (i,j ) and (x,y) both belong to S, then i~xZj ~y (a nucleotide is involved in at most one base pair) and ivxvj Zivyvj (no pseudoknots are allowed). The secondary structure S is compatible with s if for every base pair (i,j ) in S, the pair (s i ,s j ) is contained in the set B~f(A,U ),(U ,A),(G,C),(C,G),(G,U ),(U ,G)g of six Watson- Crick and wobble base pairs. Often we write that S is a secondary structure on s, or equivalently, a secondary structure of s, in place of stating that S is compatible with s. Throughout this paper, by structure, we always mean a secondary structure which is compatible with an arbitrary, but fixed RNA sequence s~s 1 , ... ,s n . Given two secondary structures S,T on s , we define the base pair distance d BP between S and T to be the number of base pairs that they have that are not in common, i.e. PLOS ONE | www.plosone.org 1 December 2012 | Volume 7 | Issue 12 | e50506