Computing with Bio-Molecules: Theory and Experiments (Discrete Mathematics and Theoretical Computer Science)