Programmed DNA self-assembly and logic circuits