 Methodology Article
 Open Access
 Published:
RNA inverse folding using Monte Carlo tree search
BMC Bioinformatics volume 18, Article number: 468 (2017)
Abstract
Background
Artificially synthesized RNA molecules provide important ways for creating a variety of novel functional molecules. Stateoftheart RNA inverse folding algorithms can design simple and short RNA sequences of specific GC content, that fold into the target RNA structure. However, their performance is not satisfactory in complicated cases.
Result
We present a new inverse folding algorithm called MCTSRNA, which uses Monte Carlo tree search (MCTS), a technique that has shown exceptional performance in Computer Go recently, to represent and discover the essential part of the sequence space. To obtain high accuracy, initial sequences generated by MCTS are further improved by a series of local updates. Our algorithm has an ability to control the GC content precisely and can deal with pseudoknot structures. Using common benchmark datasets for evaluation, MCTSRNA showed a lot of promise as a standard method of RNA inverse folding.
Conclusion
MCTSRNA is available at https://github.com/tsudalab/MCTSRNA.
Background
The function of RNA transcripts is tied to their threedimensional molecular structures, itself primarily determined by secondary structures. For this reason, computational prediction of RNA secondary structure has been a popular subject of research for decades [1–5]. To obtain an RNA sequence with a desired function in synthetic biology, it is often necessary to design a functional RNA sequence whose stable structure matches a userspecified target structure. From the viewpoint of computational biology, this is exactly the inverse problem of RNA secondary structure prediction, and is called RNA inverse folding [4, 6, 7].
To date, RNA inverse folding approaches have been successfully applied to create RNAs that function in vitro and in vivo. Dotu et al. [8] performed RNA inverse folding of hammerhead ribozymes and experimentally validated the selfcleaving function of the designed ribozymes. Wachsmuth et al. [9] have constructed an in silico artificial riboswitches design pipeline in an inverse foldinglike manner, which repeatedly utilized an RNA secondary structure prediction method to obtain RNA sequences that fold into specified secondary structures.
In RNA inverse folding algorithms, a reward function (or objective function) that measures the similarity between the folded RNA structure and a target structure is used to evaluate a generated RNA sequence. In addition, it takes into account other sequence properties, such as GC content (fraction of guanine and cytosine), that crucially affect the functions of RNA molecules [10].
To deal with the huge search space whose size is exponential to sequence length, a number of optimization techniques have been applied to RNA inverse folding (Table 1). Most approaches rely on heuristics such as local search [11–14], evolutionary algorithms [6, 15–17], weighted sampling [18], or ant colony optimization [7]. RNAiFold [19] uses constraint programming so that it can find all sequences matching the target structure. Local search algorithms apply update rules repeatedly to make the predicted structure as close to the target structure as possible (Fig. 1). Local search is often combined with evolutionary algorithms to improve accuracy [17, 18]. Updates are designed so that the predicted structure is improved in terms of reward.
Inverse folding algorithms depend on secondary structure prediction methods such as RNAfold [4] for nested structures and pKiss [20] for pseudoknot structures. RNAifold [19], IncaRNAtion [18], MODENA [17] and antaRNA [7] design RNA sequences for nested structures with GC content control. Among them, antaRNA and MODENA allow pseudoknot target structures. To deal with pseudoknots, antaRNA uses pKiss [20] as its structure prediction method, while MODENA uses either IPknot [21] or HotKnots [22].
In this paper, we develop a new algorithm called MCTSRNA that employs Monte Carlo tree search (MCTS) to solve the RNA inverse folding problem. MCTS is a randomized bestfirst search method that showed exceptional performance in computer Go [23, 24]. In addition, it has been successfully applied to computational biology [25] and other research domains [23, 26]. In an RNA sequence, each base can have a very different impact on the structure [27]. Replacement of an essential base may change the structure completely, while a nonessential base may be totally irrelevant. We employ MCTS to discover the set of essential bases that determines the secondary structure. In our analogy, base determination corresponds to placing a stone in Go. In computer Go, scoring an intermediate state, i.e., estimation of winning probabilities given a set of placed stones, is crucial to the overall performance. Likewise, we need to develop a way to evaluate a partially determined RNA sequence with respect to the possibility of creating sequences with the target structure.
In our notation, an event indicates base assignment to one position or two positions at once (Fig. 2). For example, the events {A _{7}} and {C G _{5,9}} indicates that A is assigned to position 7, C and G are assigned to positions 5 and 9. Let ℓ denote the sum of the number of free bases and that of base pairs in the target structure. The complete search tree is defined as the tree of depth ℓ, where the children of a node represents all possible events. It is obviously impossible to keep the complete tree in memory. Starting from the root node alone, MCTS expands the tree gradually by identifying the most promising node and expanding its children. To evaluate a node, a full sequence (i.e. an initial sequence) is generated by randomly choosing the remaining events, which is then used as an initial point of local search. Each node has a UCB (Upper Confidence Bound) score [28] determined by the reward of the best sequence obtained by local search and the number of visits to the node. By taking the number of visits into account, our algorithm can avoid focusing too much on the same part of the search tree.
In contrast to evolutionary algorithms, MCTS has a stronger theoretical background [29]. The regret bound of the UCB score, for example, is wellstudied in literature [28]. In heuristic optimization, it is essential to control the balance between exploitation and exploration [23]: This is a difficult task for the algorithms controlled by biologically inspired parameters such as pheromone or crossover parameters. MCTS has a simpler mechanism where the balance is controlled by a hyperparameter C involved in the UCB score. In general, the success of complex algorithms involving many parameters is dependent on the proper configuration of these parameters, which can lead to difficulties adapting to different problems without changing the default parameter values.
Using standard benchmark datasets, we performed extensive experimental comparisons for both nested and pseudoknotted structures. Within a time limit of ten minutes, MCTSRNA succeeded in creating more sequences matching the target structure than MODENA, ERD and antaRNA. Notably, MCTSRNA produced results for some difficult Rfam families where other methods could not find a matching sequence within the time limit. These promising results demonstrate the efficiency of MCTS in RNA inverse folding, and suggest a new way to design algorithms for solving combinatorial problems in computational biology.
Method
Reward function
In MCTSRNA, we design a sequence whose predicted secondary structure matches the given target structure and the GCcontent remains within an acceptable range of a target value α ^{∗}. In the search process, a reward function is employed to measure how close a sequence is to the desired one. The structural distance d is the Hamming distance between the parentheses representation of target and predicted secondary structures. Let us denote the sequence length of the target structure by N, and the GC content of the generated sequence by α. The reward of a sequence is defined as
where R _{ GC } (> 0.0) is a weight parameter and δ determines the allowed deviance from α ^{∗}. If the GC content target is not available, r=(N−d)/N.
Sequence space
The target structure (Fig. 2) determines which positions should form base pairs. In designing a sequence, such a paired position is called a paired site. It can be assigned only with one from the following six base pairs [A U,U A,G U,U G,C G,G C].
The remaining free positions are called single sites. They are not constrained and can be assigned with any base [A,C,G,U]. The event that a pair site (i,j) is assigned with a base pair XY is described as {X Y _{ i,j }}. For a single site, it is described as {X _{ i }}. Random assignment of a site is defined as follows. If it is a paired site, a base pair is chosen from [A U,U A,G U,U G,C G,G C] with equal probabilities. If it is a single site, a base is chosen from [A,C,G,U] with equal probabilities.
Monte Carlo tree search
MCTSRNA creates a search tree where each node corresponds to an assignment event (Fig. 3). When the total number of single and pair sites is ℓ, the maximum depth of the tree is ℓ. A path from the root to a leaf represents a partially determined sequence. In the first round of MCTSRNA, only the root node exists in the search tree. From ℓ sites, a site is chosen randomly. If it corresponds to a single site, four child nodes containing bases [A,C,G,U] are created under the root node. Otherwise, six nodes with base pairs [A U,U A,G U,U G,C G,G C] are created. Each node i contains three variables: the visit count v _{ i } represents the number of visits in the search process, z _{ i } denotes the immediate merit of node i evaluated by sequence generation, and the cumulative value w _{ i } is defined as the sum of z _{ j } for all descendant nodes including itself. The UCB score [28] of a node is defined as
where C is a constant to balance exploration and exploitation and v _{ parent } is the visit count of the parent node. The variables are initialized as
A round of MCTSRNA consists of four steps: Selection, Expansion, Simulation and Backpropagation (Fig. 3). The expansion step can be skipped but the other three steps always take place. In the selection step, the tree is traversed from the root node to a leaf node by following the child with the largest UCB score u _{ i }. If there are ties, the winning child is chosen randomly.
If the leaf node is a rarely visited node (i.e, the visit count is smaller than the expansion threshold β: v _{ i }<β), the expansion step is skipped. In the simulation step, k sequences are generated by choosing the remaining assignment events randomly and applying k−1 local updates. Details of sequence generation is described in the next section. If the predicted structure of one in the k generated sequence is identical with the target structure, MCTSRNA terminates immediately. Otherwise, the algorithm continues until the time limit is up. For each generated sequence, the reward function (1) is computed, and the maximum reward is stored as the immediate value z _{ i }. In the backpropagation step, the visit count v _{ j } of each ancestor node j is incremented v _{ j }←v _{ j }+1 and the cumulative value is updated as w _{ j }←w _{ j }+z _{ i }.
If the leaf node i is a frequently visited node (v _{ i }≥β), the expansion step takes place. A new site is chosen randomly from the remaining sites and child nodes are created under node i. Similarly in the first round, four or six children are generated and initialized as (3). One child node is chosen randomly and the simulation and back propagation steps follow.
Sequence generation by local search
In the simulation step of MCTSRNA, we generate k sequences, i.e., an initial sequence and k−1 sequences which are obtained by progressively applying local updates to the initial sequence. The process of generating the initial sequence and local updates will keep the sites already determined by the selected path to the leaf node. We call the determined positions essential positions.
The initial sequence is randomly generated in such a way that the number of GCs is approximately equal to the number of desired GCs, N α ^{∗}. To this aim, we repeat the following procedure until the number of GCs reachs N α∗: (i) Randomly pick up a nonessential position. (ii) If it is a paired position, choose GC or CG randomly and assign them to the paired positions; otherwise, choose G or C randomly and assign it to the position. If the number of GCs in essential positions is already larger than N α∗, the above procedure is skipped. The remaining positions are assigned with A and U in a similar manner.
In the first step of the local update, we obtain the predicted structure of the current sequence, then apply rewriting rules as many times as possible. There are two rewriting rules: (i) If two nonessential positions are paired in the target structure, but not in the predicted structure, replace them with one of [A U,U A,C G,G C] randomly. (ii) If two nonessential positions are paired in the predicted structure and not paired in the target structure, do the following:

If they are AU or UA, replace them with AA or UU randomly.

If they are GC or CG, replace them with CC or GG randomly.

If they are GU or UG, replace them with one of [AC, CA, AG, GA, CU, UC] randomly.
The first rule is expected to form a base pair, while the second one breaks the pair. The three options in the second rule are designed to avoid changing the number of GCs in the sequence. Figure 4 shows an example of local update. Due to the first rule, {A U _{3,11}} and {A U _{4,10}} are updated to {G C _{3,11}} and {A U _{4,10}}, respectively. {G C _{2,13}} is updated to {C C _{2,13}} due to the second rule.
Results and discussion
Following [6], we used 29 Rfam families as target structures to evaluate the performance of MCTSRNA for nested structures. For pseudoknot structures, we followed [30] and used 249 structures from PseudoBase++ [31]. For nested secondary structure prediction, RNAfold was used for all the methods. For pseudoknot secondary structure prediction, IPknot and HotKnots were used for MODENA while pKiss was used for MCTSRNA and antaRNA. MODENA has two different versions [6, 17] and the latest version was used for all the comparisons. In regard to the reward function, R _{ GC } was fixed to 1 and δ was set to 0.01 for nested structures and 0.02 for pseudoknot structures. As shown later, this setting resulted in relatively strict control of the GC content in comparison with competing methods. If more efficiency is required, one can decrease R _{ GC } or increase δ to relax the control. The number of local updates k was set to 50. In all competing methods, we employed their default parameters unless otherwise stated. Experiments were done on a CentOS 6.7 PC with 2.6 GHz CPU and 256 GB memory.
Given a target structure, the performance of an inverse folding method is measured as follows. For a nested structure, an inverse folding method is applied 50 times to the same structure with different random seeds. For a pseudoknot structure, the number of applications is reduced to 10 times due to heavy computational cost. Each run is considered as a success, if it could generate, within 10 min, at least one compliant sequence whose secondary structure matches perfectly with the target structure. If there is at least one success for a target structure, the structure is regarded as solved.
Parameter optimization
To identify the best values of expansion threshold β and tradeoff parameter C, we applied MCTSRNA to five small datasets with different values of β∈{1,2,3} and C∈{0.01,0.05,0.1,0.3,0.4,0.5,0.6,0.7,0.9,1.0}. Each dataset consists of four nested Rfam structures and four Pseudobase++ structures, which were randomly selected. For each dataset, MCTSRNA was performed ten times per each structure with seven different GC content values. This resulted in total 560 MCTSRNA runs for each of five datasets. The average number of successes over the five datasets was used to measure the performance of each parameter setting. As shown in Fig. 5, C=0.5 and β=1 turned out to be the best setting. These values will be used in all remaining experiments.
Nested structures
In this experiment, MCTSRNA is compared with existing tools with GC content control: AntaRNA and MODENA. RNAifold and IncaRNAtion are omitted, as Kleinkauf et al. [7] showed that they perform worse than antaRNA. Figures 6 a and 6 b show the total number of successes and the number of solved targets, respectively. In a realistic range of GC content, MCTSRNA performed better than antaRNA and MODENA. At GC content 0.5, for instance, the number of successes was 40% larger than that of antaRNA. The accuracy of GC content control is shown in Fig. 6 c. MCTSRNA and antaRNA achieved approximately the same level of accuracy, while MODENA showed significantly worse accuracy.
Table 2 shows the results for individual targets at GC content target 0.5. Tables for other target values are shown in Additional file 1: Table S8–S14. Among the structures that antaRNA failed to solve, MCTSRNA solved 5.8S ribosomal RNA (RF00002), U1 spliceosomal RNA (RF00003), Nuclear RNase P (RF00009) and Group I catalytic intron (RF00028). Unfortunately, several difficult structures such as SNORD14 (RF00016) could not be solved by any tools.
To compare MCTSRNA with ERD, we also performed experiments without GC content control. Table 3 shows that MCTSRNA performed better than ERD and MODENA in aggregate. From a biological point of view, however, experimental results without precise GC content control may be of less importance.
Pseudoknot structures
We applied MCTSRNA, antaRNA and MODENA to 249 pseudoknot structures. Figure 7 shows the number of successes, the number of solved structures and the error in GC content with different GC content target values. With their default parameters, the GC content control of antaRNA was not successful in many cases. Disregarding the error in GC content, the numbers of successes found by MCTSRNA and antaRNA were approximately the same, while MODENA showed significantly worse performance. However, when we focus on successful designs with accurate GC content, MCTSRNA performed substantially better (Fig. 8). When the GC error is smaller than 0.01 (resp. 0.02), the number of successes of MCTSRNA was 73% (resp. 69%) larger than that of antaRNA.
Parameter sensitivity of antaRNA
In most literature about RNA inverse folding, software tools are evaluated with their default parameters (e.g., [7]), because users are likely to use them as they are. We nevertheless checked the performance of antaRNA when the parameters are optimized like MCTSRNA. In optimization of antaRNA parameters, we used the same five sets of structures that were used for MCTSRNA. The grid search was performed for three parameters α∈{0.2,0.5,1.0,2.0,4.0}, β∈{0.2,0.5,1.0,2.0,4.0},ρ∈{0.05,0.1,0.2}, As shown in Additional file 1: Figure S1, α=0.2,β=0.2,ρ=0.05 turned out to be the best. Additional file 1: Figure S2 shows the results for nested structures, where the number of successes of antaRNA increased substantially in extreme GC content settings (e.g., 0.2 and 0.8). Still, the control of GC content by antaRNA was less strict than MCTSRNA. Additional file 1: Figure S3 shows the number of successfully designed sequences whose GC distance is smaller than 0.01. MCTSRNA was better than antaRNA except for the case that the GC content is controlled to 0.8. In pseudoknot structures (Additional file 1: Figure S4 and S5), MCTSRNA was consistently better than antaRNA in all GCcontent settings.
Experimental results without the structures used in parameter optimization
The accuracy of MCTSRNA may be positively biased for the structures used in parameter optimization. In Additional file 1: Figures S6 to S9, we summarized the experimental results without the structures used in parameter optimization (Additional file 1: Table S15). Overall, we obtained similar results as in the experiments with all structures (Additional file 1: Figures S2 to S5).
Contribution of Monte Carlo tree search
MCTSRNA consists of MCTS and local search. In this section, we investigate how much these two parts contribute to accurate inverse folding and how they interact. For easy problems, local search from random initial sequences may suffice, but the addition of MCTS would seem necessary in difficult cases. In the following experiments, we used the 29 nested structures.
Figure 9 shows the depth distribution of the search tree, when a compliant sequence is found, averaged over 29 Rfam structures. It is seen that, for extreme GC content targets (e.g., 0.2 and 0.8), the depth of MCTS is larger. It shows that designing sequences of medium GC content is relatively easy, so tree backtracking and expansion is not required as much.
To measure the effect of MCTS, we compared MCTSRNA with a simpler method of applying the local search to randomly designed initial sequences (Fig. 10). Detailed results are available in Additional file 1: Tables S1 to S7. Here, the number of local updates was constrained to 300 for both methods. No time limits were applied. The number of total successes of MCTSRNA was about 30% larger than the local search with random initial sequences. This result indicates that the systematic search of essential bases including backtracking is necessary in RNA inverse folding.
Conclusions
In this research work, we introduced MCTSRNA based on Monte Carlo Tree Search to solve RNA inverse folding problem. A characteristic of this approach is that the sequence space is represented as a tree of assignment events. MCTSRNA outperformed existing tools based on evolutionary algorithms and provided an efficient way to search in the GCcontentspecific sequence space. Evolutionary algorithms keep a population of intermediate solutions and update them simultaneously. The update is designed such that a certain level of diversity is maintained to avoid falling into local minima. MCTS offers a more specific way to perform trialanderror by setting up a search tree and allowing backtracking when the current branch turns out to be nonpromising according to the UCB score.
We believe that it is easy to deploy MCTS to other reallife optimization problems, thanks to its clear separation between the problemdependent part of the algorithm and the general search. In MCTSRNA, the local search is the problemdependent part, while in computer Go, it corresponds to the playout algorithm that randomly creates the remaining moves according to the rules of the game [24]. By contrast, in a genetic algorithm, the problemdependent part corresponds to the definition of the gene, the rules of crossover and mutation: all aspects of the algorithm have to be calibrated to achieve top performances. Furthermore, another advantage of MCTS is that it is particularly amenable to parallelization [32]. In future work, we would like to apply MCTS to a wider range of computational biology problems such as chemical compound design [33] and discovery of diverse motifs [34].
References
 1
Zuker M, Mathews DH, Turner DH. Algorithms and thermodynamics for RNA secondary structure prediction: a practical guide. In: RNA Biochemistry and Biotechnology. Dordrecht: Springer: 1999. p. 11–43.
 2
McCaskill JS. The equilibrium partition function and base pair binding probabilities for RNA secondary structure. Biopolymers. 1990; 29(67):1105–19.
 3
Ding Y, Chan CY, Lawrence CE. RNA secondary structure prediction by centroids in a Boltzmann weighted ensemble. RNA. 2005; 11(8):1157–66.
 4
Hofacker IL, Fontana W, Stadler PF, Bonhoeffer LS, Tacker M, Schuster P. Fast folding and comparison of RNA secondary structures. Monatsh Chem. 1994; 125(2):167–88.
 5
Hamada M, Kiryu H, Sato K, Mituyama T, Asai K. Prediction of RNA secondary structure using generalized centroid estimators. Bioinformatics. 2009; 25(4):465–73.
 6
Taneda A. MODENA: a multiobjective RNA inverse folding. Adv Appl Bioinform Chem. 2011; 4:1–12.
 7
Kleinkauf R, Mann M, Backofen R. antaRNA: ant colonybased RNA sequence design. Bioinformatics. 2015; 31(19):3114–21.
 8
Dotu I, GarciaMartin JA, Slinger BL, Mechery V, Meyer MM, Clote P. Complete RNA inverse folding: computational design of functional hammerhead ribozymes. Nucl Acids Res. 2014; 42(18):11752–62.
 9
Wachsmuth M, Findeiß S, Weissheimer N, Stadler PF, Mörl M. De novo design of a synthetic riboswitch that regulates transcription termination. Nucl Acids Res. 2013; 41(4):2541–51.
 10
Wang T, Wei JJ, Sabatini DM, Lander ES. Genetic screens in human cells using the CRISPRCas9 system. Science. 2014; 343(6166):80–4.
 11
Hofacker IL. Vienna RNA secondary structure server. Nucl Acids Res. 2003; 31(13):3429–31.
 12
Andronescu M, Fejes AP, Hutter F, Hoos HH, Condon A. A new algorithm for RNA secondary structure design. J Mol Biol. 2004; 336(3):607–24.
 13
Busch A, Backofen R. INFORNA: a fast approach to inverse RNA folding. Bioinformatics. 2006; 22(15):1823–31.
 14
Zadeh JN, Steenberg CD, Bois JS, Wolfe BR, Pierce MB, Khan AR, Dirks RM, Pierce NA. NUPACK: analysis and design of nucleic acid systems. J Comput Chem. 2011; 32(1):170–3.
 15
Lyngsø RB, Anderson JW, Sizikova E, Badugu A, Hyland T, Hein J. Frnakenstein: multiple target inverse RNA folding. BMC Bioinformatics. 2012; 13(1):1.
 16
EsmailiTaheri A, Ganjtabesh M, MohammadNoori M. Evolutionary solution for the RNA design problem. Bioinformatics. 2014; 30(09):1250–8.
 17
Taneda A. Multiobjective optimization for RNA design with multiple target secondary structures. BMC Bioinformatics. 2015; 16(1):1.
 18
Reinharz V, Ponty Y, Waldispühl J. A weighted sampling algorithm for the design of RNA sequences with targeted secondary structure and nucleotide distribution. Bioinformatics. 2013; 29(13):308–15.
 19
GarciaMartin JA, Clote P, Dotu I. RNAiFOLD: a constraint programming algorithm for RNA inverse folding and molecular design. J Bioinform Comput Biol. 2013; 11(02):1350001.
 20
Janssen S, Giegerich R. The RNA shapes studio. Bioinformatics. 2015; 31:423–5.
 21
Sato K, Kato Y, Hamada M, Akutsu T, Asai K. IPknot: fast and accurate prediction of RNA secondary structures with pseudoknots using integer programming. Bioinformatics. 2011; 27(13):85–93.
 22
Ren J, Rastegari B, Condon A, Hoos HH. HotKnots: heuristic prediction of RNA secondary structures including pseudoknots. RNA. 2005; 11(10):1494–504.
 23
Browne CB, Powley E, Whitehouse D, Lucas SM, Cowling PI, Rohlfshagen P, Tavener S, Perez D, Samothrakis S, Colton S. A survey of monte carlo tree search methods. IEEE Trans Comput Intell AI Game. 2012; 4(1):1–43.
 24
Silver D, Huang A, Maddison CJ, Guez A, Sifre L, van den Driessche G, Schrittwieser J, Antonoglou I, Panneershelvam V, Lanctot M, et al. Mastering the game of go with deep neural networks and tree search. Nature. 2016; 529(7587):484–9.
 25
Edelkamp S, Tang Z. Montecarlo tree search for the multiple sequence alignment problem. In: Eighth Annual Symposium on Combinatorial Search.Palo Alto: AAAI Press: 2015.
 26
Tanabe Y, Yoshizoe K, Imai H. A study on security evaluation methodology for imagebased biometrics authentication systems. In: Biometrics: Theory, Applications, and Systems, 2009. BTAS’09. IEEE 3rd International Conference On. Washington: IEEE: 2009. p. 1–6.
 27
Harcourt EM, Kietrys AM, Kool ET. Chemical and structural effects of base modifications in messenger RNA. Nature. 2017; 541:339–46.
 28
Auer P, CesaBianchi N, Fischer P. Finitetime analysis of the multiarmed bandit problem. Mach Learn. 2002; 47(23):235–56.
 29
Kocsis L, Szepesvári C. Bandit based montecarlo planning. In: European Conference on Machine Learning. Berlin: Springer: 2006. p. 282–93.
 30
Kleinkauf R, Houwaart T, Backofen R, Mann M. antaRNA–multiobjective inverse folding of pseudoknot RNA using antcolony optimization. BMC Bioinformatics. 2015; 16(1):389.
 31
Taufer M, Licon A, Araiza R, Mireles D, Van Batenburg F, Gultyaev AP, Leung MY. Pseudobase++: an extension of pseudobase for easy searching, formatting and visualization of pseudoknots. Nucleic Acids Res. 2009; 37(suppl 1):127–35.
 32
Yoshizoe K, Kishimoto A, Kaneko T, Yoshimoto H, Ishikawa Y. Scalable distributed montecarlo tree search. In: Fourth Annual Symposium on Combinatorial Search.Palo Alto: AAAI Press: 2011.
 33
Jindalertudomdee J, Hayashida M, Zhao Y, Akutsu T. Enumeration method for treelike chemical compounds with benzene rings and naphthalene rings by breadthfirst search order. BMC Bioinformatics. 2016; 17:113.
 34
Ikebata H, Yoshida R. Repulsive parallel MCMC algorithm for discovering diverse motifs from large sequence sets. Bioinformatics. 2015; 31(10):1561–8.
 35
Avihoo A, Churkin A, Barash D. RNAexinv: an extended inverse RNA folding from shape and physical attributes to sequences. BMC Bioinformatics. 2011; 12(1):1.
 36
Lee J, Kladwang W, Lee M, Cantu D, Azizyan M, Kim H, Limpaecher A, Gaikwad S, Yoon S, Treuille A, et al.RNA design rules from a massive open laboratory. Proc Natl Acad Sci. 2014; 111(6):2122–7.
 37
Zandi K, Butler G, Kharma N. An adaptive defect weighted sampling algorithm to design pseudoknotted RNA secondary structures. Front Genet. 2016; 7:129.
Acknowledgements
The authors would like to thank Aika Terada and David duVerle for their helpful discussions.
Funding
This research was supported by JST CREST JPMJCR1502, RIKEN PostK hp160213, NIMS MI2I, Kakenhi Nanostructure and Kakenhi 15H05711.
Availability of data and materials
All raw data used for case studies and comparison in the present article are publicly available and can be obtained through their respective publication reference. The source code of MCTSRNA is available at https://github.com/tsudalab/MCTSRNA.
Author information
Affiliations
Contributions
KT proposed the research. KY, AT and KT helped to design the method and drafted the manuscript. XY designed and implemented the method, analyzed the data and drafted the manuscript. All of the authors have read and approved the final manuscript.
Corresponding author
Correspondence to Koji Tsuda.
Ethics declarations
Ethics approval and consent to participate
Not applicable.
Consent for publication
Not applicable.
Competing interests
The authors declare that they have no competing interests.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Additional file
Additional file 1
This supplementary report shows the experimental results for individual Rfam families where the GC content is controlled to different target values and the performance of antaRNA with optimized parameters. (PDF 1198 kb)
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver(http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
About this article
Cite this article
Yang, X., Yoshizoe, K., Taneda, A. et al. RNA inverse folding using Monte Carlo tree search. BMC Bioinformatics 18, 468 (2017). https://doi.org/10.1186/s1285901718827
Received:
Accepted:
Published:
Keywords
 Monte Carlo tree search
 RNA inverse folding
 Local update
 Pseudoknotted structure