RIBFIND: finding rigid bodies in protein structures



Topf Group

DSSP server



RIBFIND enquires

Input details

Input PDB file: (e.g. PDB file)

(Note: The file should be in PDB format; All residues should be numbered continuously)

Input DSSP file (optional): (e.g. DSSP file)

(Note: The DSSP file should be for the corresponding input PDB file; It can be obtained by submitting the PDB file to the DSSP server. Alternatively, a standalone version can be downloaded from this link Download DSSP standlone.)

Input contact distance (in Angstrom):

Input MRC map (optional): (e.g. map file)

(Note: The file should be in MRC format; The PDB and Map file should be in the same coordinate space to aid visualization in Jmol)

Email address:

Sample output

Please click the below link to view the result page for the above sample inputs

View sample output

1) Download ribfind_prg.tgz file
2) Extract the compressed file using

tar xvf ribfind_prg.tgz

3) The python script and the data files will be extracted into a new directory (/ribfind_prg/)

Contents of the directory:
a) ribfind.py (Main RIBFIND python script)
b) model.pdb (Sample input pdb file)
c) sse.dssp (Sample input dssp file)
d) color_rigid_bodies.py (Chimera script file to color RIBFIND clusters)
f) COPYING.txt (Copyright file)

4) Run ribfind.py in the command line (please follow the below usage):

Example usage on the command line:

>python ribfind.py model.pdb sse.dssp 6.5 > ribfind.log

model.pdb is the input pdb file
sse.dssp is the DSSP file containing the secondary structural definition for the corresponding input pdb file
6.5 is the contact distance in Angstrom. User can vary this value, however 6.5 is the default value used.
ribfind.log will contain a summary of the result

5) color_rigid_bodies.py is a python script to generate chimera script file which will be used by Chimera to color the clusters identified by RIBFIND.

Example usage on the command line:

>python color_rigid_bodies.py model.denclust_36 model.pdb chimscript.py

color_rigid_bodies.py is this script.
model.denclust_36 is an example rigid body file generated by RIBFIND.
model.pdb is the corresponding pdb file used by RIBFIND.
chimscript.py is the user defined output file onto which the chimera scripts will be written. It should have an extension (.py).

Note: The files model.denclust_36 and model.pdb should be in the current directory while running.

After successfully running the script, please open the output file chimscript.py within Chimera to view the colored RIBFIND clusters.
Individual clusters are colored randomly.
Individual SSEs and loops that are not part of the any cluster will be colored white.

1) The residues in the input pdb file should be numbered continuously
2) The dssp file corresponding to the input pdbfile can be obtained from (http://www.cmbi.ru.nl/xssp/)

The program will generate separate rigid body files in Flex-EM format (text format) for the entire cluster cutoff from 1 to 100% for the given contact distance value. For the example, the rigid body file for the input pdb 'model.pdb' for the cluster cutoff value of 36% will be stored in model.denclust_36.

An example output file (model.denclust_36) is shown below.

#RIBFIND_clusters: 6.5 36.0 3 9 11 3.82
105 120 136 152 125 130 155 161 185 188 210 215 231 234 266 268 121 124 131 135 153 154
191 204 166 179 218 225
237 252 14 30 3 8 33 38 58 63 85 88 99 103 260 263 9 13 31 32 89 98 253 259
#individual_rigid_bodies 2
43 53
72 80

The output file will contain two sections. In the first section "#RIBFIND_clusters:" each line contains a set of start and end residue numbers that fall into a cluster. The above output file contains three clusters with each cluster showing sets of start and end residue numbers. The header "#RIBFIND_clusters:" also contain the following the information: the contact distance, the cluster cutoff, number of clusters identified by RIBFIND, the total number of SSEs in all the clusters, the total number of SSEs in the input pdb file and the weighted number of clusters. Finally the last section "#individual_rigid_bodies" lists each individual SSEs (start and end residue numbers) which are not part of any cluster in a separate line. The total number of SSEs not found in the clusters is given in this header section.

Note: The cluster cutoff value corresponding to the maximum weighted number of clusters can be found in the log file.

Note: ribfind.py uses biopython and numpy packages and need to be installed.

a) If there are missing residues in the structure, RIBFIND will run, but it is not necessarily going to provide the appropriate division of rigid bodies and flexible regions (as designed by the method) due to the missing information.

b) Running RIBFIND on the same protein in two conformations, the method may not identify the same rigid bodies, especially if one of the conformations is very compact.

The web server works on the following operating system/web browsers:

Windows 7 (Google Chrome and Firefox)
Linux (Firefox and Google Chrome)
Mac OS X (Google Chrome, Firefox and Safari)

For all the browsers, the appropriate Java Runtime Environment (JRE) must be installed and the Java plugin must be enabled for proper functioning of the Jmol applet in the web server.

To quickly check whether your browser has JRE installed, try to open the below link from the Jmol official page in your browser:


The link should successfully load and show the molecule ÔCaffeineÕ inside the Jmol applet in your browser. If not, then please install the appropriate JRE from http://www.java.com.

You should also enable Java in your web browser. Please follow the instructions below to do this:


For more explanation about RIBFIND method please see
Pandurangan, A.P., Topf, M., 2012. Finding rigid bodies in protein structures: Application to flexible fitting into cryoEM maps. J. Struct. Biol. 177, 520-531.

If you use this program, please cite:
1) Pandurangan, A.P., Topf, M., 2012. Finding rigid bodies in protein structures: Application to flexible fitting into cryoEM maps. J. Struct. Biol. 177, 520-531.
2) Pandurangan, A.P., Topf, M., 2012. RIBFIND: a web server for identifying rigid bodies in protein structures and to aid flexible fitting into cryo EM maps. Bioinformatics 28, 2391-2393.