Author: Rhiju Das

Added to documentation: June 2013

Code and Demo

The central code for the rna_thread application is in apps/public/rna/

For a 'minimal' demo example of RNA threading:


of the simpler RNA mutation:



This threading code was first described in:

Cheng, C.Y., Chou, F.-C., and Das, R. (2015) "Modeling complex RNA tertiary folds with Rosetta." Methods in Enzymology 553 : 35 - 64. Paper Link

Application purpose

This code is intended to thread new sequences onto previously solved RNA coordinates ('templates') for RNA homology modeling.



  • Within Rosetta, this code does not preserve the fold-tree
  • The code has not been optimized for speed and is not encapsulated into a class yet.

Input Files

Required files

> GIR1 group-I like ribozyme in I-DirI gene from D. iridis


If you just want to mutate sequence, can supply this on command line by -seq; see below rna_mutate.

How to run with this file.

rna_thread.<exe> -in:file:fasta 3bo3_REARRANGE_to_GIR1.fasta -s 3bo3_REARRANGE.pdb  -o 3bo3_REARRANGE_to_GIR1_thread.pdb -seq_offset 63

This demo threads a group I intron crystallographic structure (3bo3_REARRANGE) into the group-I-like branching ribozyme GIR1, and was used in the fifth RNA puzzle trial.

Quick mutate

If you just want to mutate some positions in an RNA and don't want to create a fasta file, you can run a command line like:

rna_thread -s rosetta_inputs/1zih_RNA.pdb  -seq gggcgcgagccu -o 1zih_A7G.pdb


  • When you create your FASTA file or supply a sequence from command line (with -seq), make sure the RNA sequence is in lowercase.
  • The code currently only handles 'standard' RNA residues in the input PDB file. You may want to run your PDB file through (described in RNA-tools) or edit any non-standard residues (like GTP) into standard residue names (like G) by hand.


-in:file:s                     Name of single PDB file with template coordinates
-in:file:fasta                 Name of alignment file in FASTA format. First sequence should be
                                target sequence, and second sequence should template sequence
-o                             Name of output PDB file
-seq_offset                    [optional] Integer to be added to residue numbers for output. [default=0]
-seq                           [alternative to -in:file:fasta] sequence of output PDB. Must have
                                same number of residues as template PDB.

See Also