Scientists have developed knowledge about the structure and functions of cells to create molecular computers that use nucleic acids. They have explored methods to engineer logic gates using DNA and RNA and other forms of oligonucleotides, both in laboratory settings and within living cells. Some examples of these methods include using DNA origami to create nanorobots for performing logic operations in vivo , transcriptor technology to control transcription rates in vivo , and various other techniques involving DNA aptamers , tandem riboswitch core machinery or ribozymes to engineer logic gates in vivo , .