Computing with genetic gates, proteins, and membranes