over the past 20 years , nuclear magnetic resonance ( nmr ) spectroscopy has emerged as one of the most powerful physical methods to study the structure and dynamics of proteins .
it combines the strengths of such methods as fluorescence and circular dichroism for characterizing proteins in solution with the power of x - ray crystallography to perform these characterizations atom by atom . aside from x - ray crystallography ,
nmr is the only other method available that allows the 3d structure of proteins to be determined to atomic resolution ( 1 ) .
furthermore , nmr is the only known method that allows protein structures and dynamics to be determined in solution ( i.e. near physiological conditions ) . to date , more than 7000 peptide and protein structures have been determined by nmr and deposited into the pdb ( 2 ) .
each one of these structures was determined using a three - step process pioneered by kurt wuthrich and colleagues ( 3 ) in the early 1980s .
this process involves : ( i ) determining the chemical shift assignments of the target protein ; ( ii ) measuring the inter- and intra - residue h noes ( nuclear overhauser enhancements ) to generate short - range distance constraints and ( iii ) using the noe - derived constraints to perform molecular dynamics or distance geometry to calculate the 3d structure of the protein . over the years
, slight improvements to this process have occurred with the inclusion of more experimental constraints such as heteronuclear j - couplings ( 4 ) and residual dipolar couplings ( 5 ) or the introduction of improved conformational sampling protocols such as simulated annealing ( 6 ) .
nevertheless , the central concept of using noe - based methods to determine the 3d structure of proteins has remained essentially unchanged for nearly a quarter century . while noe - based methods are generally robust and well - proven , they are not without their faults . in particular , the measurement of h noes is both time - consuming and error - prone .
furthermore , noes becomes progressively less useful and more difficult to measure as the size of the proteins increases .
this constraint means that the determination of 3d structures by nmr for proteins larger than 200 residues is very difficult and infrequent . with the emergence of structural genomics and structural proteomics ,
there have been a number of efforts aimed at accelerating the nmr structure determination process or extending the upper size limits for which nmr can be used .
almost all of these have focused on either eliminating the chemical shift assignment step ( 7,8 ) or automating the assignment of noes ( 9,10 ) . rather than looking at ways of improving noe measurements , a small minority of nmr researchers have been looking at ways of skipping the noe step altogether and going directly from chemical shift assignments to 3d structures ( 1114 ) . unlike noes ,
furthermore , chemical shifts provide exquisitely detailed information about the covalent structure of atoms and molecules . indeed , when properly analyzed , chemical shifts can be used to infer secondary structure , flexibility , dihedral angles , side - chain orientations , hydrogen - bonding interactions and electrostatic or ionic interactions ( 11 ) .
recently , several papers have appeared which suggest that reasonably accurate protein structures can be determined directly from chemical shifts ( 1114 ) . of particular interest
( 14 ) , both of which showed that accurate 3d structures for a number of small ( < 120 residue ) proteins could be calculated using a combination of nmr chemical shifts , fragment assembly and heuristic potential functions .
however , the computational effort required for this process is quite extreme , with individual structures requiring 1000s of cpu hours of calculation . here
, we wish to describe a simple web server , called cs23d ( chemical shift to 3d structure ) , that allows the rapid ( 15 min on 1 cpu ) and accurate determination of protein structures using only assigned chemical shifts as input .
cs23d builds on nearly 15 years of research in our lab related to using chemical shifts to identify secondary structures ( 15 ) , to predict torsion angles ( 16 ) , to identify protein folds ( 11 ) , to predict protein flexibility ( 17 ) , to refine protein structures ( 11 ) and to correct chemical shift referencing ( 18 ) .
in particular , cs23d combines a technique we call maximal subfragment assembly with other techniques such as chemical shift threading , de novo structure generation ( via rosetta ) , chemical shift - based torsion angle prediction and chemical shift refinement to generate and refine the protein coordinates .
tests conducted on > 100 proteins from the biomagresbank ( for which chemical shifts and 3d structures are available ) indicate that cs23d converges ( i.e. finds a solution ) for about 95% of protein queries .
the resulting structures have a backbone rmsd < 2  of the known structure and generally exhibit better geometry and chemical shift agreement than conventionally determined nmr structures .
cs23d is composed of two parts , a front - end web interface ( written in perl and html ) and a back - end consisting of eight different alignments , structure generation and structure optimization programs ( written in java , perl , python and c / c++ ) along with three local databases ( figure 1 ) .
the front - end accepts both shifty ( 18 ) and bmrb ( 19 ) formatted chemical shift files .
the shift files may be either pasted or typed into the text box or uploaded through a file browse button . the output for a typical cs23d structure calculation consist of a set of 10
lowest energy pdb coordinates in a simple , downloadable text format . a hyperlink to view the single lowest energy structure through the webmol viewer ( 20 )
in addition , details about the overall energy score ( prior to and following energy minimization ) , chemical shift correlations ( between the observed and calculated shifts ) and torsion angle violations is provided at the top of the output page .
if the structure calculation failed to converge to a reasonable value , a warning is printed at the top of the page .
details about the cs23d energy function , reasonable values for chemical shift  energies and reasonable values for torsion angle violations is provided in the documentation link on the cs23d home page . 

figure 1.a flow chart outlining the general structure of the cs23d web server and the programs that it calls to generate protein structures from chemical shift data . the specific function of each of the named programs ( thrifty , pepmake , rosetta , etc .
) is explained in the text . a flow chart outlining the general structure of the cs23d web server and the programs that it calls to generate protein structures from chemical shift data . the specific function of each of the named programs ( thrifty , pepmake , rosetta , etc . )
a flow chart describing the processing logic used in cs23d is shown in figure 1 . as seen in this diagram , the input chemical shift file
is initially partitioned into two parts , a sequence - only file and a sequence plus chemical shift file .
the sequence file is searched against a nonredundant database of pdb sequences and secondary structures from ppt - db ( 21 ) using blast ( 22 ) with a length - dependent expect cutoff , ranging from 10 ( for < 11 residues ) to 10 ( for > 50 residues ) .
this step is done to identify short sequence fragments of known protein structures that exhibit good ( > 35% over 20 + residues ) sequence identity to the query sequence .
this step allows cs23d to find a series of maximum - length sequence fragments that matches the query sequence . at the same time , the chemical shift file is submitted to three different chemical shift analysis programs : refcor ( 17,18 ) , csi ( 15 ) and preditor ( 16 ) .
the rci program is used to re - reference the input chemical shifts , the csi program is used to calculated secondary structure locations from the input chemical shifts and preditor is used to calculate backbone and side - chain torsion angles . checking chemical shift files for proper referencing is critical to obtaining accurate information about protein structures .
furthermore , many operations in cs23d ( including csi and preditor ) depend on having correctly referenced chemical shifts .
preditor is a locally developed program that uses chemical shift similarity over short protein fragments and a database of known protein torsion angles to generate backbone and side - chain torsion angles .
it has been shown to be very fast ( 10 sec ) and accurate ( 85% of residues within 15 ) .
the backbone torsion angles derived from preditor are then mapped into nine different regions in ramachandran space , each of which are assigned specific letters .
the details of the torsion - angle - letter mapping scheme are shown in the cs23d documentation web page . by converting pairs of torsion angles into letters , it is possible to use a third program called thrifty ( 11 ) to perform chemical shift threading .
sequence of shift - derived torsion angles generated by preditor and searches against a database of 18 500 nonredundant pdb structures that have had their structures converted to the previously described nine - letter ramachandran code .
once again , blast , with similar scoring cutoffs to that used in the sequence alignment step , is used to identify fragments of varying length in the cs23d torsion - angle database that maximally match the query torsion angles .
this chemical threading process can also be used at a global level to identify potential protein folds that match the chemical shift information contained in the query protein assignments .
thrifty is also used to perform a secondary structure alignment between the secondary structure of the query protein ( calculated by csi ) and a large database of known protein secondary structures maintained at the ppt - db ( 21 ) .
this secondary structure threading is used to evaluate and select subfragments that will be used to assemble the final 3d structure .
subfragments identified by the sequence alignment and chemical shift threading schemes are then compared , weighted and assembled into an initial 3d structure using a program called sfassembler ( subfragment assembler ) .
sfassembler evaluates each of the fragments found by the sequence alignment , secondary structure threading and torsion angle threading steps .
four cases are considered : ( i ) if the same or similar fragments are found in all three cases ( with sequence or secondary structure sharing > 50% identity ) , sfassembler uses the coordinates of the fragment from the sequence - matched pdb file ; ( ii ) if there are significant differences ( < 50% secondary structure identity ) between the secondary structures found for the sequence - derived match and the shift - derived match , sfassembler uses the coordinates of the shift - matched pdb file ; ( iii ) if no significantly matching sequence fragment is found , but a shift - based threading fragment match is found , the coordinates from the shift - matched fragment are used by sfassembler and ( iv ) if no fragment is found that has either a significant sequence match or a significant chemical shift match , then the torsion angles calculated from preditor are used to generate the coordinates ( via pepmake ) .
after these checks have been performed , sfassembler takes all selected pdb fragments or preditor - generated coordinate files and concatenates them together into a single 3d backbone structure .
for instance , if one fragment of the query protein ( say residues 155 ) meets criteria # 1 , another fragment ( say residues 5693 ) meets criteria # 3 and a third fragment ( say residues 94106 ) meets criteria # 4 , sfassembler will generate coordinates and concatenate all three segments together .
backbone gaps are filled in using a technique called cyclic coordinate descent ( 23 ) , while side chains are added using standard homology modeling techniques .
because no length limits are placed on the size of the matching subfragments , sfassembler can sometimes function as a homology modeling program , particularly if a single large and contiguous region of sequence similarity is found .
however , unlike conventional homology modeling programs , sfassembler is also capable of generating structures for tandem , multi - domain proteins , for chimeric proteins , for proteins that fall far below sequence thresholds required for standard homology modeling , and most importantly , for generating structural elements for which no structure template exists ( see the  gallery page on the cs23d home page for examples ) .
the initial structure generated by sfassembler is evaluated by calculating a weighted correlation coefficient between the observed shifts and the calculated shifts using shiftx ( 24 ) .
if this correlation coefficient is too low or if the concatenated structure has < 40% of the structure assembled by preditor - generated coordinates ( criteria # 4 ) , the structure is accepted and refined using a locally developed chemical shift / energy refinement program called gafolder . after refinement , the pdb coordinates of the 10 lowest energy structures are mailed to the user along with the details of their evaluation and energy minimization .
if the resulting structure fails these checks , it is discarded and a new structure is generated using rosetta ( 25 ) .
rosetta is used by cs23d as a fail - safe procedure to generate potential 3d folds when the query protein exhibits absolutely no known sequence or chemical shift similarity over any part to any previously characterized protein .
briefly , rosetta is a public domain , open source , ab initio protein structure prediction program developed by david baker 's lab over the last decade ( 25 ) .
it uses the concept of fragment - based assembly similar to that employed by sfassembler , but at a much lower level of sequence identity and over much shorter fragment lengths .
cs23d 's implementation of rosetta uses a local fragment generation routine constrained by preditor - generated torsion angles .
it employs rosetta 's default values for generating and evaluating protein structures , but these candidate structures are further evaluated using a combination of weighted chemical shift correlation coefficients ( a chemical shift  energy ) .
the weightings used in the chemical shift evaluation step are provided in the cs23d documentation pages . to limit the time taken in this step , cs23d limits the number of rosetta - generated candidate structures to 300 .
if after the refinement step , the structure has a positive energy value , cs23d generates the following warning message  structure did not converge. however , the coordinates of the highest scoring structure are still presented in the output so that the user may attempt to use these as starting coordinates for a more conventional noe - based structure determination . for its energy minimization and chemical shift refinement step , cs23d employs a torsion - angle - based energy minimizer called gafolder that uses a genetic algorithm to sample conformation space .
the method is similar to that employed by genfold ( 26 ) , although gafolder uses cyclic coordinate descent ( 23 ) to perform more efficient writhe operations and it uses coordinates generated by the preditor step ( figure 2 ) to perform segment swapping operations .
the gafolder potential energy function is a knowledge - based potential that includes information on predicted / known secondary structure , radius of gyration , hydrogen - bond energies , number of hydrogen bonds , allowed backbone and side - chain torsion angles , atom contact radii ( bump checks ) , disulfide bonding information and a modified threading energy based on the bryant and lawrence potential ( 27 ) .
the chemical shift component of the gafolder potential uses weighted correlation coefficients calculated between the observed and shiftx ( 24 ) calculated shifts of the structure being refined .
the weighting coefficients for all of the parameters are given in the cs23d documentation web page .
evaluations using nearly 44 000 3d structure predictions from the casp7 collection showed that the gafolder potential ( without the chemical shift component ) was able to identify the native or near - native ( < 2.5  rmsd ) structure in 80/90 ( 89% ) of the casp7 targets . 

figure 2.an illustration of how chemical shift minimization can improve the structure of a poorly modeled initial structure .
this shows the improvement seen in a deliberately distorted model of ubiquitin . in this case , the protein regains much of its lost secondary structure and the rmsd converges from 2.5 to 1.0  from the native structure .
an illustration of how chemical shift minimization can improve the structure of a poorly modeled initial structure .
this shows the improvement seen in a deliberately distorted model of ubiquitin . in this case , the protein regains much of its lost secondary structure and the rmsd converges from 2.5 to 1.0  from the native structure .
cs23d was evaluated in six different ways : ( i ) assessing its ability to refine input structures ; ( ii ) assessing the quality of its structures relative to known x - ray and nmr structures ; ( iii ) assessing it capacity or robustness in generating ( and refining ) randomly selected structures from the bmrb ; ( iv ) assessing its capacity to generate and refine very recently submitted bmrb assignments ; ( v ) assessing its capability to generate and refine de novo structures and ( vi ) comparing its performance to previously described programs ( 13,14 ) . in the first assessment ,
the quality of cs23d 's chemical shift / energy refinement routine was investigated by looking at how distorted or nonnative structures could be refined towards near - native or native structures .
this was tested on a collection of eight proteins for which complete chemical shifts and high - quality x - ray structures were available .
these structures were then distorted or damaged using random torsion angle displacement . after this distortion step
the structures were run through gafolder for 3000 iterations and the resulting structures were assessed in terms of the rmsd between the calculated structure and the native structures as well as the energy difference between the native and the calculated structure .
table 1 in the cs23d documentation web page shows the results of these calculations . on an average ,
the rmsd was lowered by 1.0  , with the final structure having an average rmsd of 1.5  relative to the native x - ray structure .
figure 2 shows an example of how gafolder was able to correct a distorted ( 2.5  rmsd ) structure of ubiquitin and bring it back to within 1.0  rmsd of the 
table 2 ( documentation web page ) illustrates the results of comparing the x - ray structure , nmr structure and cs23d - derived structure for nine proteins for which both x - ray and nmr structures exist .
as seen in this table , the cs23d - derived structures have about one - third of the number of ramachandran violations and omega angle violations found in their conventionally determined nmr counterparts .
likewise , the proportion of hydrogen bonded residues , hydrogen - bond energies and average chemical shift correlation coefficients are about 510% higher for cs23d - dervied structures than conventionally determined nmr structures .
in fact , the cs23d structures are generally closer in structure quality characteristics to the corresponding high - resolution x - ray structures . to assess cs23d 's effectiveness at generating high - quality structures from standard bmrb files , 62 bmrb files of monomeric proteins were randomly selected from the refdb database ( 18 ) . in order to avoid having the query match itself , the pdb structure of each of these query proteins was removed from cs23d 's sequence / structure databases .
after this database - editing step , each of the 62 proteins was submitted to the cs23d server using its default settings .
the structure of each of the lowest energy cs23d generated structures was evaluated by comparing its rmsd to that of the native structure .
cs23d was able to generate a converged structure in 97% ( 60/62 ) of the cases .
further , the average ca rmsd between the known structure and the cs23d generated structures was 1.1  rmsd ( the range was 0.13.1  ) . the average time to generate and refine each structure was 10.2 min .
this varied depending on the size , sequence similarity to known structure and structure generation methods ( homology modeling / fragment assembly , chemical shift threading , de novo structure generation ) used by cs23d .
interestingly , the majority of cases ( 92% ) were solved by cs23d using large fragment ( i.e. homology ) modeling supplemented with fragment concatenation .
the high level of returned results probably exaggerates the real frequency with which cs23d would generate converged structures .
this is because many of the proteins in refdb ( and by default the bmrb ) are well - studied proteins for which many homologues have been characterized . to better assess the effectiveness of cs23d among newly deposited bmrb entries ( for which novel folds or structural genomics entries
may be more common ) , we downloaded all the 3 april 2008  recent releases from the bmrb chemical shift repository and processed them through cs23d ( total = 48 files ) .
as before , the pdb structure of each query protein was removed from cs23d 's sequence / structure database prior to structure generation .
of the 39 files for which structures were available in the pdb ( for comparative purposes ) , cs23d succeeded in generating converged structures for 36 of them ( web table 4 ) , with approximately the same proportion generated via homology modeling / fragment assembly ( 82% ) , chemical shift threading ( 14% ) and de novo structure generation ( 4% ) as seen in web table 3 .
several independent estimates of the reported frequency of completely novel folds being deposited into the pdb or being solved by nmr suggest that only about 5% of all structures have this characteristic ( 28 ) .
based on these data , we would estimate that cs23d , under routine use by the nmr community , would be able to generate a converged structure at least 95% of the time .
to assess cs23d 's capabilities in generating and refining de novo structures , we conducted several tests ( tables 5 and 6 on the cs23d documentation page ) . in the first instance , 10 small proteins ( < 130 residues ) were processed through cs23d with the subfragment assembly and chemical shift threading options turned off ( table 5 ) .
this forced the program to use only its ab initio folding components ( torsion angle constraints + rosetta ) .
the average backbone rmsd for this set of ab initio cs23d - folded proteins was 2.1  .
table 6 illustrates the performance of cs23d relative to the level of sequence identity and subfragment or chemical shift threading matches . in preparing table 6
, we used ubiquitin as the query and progressively removed each of the matching homologues from cs23d 's structure databases . in total , ubiquitin had nine proteins that exhibited sequence identity of > 40% and blast expect scores of < 10 over some significant portion of the ubiquitin sequence .
true ubiquitin structure ranged from 0.5  ( at 90100% identity ) to 0.9  ( at 40% sequence identity ) .
after these were removed , we found an additional 14 proteins in the pdb that exhibited secondary structure or torsion - angle identity of > 25% and blast scores of < 10 .
true ubiquitin structure in these cases ranged from 0.8  ( at 3555%  torsion identity ) to 4.2  ( at 2535%  torsion identity ) .
after these were removed from the pdb , we found that cs23d was still able to generate moderately good models of ubiquitin ( within 2.8  rmsd ) in 3/10 attempts .
figure 3 summarizes the results from web tables 36 in terms of the performance of cs23d 's three different structure generation schemas ( subfragment assembly + homology modeling , chemical shift threading and ab initio structure generation ) relative to the level of sequence identity of the matching templates or subfragments . 

figure 3.a scatter plot showing the performance of cs23d 's three approaches to structure generation ( subfragment assembly + homology modeling , chemical shift threading and ab initio structure generation ) relative to the level of sequence identity of the matching templates or subfragments .
data from tables 36 in the cs23d web documentation pages were used to assemble this graph . a scatter plot showing the performance of cs23d 's three approaches to structure generation ( subfragment assembly + homology modeling , chemical shift threading and ab initio structure generation ) relative to the level of sequence identity of the matching templates or subfragments .
data from tables 36 in the cs23d web documentation pages were used to assemble this graph . finally , to compare cs23d 's performance to previously described programs 
cheshire ( 13 ) and cs - rosetta ( 14)we ran cs23d on a number of the testing / training proteins used in these papers .
this included 12 proteins used in their initial training and testing ( table 7a of the web documentation page ) , seven proteins that failed to converge for cs - rosetta ( table 7b ) and six proteins that were part of a blinded test for cs - rosetta and for which chemical shifts were available ( table 7c ) .
as seen in table 7a , the average backbone rmsd for cheshire , cs - rosetta and cs23d predictions is 1.52 , 1.48 and 1.64  , respectively .
in other words , there is little to distinguish between the three methods . as shown in table 7b
, cs23d was able to generate good quality structures for four of the seven structures ( 57% ) that cs - rosetta could not generate .
table 7c shows that the structures generated by cs - rosetta for  blinded structural genomics targets and generally better than those generated by cs23d ( 1  rmsd versus 3  rmsd ) .
this highlights the fact that in trying to make cs23d a rapid structure generation tool , we have compromised some of its accuracy and capacity to generate de novo folds .
nevertheless , cs23d appears to perform as well as or better than cs - rosetta and cheshire in most other structure determination tasks .
cs23d is designed to address a continuum of structure generation queries . at one extreme , if a submission has 99% sequence identity and exhibits > 90% secondary structure conservation to a protein in the pdb , cs23d essentially functions as a homology modeling server with a ( unique ) chemical shift refinement step . in this case , the structures generated by cs23d are somewhat better than those generated by conventional nmr methods ( as measured by ramachandran violations , chemical shift correlations , hydrogen bonding and other structure evaluation tools ) . at the other extreme ,
if a submission has < 5% sequence identity and exhibits < 30% secondary structure conservation to a protein in the pdb , then cs23d essentially functions as an ab initio 3d structure predictor that employs an extra chemical shift refinement step . between these extremes
, cs23d is able to exploit a variety of other techniques to assemble , extend and refine selected protein fragments ( ranging from 20 to 200 residues ) to routinely ( 95% of the time ) create high - quality 3d structures that are often better than those generated by conventional methods . obviously , cs23d is not without some limitations and there are certainly areas where improvements could be made .
in particular , smarter use of chemical shift constraints for the rosetta portion of the program could certainly increase cs23d 's frequency of convergence for queries having completely novel folds .
additionally , cs23d could be improved by allowing it to accept noe , j - coupling or residual dipolar coupling constraints as part of its input data
. this could be particularly useful for modeling protein complexes or proteins with ligands  two areas where chemical shift constraints are essentially useless . despite these limitations
, we believe the speed , accuracy , frequency and reliability with which cs23d can generate ( and refine ) 3d protein structures  using only chemical shifts and sequence data  should make it a very useful addition to the current arsenal of structure generation and refinement tools available to biomolecular nmr spectroscopists .
 cs23d ( chemical shift to 3d structure ) is a web server for rapidly generating accurate 3d protein structures using only assigned nuclear magnetic resonance ( nmr ) chemical shifts and sequence data as input . unlike conventional nmr methods 
 , cs23d requires no noe and/or j - coupling data to perform its calculations . 
 cs23d accepts chemical shift files in either shifty or bmrb formats , and produces a set of pdb coordinates for the protein in about 1015 min . 
 cs23d uses a pipeline of several preexisting programs or servers to calculate the actual protein structure . depending on the sequence similarity ( or lack thereof ) 
 cs23d uses either ( i ) maximal subfragment assembly ( a form of homology modeling ) , ( ii ) chemical shift threading or ( iii ) shift - aided de novo structure prediction ( via rosetta ) followed by chemical shift refinement to generate and/or refine protein coordinates . 
 tests conducted on more than 100 proteins from the biomagresbank indicate that cs23d converges ( i.e. finds a solution ) for > 95% of protein queries . 
 these chemical shift generated structures were found to be within 0.22.8  rmsd of the nmr structure generated using conventional noe - base nmr methods or conventional x - ray methods . 
 the performance of cs23d is dependent on the completeness of the chemical shift assignments and the similarity of the query protein to known 3d folds . 
 cs23d is accessible at http://www.cs23d.ca . 
INTRODUCTION
PROGRAM DESCRIPTION
ALGORITHMS, DATABASES AND TESTING
RESULTS AND EVALUATION
CONCLUSIONS