MCTS-RNA is a computational tool for solving RNA inverse folding problem with controlling the GC-content of the RNA sequence very precisely.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


MCTS-RNA is a tool for RNA inverse folding problem based on Monte Carlo Tree Search method. MCTS-RNA can design nested RNA structures and pseudoknot structures with user designed constraints: wide range and precise GC-content constraint and GC-content devation constraint.


1.RNAfold of ViennaRNA Package needs to be installed for designing nested structures.

2.pKiss is required for designing pseudoknot structures.

2.Python required version is at least version 2.7.

3.Python library of Numpy need to be installed.


You can download the python script, run this script from the shell.

How to use MCTS-RNA?

Once you downloaded the python script of MCTS-RNA and having installed all the requirements, you can execute MCTS-RNA from the shell. The inputs include the dot-bracket representation of target RNA secondary structure ,the target GC-content of the RNA sequence and GC-content error. The following are the examples and explanations of the inputs parameters.

This is an example of the command in the shell for nested RNA structures.

python -s "...(((((..........)))))........((((((((......))))))))(((((.......))))).............(((((..(((((..((..((.(((((.(((((.......))))).)))))...))....))))))))))))" -GC 0.75 -d 0.01 -pk 0

This is an example of the command in the shell for pseudoknot RNA structures.

python -s "....(((((.[[[[.))))).........]]]]..." -GC 0.4 -d 0.02 -pk 1

-s : The target RNA secondary structure.

-GC: The target GC-content of the RNA sequence, choose vaule from the range [0,1].

-d : The GC-content deviation of the solution, which is in range [0,0.02]. MCTS-RNA can output the sequence with more accurate GC-content with smaller GC-content devation setting, the default value of the GC-content devation is 0.01.

-pk: Design nested structure by setting -pk 0 and design pseudoknot structure by setting -pk 1 (currently MCTS-RNA only uses Pkiss) to predict pseudoknot structures.