introduction to dna computing by self assembly 5798498