Jump to: navigation, search

Click here to go back to Pengyu Ren Lab website

This page is for coarse-grained RNA model RACER that we have developed to model and simulate RNA molecules and predict RNA structures.

The simulation program is based on Tinker (in Fortran), and is available free of charge from


or a compressed tarball without *.x and *.o file (compilation is needed)


Compilation follows that of standard Tinker, namely copy the compile.make, library.make, and link.make from the included os/compiler directory into the source directory, and then run:

./compile.make (~15 minutes)


./link.make (~5 minutes)


Most recent set of parameters is located in http://biomol.bme.utexas.edu/~davbell/RNACG/RNA_CG.prm

Key files for annealing simulations http://biomol.bme.utexas.edu/~davbell/RNACG/key_annealing/

Conversion scripts

Located in directory http://biomol.bme.utexas.edu/~davbell/RNACG/conversion_scripts

  1. mapping_atocg.py (converts all-atom pdb to coarse-grained pdb)
  2. xyz2cg_xyz.py (adds tinker atom connections to xyz file)*
  3. cg_xyz2aa_pdb.py (converts coarse-grained xyz file back to all-atom pdb; must minimize to properly position all atoms)
  • 07/25/17 updated xyz2cg_xyz.py (xyz2cg_xyz_v2.py) see conversion scripts folder and 07_25_17 readme

See tutorials for more information

Modify Source Code

All potential routines in TINKER can be found in e***.f files in the source code. For instance, Lennard Jones potential is found in elj.f. Files e**.f and e***3.f only include potential energy computations: e***3.f is computed from the analyze command while e***.f is run for other processes. The force (gradient of the potential) can be found in e**1.f files (1st derivative) which are used in MD. e**2.f files contain the second derivative for computation of the Hessian for certain calculations.

To run MD, analyze, minimize, or run annealing, you need to write e***.f, e**1.f, and e**3.f files. You also need to write a k***.f file (e.g. kvdw.f) if you need to assign parameters from entries read in the key file. You need to add your potential calling and value to the analysis.f, energy.f, and gradient.f subroutines. The parameters you will read into the key file need to be added in the prmkey.f subroutine. You may also need to define global parameters in modules such as kvdws.f.

Once you have modified the appropriate files, be sure to add the correct lines in the compilation scripts ./compile.make (all files), ./library.make (all files), ./link.make (only executable files). Then you can compile and test your new potential with testgrad.x. If you modify again, you need to re-compile only those files with dependencies (e.g. elj.f, gradient.f, and testgrad.f if modifying LJ potential elj.f)


Bell, D. R., et al. (2017). "Capturing RNA Folding Free Energy with Coarse-Grained Molecular Dynamics Simulations." Sci Rep 7: 45812.