OOPS is an Open Protein Simulator; it is a program that offers a flexible framework where different approaches and algorithms for protein folding, dynamics and structure prediction can be tested and benchmarked with ease. OOPS is entirely based on the PL and its plugin architecture.


Basically, OOPS contains a main simulation loop where an arbitrary number of PL plugins can be inserted for sequential execution. Each one of these plugins, compiled as a dynamically loadable library, encodes a particular computation that is carried out at every iteration of the loop. These computations can range from Monte Carlo sampling of backbone dihedral angles to calculation of solvent accessible areas. In fact, OOPS can be thought as a command-line wrapper for the PL which loads and executes calculation PL plugins within its main simulation loop. The input and output is also based on the PL plugin system, hence OOPS has no built-in support for any particular file format and the appropriate IO plugins have to be provided in order to read and save simulation data.

Cluster OOPS

OOPS has been packaged in two different "distributions" which contains not only the OOPS source code and binary, but also the PL plugins, parameter and configuration files required to run folding simulations and scripts to facilitate the operation of the program. These distributions or packages are clOOPS and pyOOPS, both available in the downloads section. ClOOPS, for Cluster OOPS, is a Linux-only package that allows one to run OOPS on Linux clusters which operate with the PBS scheduling system. It can also be used to run calculations on single-user Linux workstations.

The installation of clOOPS does not require root privileges. After downloading and uncompressing the tar.gz file, just change into the src subdirectory inside the main directory, and run the install script. This will compile all the source code and copy the resulting binaries and libraries to the bin subdirectory:

$ tar xvfz clOOPS-0.9.4-src.tar.gz
$ cd clOOPS-0.9.4-src
$ ls
bin/  data/  docs/  prj/  Projects/  src/  VERSION
$ cd src
$ ./install
$ cd ../bin
$ ls
-rwxr-xr-x  1 joe joe  19408 Apr 27 14:35 backbone*
drwxr-xr-x  2 joe joe   4096 Apr 27 14:35 calc/
-rwxr-xr-x  1 joe joe  19389 Apr 27 14:35 distance*
drwxr-xr-x  2 joe joe   4096 Apr 27 14:35 io/
lrwxrwxrwx  1 joe joe     22 Apr 27 14:34 -> ./*
lrwxrwxrwx  1 joe joe     22 Apr 27 14:34 -> ./*
-rwxr-xr-x  1 joe joe 326245 Apr 27 14:34*
-rwxr-xr-x  1 joe joe 673404 Apr 27 14:34*
-rwxr-xr-x  1 joe joe 154309 Apr 27 14:35 oops*
-rwxr-xr-x  1 joe joe   3255 Apr 27 14:35 plot*
-rwxr-xr-x  1 joe joe  17056 Apr 27 14:35 predict*
-rwxr-xr-x  1 joe joe  10754 Apr 27 14:35 pred_stats*
-rwxr-xr-x  1 joe joe   7987 Apr 27 14:35 pred_table*
-rwxr-xr-x  1 joe joe   7900 Apr 27 14:35 restore_oops*
-rwxr-xr-x  1 joe joe  17161 Apr 27 14:35 run_addsc*
-rwxr-xr-x  1 joe joe  20934 Apr 27 14:35 run_oops*
-rwxr-xr-x  1 joe joe  20757 Apr 27 14:35 run_pred*
-rwxr-xr-x  1 joe joe  22520 Apr 27 14:35 run_trja*
-rwxr-xr-x  1 joe joe  60111 Apr 27 14:35 scalc*
-rwxr-xr-x  1 joe joe  18815 Apr 27 14:35 sconv*
-rwxr-xr-x  1 joe joe   5257 Apr 27 14:35 split*
-rwxr-xr-x  1 joe joe  16996 Apr 27 14:35 trja*
-rwxr-xr-x  1 joe joe   6907 Apr 27 14:35 trja_stats*
-rwxr-xr-x  1 joe joe   4852 Apr 27 14:35 trja_table*
-rwxr-xr-x  1 joe joe   4269 Apr 27 14:35 validate*

To run simulations, there is no need to invoke the oops command directly. The provided run_oops script reads the parameters stored in a project directory and will execute all the appropriate commands. A project directory contains all the configuration files defining the energy functions, sampling algorithms, etc. The clOOPS package includes two sample project directories: prj/AbInitioFold and prj/IntraBasinFold. To execute oops on any of these projects, type in the following command:

$ ./run_oops ../prj/AbInitioFold