SILCS-RNA: Targeting RNAs with small molecules


SILCS-RNA has been developed to tailor the SILCS methodolgy towards targeting RNA molecules with small molecules. The fundamental idea of complementarity between the functional groups in a small molecule and the binding site of the target, originally developed for protein targets, has been further developed and validated for RNA targets. Extensions to the method include an enhanced oscillating excess chemical potential protocol for the Grand Canonical Monte Carlo calculations and individual simulations of the neutral and charged solutes from which the SILCS functional group affinity maps (FragMaps) are calculated for subsequent binding site identification, pharmacophore, docking etc. calculations. Development and validation of SILCS-RNA has taken into consideration the complexities of RNA tertiary structure and the effects of the highly negatively charged phosphate backbone on sampling of neutral and charged probes. Full details have been published in [14].

Preparation of input RNA PDB file

SILCS-RNA requires a clean input RNA PDB file for best results.

The input RNA PDB file:

  • Should NOT contain any ions, solvents or water molecules.

  • Should NOT contain more than one MODEL. For example, PDB files from NMR studies may contain multiple models, and user must remove unwanted models and keep only one.

  • Should NOT contain alternate conformations of residues.

SILCS-RNA simulation setup

Set the environment variables required to access the software:

export GMXDIR=<gromacs/bin>
export SILCSBIODIR=<silcsbio>

Set up the SILCS-RNA simulations

${SILCSBIODIR}/silcs-rna/1_setup_silcs_boxes prot=<RNA PDB file>

To determine if the setup is complete, check that the 20 PDB files required for the simulations are available using the command ls 1_setup_*/*_silcs.*.pdb It is also a good idea to visualize these files to confirm the presence of the RNA molecule and the SILCS solute molecules (probes) within a box of water molecules. In contrast to standard SILCS with protein targets, SILCS-RNA simulations split the GCMC/MD simulations into two separate sets, one having neutral probes (1_setup_neutral) and the other having charged probes (1_setup_charged).

The setup command offers a number of options. The full list of options can be reviewed by running the command without any arguments:

This script will setup Topology/PDB for SILCS simulations

Usage: $SILCSBIODIR/silcs-rna/1_setup_silcs_boxes prot=<RNA PDB file>

Optional Parameters:
   numsys=<# of simulations; default=10>
   skip_pdb2gmx=<true/false; default=false>
   lig=<lig.mol2; default=empty/NULL>
   margin=<system margin in Angstrom; default=15>
  • lig: Use this option if your input structure contains a ligand and you wish to compute your FragMaps in the presence of that ligand. Remove the ligand from the input RNA PDB file, and provide the structure of the ligand in .mol2 format using this option. The ligand needs to be aligned appropriately with the RNA structure.

  • core_restraints_string: By default, a weak harmonic positional restraint, with a force constant of ~0.1 kcal/mol/Å2, is applied to all MG, C1’, URA-N3, CYT-N3, ADE-N1 and GUA-N1 atoms during simulations. The option to change this default is not available in the current version of SILCS-RNA.


The setup program internally uses the GROMACS utility pdb2gmx, which may have problems processing the RNA PDB file. The most common reasons for errors at this stage involve mismatches between the expected residue name/atom names in the input PDB and those defined in the CHARMM force-field.

To fix this problem: Run the pdb2gmx command manually from within the 1_setup_neutral AND the 1_setup_charged directories for detailed error messages. For guidance on syntax, the setup script already prints out the exact commands you need to run.

cd 1_setup_neutral
pdb2gmx –f <RNA PDB NAME>_4pdb2gmx.pdb –ff charmm36 –water tip3p –o test.pdb –p -ter -merge all
cd ../1_setup_charged
pdb2gmx –f <RNA PDB NAME>_4pdb2gmx.pdb –ff charmm36 –water tip3p –o test.pdb –p -ter -merge all
cd ..

Once all errors in the input PDB are corrected, rerun the setup script with skip_pdb2gmx=true.

SILCS-RNA GCMC/MD simulation

Following completion of the setup, start the 20 GCMC/MD jobs: script:

${SILCSBIODIR}/silcs-rna/2a_run_gcmd prot=<RNA PDB file>

This script will submit 20 jobs to the predefined queue. Each job runs 100 ns of GCMC/MD with the RNA and the solute molecules; 10 jobs are with neutral solute molecules (probes), and 10 are with charges solute molecules (probes).


SILCS simulations are run at a temperature of 298 K by default. It is possible to set a custom temperature by adding the temp=<simulation temperature; default=298> option to the 2a_run_gcmd command. For example, temp=310 would run the SILCS simulations at 310 K.

Once the simulations are complete, the 2a_run_gcmd_neutral/[1-10] AND 2a_run_gcmd_charged/[1-10] directories will contain *.prod.100.rec.xtc trajectory files. If these files are not generated, then your simulations are either still running or stopped due to a problem. Look in the log files within these directories to diagnose problems.

To check job progress, use:


This will provide a summary list of the SILCS jobs consisting of the job path, the job number, the task ID, the job status, and the current/total number of GCMC/MD cycles. Job status values are: Q [queued], R [running], E [successfully ended], F [failed], NA [not submitted].

FragMap generation

Once your simulations are done, generate the SILCS FragMaps using the following command:

${SILCSBIODIR}/silcs-rna/2b_gen_maps prot=<RNA PDB file>

This will submit 20 single-core jobs that will build occupancy maps (FragMaps) spanning the simulation box for select solute molecule atoms representing different functional groups. For a ~50K atom simulation system, this step takes approximately 10-20 minutes to complete. The FragMaps have a default grid spacing of 1 Å.

The next step is to combine the occupancy FragMaps generated from individual simulations and convert them into GFE FragMaps. Each voxel in a GFE FragMap contains a Grid Free Energy (GFE) value for the probe type that was used to create the corresponding occupancy FragMap.

${SILCSBIODIR}/silcs-rna/2c_fragmap prot=<RNA PDB file>

GFE FragMaps will be created in the silcs_fragmap_<RNA PDB NAME>/maps directory, and PyMOL and VMD scripts to load these file will be created in the silcs_fragmap_<RNA PDB NAME> directory. Please see Visualizing SILCS FragMaps for details on how to use the SilcsBio GUI, as well as external software (MOE, PyMol, VMD), to visualize SILCS FragMaps.

As with FragMaps for protein targets, your SILCS-RNA FragMaps for RNA targets can be used for optimization of a parent ligand (SILCS-MC: Ligand Optimization), docking of ligands and refinement of existing docked poses (SILCS-MC: Docking and Pose Refinement), creation of pharmacophore models (SILCS-Pharm: Receptor-Based Pharmacophore Models from FragMaps), and detection of hotspots and fragment-based drug design (SILCS-Hotspots: Fragment Binding Sites Including Allosteric Sites).


Raw trajectory output files are large. To reduce disk usage due to these files, use the cleanup command:

${SILCSBIODIR}/silcs-rna/2d_cleanup prot=<RNA PDB file>

The 2d_cleanup command deletes unnecessary files, such as those from the equilibration phase, and deletes hydrogen atoms from production trajectory files for each run directory, 1/, 2/, etc. It then creates a .tar.gz file of that directory. That is to say, the contents of 1.tar.gz and 1/ after running cleanup are identical. You may choose to remove either one of those without loss of information, though we strongly recommend comparing the output of tar tvzf <run>.tar.gz with the output of find <run> -type f, where you replace <run> with 1, 2, etc. and confirm the contents are identical before deleting anything.