W672 Nucleic Acids Research, 2009, Vol. 37, Web Server issue ALGORITHMS AND DATABASES A ﬂow chart describing the processing logic used in GeNMR is shown in Figure 1. As can be seen in this diagram, GeNMR makes use of a number of programs or databases previously developed in our laboratory. These include Proteus2 (18) to perform structural model- ing and energy reﬁnement, PREDITOR (12) to calculate torsion angles (from NOEs or chemical shifts), PPT-DB (19) for comparative modeling and alignment and CS23D (10) to calculate protein structures from chemical shifts. GeNMR also uses several well-known external programs, including Rosetta (20) for fragment-based assembly and XPLOR-NIH (5) for NOE-based simulated annealing and reﬁnement. One of the more useful concepts in GeNMR is the implementation of homology modeling and sequence/ structure threading to rapidly generate a ﬁrst-pass model of the query protein. This is the NMR equivalent of ‘mole- cular replacement’, wherein a structure is initially gener- ated via modeling and reﬁned using experimental (NOE or chemical shift) data. Interestingly, molecular replacement in NMR is generally easier and more robust than molec- ular replacement than X-ray crystallography. This is because NMR structures can be reﬁned directly against chemical shift, torsion angle and distance restraints, whereas with X-ray crystallography one is compelled to reﬁne against phases and subunit orientation. The use of ‘molecular replacement’ concepts in GeNMR allows a considerable speed-up in its structure calculations since homology models can often be generated and reﬁned in a minute or two. Furthermore, given the fact that up to 90% of all NMR structures being calculated today have identical or similar folds to existing structures (21) it stands to reason that most queries to GeNMR will involve this very rapid structure generation step. GeNMR also makes use of genetic algorithms to allow robust conﬁgurational sampling and structural reﬁnement using non-diﬀerentiable target functions. This is particu- larly useful for chemical shift reﬁnement and for minimiz- ing structures initially generated via homology modeling. The application of genetic algorithms for NOE-based structure generation and reﬁnement was originally proposed in 1998 with the development of GENFOLD (22). We have incorporated a number of GENFOLD’s ideas in GeNMR and extended them to include chemical shift and protein threading potentials as part of the reﬁne- ment routine. Like GENFOLD, GeNMR’s genetic algo- rithm creates a population of initial structures and then uses combinations of mutations, cross-overs, segment swaps and writhe movements to comprehensively sample conformation space. The 25 lowest energy structures are then selected, duplicated and carried to the next round of conformational sampling. This conformational sampling process is repeated a minimum of 25 times or until the structures have reached a predeﬁned convergence cri- teria. Genetic algorithms are also very amenable to being implemented in clustered computing environments. Consequently we have conﬁgured GeNMR to run over a 24 CPU core computer cluster. This parallelism also greatly accelerates structure reﬁnement and convergence. The potential functions used in GeNMR are derived from those used in CS23D and Proteus2 (10,18). The knowledge-based potential includes information on pre- dicted/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), disulﬁde bonding informa- tion and a modiﬁed threading energy based on the Bryant and Lawrence potential (23). The chemical shift component of the GeNMR potential uses weighted corre- lation coeﬃcients calculated between the observed and SHIFTX (24) calculated shifts of the structure being reﬁned. Tests conducted with GeNMR’s knowledge- based potential on its ability to diﬀerentiate lower resolu- tion/lower quality NMR structures and high-resolution X-ray structures of the same protein showed that the high-resolution structure had signiﬁcantly lower energy in all cases (Table I—GeNMR’s Documentation web page). Similarly, tests conducted with GeNMR’s chemical shift potential on its ability to diﬀerentiate lower resolu- tion or lower quality structures from higher resolution structures yielded similar results (Table II—GeNMR’s Documentation web page). These results suggest that these potentials serve the same purpose and provide the same beneﬁt as the more computationally expensive water-based reﬁnement. As seen in Figure 1, there are three types of input com- binations and six diﬀerent kinds of calculation scenarios that GeNMR can currently accommodate. These scenar- ios include: (a) chemical shift only—query has homologue in database; (b) chemical shift only—query has no homo- logue in database; (c) NOE only—query has homologue in database; (d) NOE only—query has no homologue in database; (e) NOE and chemical shift—query has homo- logue in database and (f) NOE and chemical shift—query has no homologue in database. We will use these scenarios to describe how GeNMR works, in detail, and to summa- rize the program’s performance under these particular conditions. RESULTS AND EVALUATION Scenario (a): shift only with homologue In this situation, the user provides only the sequence and the assigned chemical shifts (minimally the HN shifts), to the server. This kind of query falls into the category of shift-based structure determination handled by the CS23D (10) component of GeNMR. Brieﬂy, the sequence is searched against a non-redundant database of PDB sequences and secondary structures from PPT-DB (19) using BLAST (25) with a sliding length-dependent Expect cutoﬀ, ranging from 10 1 (for <11 residues) to 10 5 (for >50 residues). If the sequence exceeds the cutoﬀ, a structural model is generated using Proteus2 (18). If the protein consists of several discontinuous domains, a program called SFAssembler will link the models together to produce a model of the holo-protein. Note that SFAssembler is only designed to concatenate multiple independent polypeptide chains (or domains) together to generate a single chain, multi-domain protein.