Structural aspects of biomolecular recognition and self-assembly.