How DNA codes for proteins