From the Bax Group at the National Institutes of Health ...
SPARTA: Shifts Predicted from Analogy in Residue type and Torsion Angle |
|
|
As described in the paper:
Contact: shenyang@niddk.nih.gov; bax@nih.gov |
RedHat Linux (Fedora Core)/Mac/Win32 version (v1.01, last updated Oct 28, 2009, change log)
The download archive can be unpacked in unix with a command like the following:
tar -zxvf sparta.tar.Z
The archive can also be unpacked with a traditional Windows zip software.
A script "install.com" in the package can be used to set up the program.
NOTE that SPARTA+ now replaces all earlier version of SPARTA. [Go to SPARTA+]
What is SPARTA?
Reliability of SPARTA
Components of the SPARTA Package
How to Use SPARTA
Preparing the PDB Coordinates
Adding New Proteins to the Database
Compile the Source Code
About the Name SPARTA
SPARTA uses the phi, psi and chi1 angles of a given residue to predict secondary shifts for that residue. SPARTA also includes the information from the next and previous residues when making predictions for a given residue. So, in practice, SPARTA uses data for three consecutive residues simultaneously (i.e. 9 torsion angles and 3 residue types) to make predictions for the central residue in a triplet.
The idea behind SPARTA is that if one can find some triplet of residues in a protein of known structure with similar structure and sequence to a triplet in a target protein, then the backbone secondary chemical shifts for this protein will be useful predictors for the backbone secondary chemical shifts in the target.
The similarity is measured with a score based on the weighted sum of squares differences between the torsion angles in the target protein and the database entries, so that lower scores indicated high similarity. In order to take advantage of the correlations between residue type and secondary structure, the score also includes a small, qualitative residue type term which biases the matching towards roughly similar sequences.
In practice, SPARTA searches a database for the 20 best matches to a given triplet in the target protein. The weighted averages chemical chemical shifts (obtained by subtracting their corresponding random coil chemical shifts values and the adjustments values arising from the effects of neighboring residues) of the central residues of these 20 matches are used as a prediction for the secondary shift of the central residue. The SPARTA database was constructed using the most well-defined parts of high resolution (2.4 Angstroms or better) X-ray crystal structures to define the phi, psi and chi1 angles, as well as other structural information, such as hydrogen bonding and ring current shifts, which would be used to quantitatively correct the raw predicted shifts from database searching. This database currently includes data from 200 proteins, representing 24,166 triplets.
The reliability of SPARTA approach was tested by a cross-validation procedure where each protein was temporarily removed from the database, and its backbone chemical shifts (N, HN, HA, CA, CB and CO) were predicted using the remaining protein data. The RMS deviations between the predicted and experimental shifts are 2.36, 0.46, 0.25, 0.88, 0.97 and 1.01 ppm, respectively. The same shifts prediction accuracies are also obtained for the proteins with known structures which are not contained in the database.
Importantly, it is found that the standard deviation for the secondary shifts of the center residue in the 20 matches are correlated with the shifts prediction errors. Checking the standard deviations in prediction summary file (pred/pred.tab) will provide an idea of the prediction reliability.
It should be noted that the global structural information, such as ring current shifts and hydrogen bonding, was also carefully considered in SPARTA. The secondary shifts in the SPARTA database are actually the corrected shifts using the calculated ring current shifts from PDB coordinates. As "compensation", the SPARTA predicted shifts for target protein are also corrected by adding the calculated ring current shifts from target protein. For HA and HN, the SPARTA-predicted secondary shifts are also corrected by using their hydrogen bond lengths and their relationship with the prediction errors, which were derived from above cross-validation. Therefore, accuracy of the target coordinates is critical to obtain the reliable hydrogen bond information and ring current shifts, and the final predicted shifts. The calculated hydrogen bond and ring current shifts information are stored in an input summary file (/pred/protein_in.tab).
It should also be noted that the protein backbone chemical shifts are extremely sensitive to the local conformation; therefore, SPARTA results for the residues in the flexible region or the with very large ring current shifts contribution may be less reliable, which was also indicated by the test.
The SPARTA program is implemented using C++. The compiled executable files ($SPARTA_DIR/src/SPARTA for Linux, $SPARTA_DIR/src/SPARTA.exe for Windows, $SPARTA_DIR/src/SPARTA.mac for Mac) or the starting script ("$SPARTA_DIR/sparta" for Linux/Mac) can be invoked with the "TALOS-like" command-line arguments. A complete list of options can be invoked and generated with a "-help" command-line argument.
Use of SPARTA requires definition of an environment variable "SPARTA_DIR"
or one command-line argument "-spartaDir" to specify the SPARTA installation
directory; it will be established automatically
if run SPARTA from the starting script
("$SPARTA_DIR/sparta" in Linux/Mac), which includes the following lines:
setenv SPARTA_DIR /disk1/SPARTA $SPARTA_DIR/src/SPARTA $argv[1-$#argv]Note that the definition of $SPARTA_DIR in the starting script MUST be corresponded to the SPARTA installation directory in order to run the program.
Other files of the SPARTA package include:
$SPARTA_DIR/tab/sparta.tab
The compiled database of residue triplets with their corresponding PHI/PSI/CHI1 angles and secondary shifts.$SPARTA_DIR/tab/randcoil.tab, rcadj.tab, rcprev.tab, rcnext.tab
The tables of random coil shifts, adjustments values from neighboring residues used in the shifts prediction process. (The same tables as used in TALOS, https://spin.niddk.nih.gov/bax-apps/NMRPipe/talos/)$SPARTA_DIR/tab/homology.tab
The residue type homology factors used in the prediction process.$SPARTA_DIR.tab/weight.tab
The weighting factors of PHI, PSI and CHI1 angles, and residue type homology used in the prediction process.$SPARTA_DIR.tab/fitting.tab
The fitting parameters between the prediction accuracy and precision, which will be used after the prediction process to calculate the estimated prediction error.$SPARTA_DIR/shifts/*.tab
The files in this directory are only used when compiling a new database. When compiling a new database, only shift tables ending with the ".tab" extension will be used. The files in this directory are the chemical shift tables in TALOS format for the proteins in the database and must be exactly consistent with the corresponding structures in the SPARTA pdb directory.$SPARTA_DIR/pdb/*.pdb
The PDB coordinates files in this directory are only used along with the files in the SPARTA shifts directory when compiling a new database (e.g. adding new proteins into the database). The sequence and residue numbering must be exactly consistent with the corresponding assignments in the SPARTA shifts directory. Furthermore, the names of these files must be exactly consistent with those of the corresponding chemical shift tables in the SPARTA shifts directory.$SPARTA_DIR/test/*
The contents of this "test" directory include the input files and results for a sample SPARTA analysis.
Use of SPARTA to predict backbone chemical shifts involves the following steps:
sparta -in protein.pdbSPARTA will first generate a "pred/protein_in.tab" file from PDB coordinates, which contains of the phi, psi, chi1 angles, H-bonding information and ring current shifts. During the database search, a series of files "pred/X/res*.tab" (X = N, H, HA, CA, CB and C) will be created. Each one of these files tallies the 20 best database matches for a given residue in the target protein. Before exiting, a file "pred.tab" (defined by "-sum" option) will be created in a "pred" directory (defined by "-predDir" option), this file includes a summary of the prediction results. The database search will typically take about 12 seconds for a 100-residue protein on a Linux PC with a 2.8GHz CPU.
Use of SPARTA to correct chemical shift referencing problem:
If the experimental chemical shifts for a target protein are available (with a name "ref.tab", for example, and with TALOS format), SPARTA can be performed by a command such as:
sparta -in protein.pdb -ref ref.tabSPARTA will compare the predicted chemical shifts and the experimental shifts, a prediction summary file "pred/pred.tab" will be created, which contains both the experimental shifts, the SPARTA-predicted shifts, as well as the prediction errors. If the average prediction error for a given chemical shift type exceeds 3 times the expected errors (the standard deviation of the prediction errors divide the square root of the number of shifts), a warning will be printed and a reference correction will be applied to the experimental chemical shifts. The corrected experimental chemical shifts are stored in a new file "pred/ref.tab".
The input PDB coordinates should be prepared carefully, so that it has the proper format, naming conventions. SPARTA accepts standard PDB coordinates file, but ONLY the FIRST conformer/chain will be used if more than one exist. For the PDB coordinates without hydrogen atoms, the hydrogen atoms are required to be added (by using the programs such as DYNAMO, REDUCE, MOLMOL, or any other similar programs) in order to get the hydrogen bonding information and ring current shifts. The standard "HA2/HA3" names are required for the GLY HA atoms.
Examples of the PDB coordinate format can be found in the "$SPARTA_DIR/pdb" and "$SPARTA_DIR/test" directories.
New protein chemical shift and structure data can be added to the SPARTA database. Note well that this should be done with great care and caution, to ensure that only the reliable phi/psi/chi1 data with consistently referenced and correct chemical shifts are included. It suggests that:
sparta -in protein.pdb -ref ref.tab
Given this, the procedure for adding new proteins to the SPARTA database is simple as:
VARS PDB_NAME FORMAT %24s bpti ubiquitin profilin ...
Note that the "PDB_NAME" entries in this table file must consistent with the file names (without ".tab" and ".pdb" extension) in the SPARTA pdb and shifts directories.
sparta -compile -pdbDir ./pdb -pdbList list.tab
The SPARTA program was implemented with standard C++ using Standard Template Library (STL). To compile the source codes (in /src directory), your system must have a compatible C++ compiler and STL library. Given this, compiling of SPARTA ex ecutable file is simple as:
cd $SPARTA_DIR/src make -f Makefile.$YOUR_SYSTEM
Compiling of the SPARTA program has been tested on Linux (Linux 9 or newer), Windows (XP) and Mac OS X 10.3.4. The compiled executable files ("$SPARTA_DIR/src/SPARTA" for Linux, "$SPARTA_DIR/src/SPARTA.exe" for Windows, "$SPARTA_DIR/src/SPARTA.app" for Mac) are contained in the distributed SPARTA package.