Nanotechnology Applications In Self-Assembly And Dna Computing