A novel procedure for efficient computation of three-dimensional protein structures from nuclear magnetic resonance (n.m.r.) data in solution is described, which is based on using the program DIANA in combination with the supporting programs CALIBA, HABAS and GLOMSA. The first part of this paper describes the new programs DIANA. CALIBA and GLOMSA. DIANA is a new, fully vectorized implementation of the variable target function algorithm for the computation of protein structures from n.m.r. data. Its main advantages, when compared to previously available programs using the variable target function algorithm, are a significant reduction of the computation time, and a novel treatment of experimental distance constraints involving diastereotopic groups of hydrogen atoms that were not individually assigned. CALIBA converts the measured nuclear Overhauser effects into upper distance limits and thus prepares the input for the previously described program HABAS and for DIANA. GLOMSA is used for obtaining individual assignments for pairs of diastereotopic substituents by comparison of the experimental constraints with preliminary results of the structure calculations. With its general outlay, the presently used combination of the four programs is particularly user-friendly. In the second part of the paper, initial results are presented on the influence of the novel DIANA treatment of diastereotopic protons on the quality of the structures obtained, and a systematic study of the central processing unit times needed for the same protein structure calculation on a range of different, commonly available computers is described.