The structure in solution of crambin, a small protein of 46 residues, has been determined from 2D NMR data using an iterative relaxation matrix approach (IRMA) together with distance geometry, distance bound driven dynamics, molecular dynamics, and energy minimization. A new protocol based on an "ensemble" approach is proposed and compared to the more standard initial rate analysis approach and a "single structure" relaxation matrix approach. The effects of fast local motions are included and R-factor calculations are performed on NOE build-ups to describe the quality of agreement between theory and experiment. A new method for stereospecific assignment of prochiral groups, based on a comparison of theoretical and experimental NOE intensities, has been applied. The solution structure of crambin could be determined with a precision (rmsd from the average structure) of 0.7 A on backbone atoms and 1.1 A on all heavy atoms and is largely similar to the crystal structure with a small difference observed in the position of the side chain of Tyr-29 which is determined in solution by both J-coupling and NOE data. Regions of higher structural variability (suggesting higher mobility) are found in the solution structure, in particular for the loop between the two helices (Gly-20 to Pro-22).