mRNA Optimiser

Redesign mRNA sequences to optimise the secondary structure


The mRNA optimiser is a tool that redesigns a gene messenger RNA to optimise its secondary structure, without affecting the polypeptide sequence. The tool can either maximize or minimize the molecule minimum free energy (MFE), thus resulting in decreased or increased secondary structure strength.

The optimisation is achieved by using an heuristic to look for synonymous gene sequences, and select the ones with the best secondary structure. Evaluations of the secondary structure are made using a correlated stem-loop prediction algorithm that examines the nucleotide sequence for simple stem-loops. This algorithm is fine-tuned to have its results  highly correlated with the MFE evaluations of RNAfold.

Our results indicate that an average of over 40% increase in MFE can be obtained with this method. Also, since there is a tendency to reduce the GC percentage of nucleotide sequences when optimising, the developed tool includes an option to maintain the GC content of the wildtype gene.



P. Gaspar, G. Moura, M. A. S. Santos, and J. L. Oliveira
mRNA secondary structure optimization using a correlated stem–loop prediction
Nucleic Acids Research, Jan 2013, doi: 10.1093/nar/gks1473



Select your operating system:


Current version is 1.0.


The mRNA optimiser is a command line tool (a graphical interface will be available soon). To use it you need to open a terminal window, change to the directory where mRNAOptimiser is, and run it:

1. Open a terminal window

  • In Windows, go to the Start menu, click Run, write cmd, and click Ok.
  • In Mac, write terminal in spotlight and hit enter.

2. Change the directory

  • In Windows, Mac and Linux, write cd in the terminal followed by the directory where you placed the tool.

3. Run the mRNA optimiser

  • In Windows, write mRNAOptimizer.exe and hit enter. Usage indications will show up in the terminal.
  • In Mac and Linux, write java -jar mRNAOptimizer.jar and hit enter. Usage indications will show up in the terminal.

You may choose to supply your mRNA sequence by writing it into the terminal or referring an input file, with the -f input_sequence option. The tool only changes the coding region of the mRNA, therefore you must indicate where the start codon begins (-b index, to indicate the index of the first nucleotide of the start codon) and where the stop codon ends (-e index, to indicate the index of the last nucleotide of the stop codon). The default coding zone is the entire sequence.

To redirect the output results to a file, use the -o output_file option. To choose whether the tool should maximize or minimize the MFE, use the -d type option (default is maximize). You may limit the algorithm in both time and number of iterations by using the options -t max_time and -i max_iterations. Also, the tool will use the standard genetic code by default, but you can select other genetic coding tables using the -c coding_table option.

To maintain the original mRNA percentage of guanine and citosine (GC content) unaltered after optimisation, use the -g option. There is also a quiet mode, where nothing is output except for the resulting sequence, using the -q option.

Any questions and suggestions are welcome 🙂