X-ray crystallography is an extremely precise, but also difficult and expensive means of imaging the exact structure of a given molecule or macromolecule in a crystal lattice. Because a diverse set of materials produce crystals, including salts, metals, minerals, semiconductors, and various inorganic, organic, and biological molecules, x-ray crystallography is essential to many scientific fields. A crystal is any regularly repeating arrangement of unit cells which range in size from less than 100 atoms — small-molecule crystallography — to tens of thousands — macromolecular crystallography).
X-ray crystallography is famous for being the tool first used to discover the structure of DNA, but it was also used to determine the structure of diamond, table salt, penicillin, numerous proteins, and entire viruses. In all, over 400,000 structures have been described using x-ray crystallography. These can be found in the Cambridge Structure Database.
To analyze a sample using x-ray crystallography, first one must obtain a high-purity crystal of the material to be studied with a very regular structure. This is often the hardest part as numerous crystals have nanometer-scale defects which make x-ray crystallography difficult.
Next, the sample is subjected to an intense beam of x-rays of a uniform wavelength. These x-rays produce a diffraction pattern as they reflect off the sample. This diffraction pattern is somewhat similar to what is observed when multiple stones are tossed into a pond – where the waves cross are peaks which make up the diffraction pattern.
By slowly rotating the crystal, pounding it with x-rays, and meticulously recording the diffraction patterns at each orientation, an electron density map may be derived. This electron density map is then used to formulate a hypothesis about the atomic structure it corresponds to. The diffraction patterns are then analyzed in light of the hypothesized structure, and if it looks plausible that the given structure would produce the observed diffraction pattern, a conclusion is drawn. The result is then uploaded to central databases of the type mentioned earlier.