Challenges in biological computing