Download BE/CS 196a Homework Assignment 2

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsatellite wikipedia , lookup

Helitron (biology) wikipedia , lookup

DNA nanotechnology wikipedia , lookup

Transcript
BE/CS 196a Homework Assignment 2
Note: Download and open in Adobe Acrobat to see the links in this file.
1. DNA-based logic circuit
Use Seesaw Compiler to design a DNA strand displacement circuit that implements a 3-input
2-output logic circuit that determines if an integer number (x3 x2 x1 = 000 to 111, i.e. 0 to
7) has a factor of 2 (yes, Fizz = 1; no, Fizz = 0) and if it has a factor of 3 (yes, Buzz = 1;
no, Buzz = 0). We consider 0 has neither a factor of 2 nor a factor of 3.
Figure 1: A fizz-buzz logic circuit.
• Understand dual rail logic.
a) Enter the logic function shown in Figure 1 as an AND-OR-NOT circuit, and
compile it to a dual-rail AND-OR circuit. Turn in the code that you entered in
the Seesaw Compiler (2/30: 2 points out of 30).
b) Enter the dual-rail circuit as logic equations in Logic Friday.
c) Export the truth table as a csv file.
d) Use Excel to filter out non-dual-rail inputs and outputs and verify that the outputs
correctly calculate the fizz-buzz function. Turn in your Excel table (3/30).
• Understand the seesaw circuit behavior.
a) Compile the dual-rail circuit to a seesaw DNA circuit.
b) Generate Mathematica code for the seesaw circuit, and simulate it with 1× =
50 nM, OF F = 0.1×, ON = 0.9× and time = 10 hours. Verify the function of
the circuit with all 8 possible inputs. Turn in your plot (3/30).
1
• Understand the seesaw abstraction (logic circuit team only).
a) In the seesaw circuit code compiled from the dual-rail circuit, modify the seesaw
node numbers to use as many DNA strands from the seesaw square root circuit
as possible (see code and diagram of the seesaw square root circuit). Turn in your
modified code of the seesaw fizz-buzz circuit (2/30).
There are two purposes for doing this: First, we already have all strands from
the seesaw square root circuit, and it would be great to save the cost and order
a minimum number of new strands. Second, using strands from the square root
circuit, especially keeping the same or similar functions of the molecules in the
logic gates, will save you the time debugging potential sequence issues.
b) Use EasyEDA to create a seesaw circuit diagram that corresponds to your modified circuit. Turn in your seesaw circuit diagram (4/30).
• Understand the sequence design (logic circuit team only).
a) Compile your seesaw circuit to DNA sequences, using the following link:
Seesaw Compiler
Note that this link is also used for compiling linear threshold circuits, thus the
format of inputf anout[·] requires a weight assigned to each fanout wire. In the
logic circuit case, these weights should all be 1s. Check out the syntax link for
more details.
b) Compare your sequences with the sequences of the seesaw square root circuit, and
highlight the strands that are not shared. Turn in your sequence file (2/30).
c) Choose a threshold complex (Thi,j:j -t and Thi,j:j -b) and a gate complex (wi,j and
Gi -b), and use NUPACK to verify if the sequences form desired structures at
100 nM at 25 ◦ C. Turn in your MFE structures of the two complexes (2/30).
2. DNA-based Hopfield associative memory
Design a DNA strand displacement circuit that implements a Hopfield associative memory
that recognizes patterns 1100, 1001, 0101, and 1111.
• Understand Hopfield associative memory.
a) Use Matlab to verify that a Hopfield network with the weight matrix and thresholds shown in Figure 2 correctly stores the target patterns. Turn in your Matlab
code and output (1/30).
b) Convert the network to a dual-rail Hopfield associative memory, following the
Complementation Rule introduced in Lecture 3.
c) Use Matlab to verify that the dual-rail network correctly stores the target patterns. Turn in your Matlab code and output (2/30).
2




W =




th = 
0 −1 1 −1
−1
0 1 −1 


1
1 0
1 
−1 −1 1
0

−1.5
−1.5
2.5
−1.5





Figure 2: A four-neuron Hopfield associative memory.
d) Use EasyEDA to generate a circuit diagram of the dual-rail associative memory
and fill in the correct weights and thresholds. Turn in your circuit diagram (3/30).
• Understand the seesaw circuit behavior.
a) Convert the dual-rail Hopfield network to a seesaw circuit (see syntax of a seesaw
LTU circuit), following the Expansion, Consolidation and Reduction Rules introduced in Lecture 3. Use the same set of seesaw nodes shown in Figure 3 of Qian
et. al. Nature 2011, and include reporter signal restoration. Turn in your code of
the seesaw circuit (3/30).
b) Use Seesaw Compiler (this link is different from the previous link for compiling
seesaw logic circuits) to generate Mathematica code for the seesaw circuit, and
simulate it with 1× = 25 nM, OF F = 0×, ON = 5× and time = 8 hours. Verify
the function of the network with one interesting example input chosen from each
of the six categories: an incomplete input pattern that is compatible with (14) exactly one of the four memorized patterns, (5) more than one memorized
patterns, and (6) no memorized pattern. Turn in your plot (3/30).
• Understand the seesaw abstraction (neural network team only).
Use EasyEDA to generate a circuit diagram of the seesaw circuit and fill in the correct
initial concentrations of gate, threshold and fuel molecules. Turn in your seesaw circuit
3
diagram (6/30).
• Understand the sequence design (neural network team only).
a) Compile your seesaw circuit to DNA sequences, using the following link:
Seesaw Compiler
Turn in your sequence file (2/30).
b) Choose a threshold complex (Thi,j:j -t and Thi,j:j -b) and a gate complex (wi,j and
Gi -b), and use NUPACK to verify if the sequences form desired structures at
100 nM at 25 ◦ C. Turn in your MFE structures of the two complexes (2/30).
3. A rotatable square DNA origami tile (origami team only)
Design a square DNA origami tile that can rotate and attach to one another on all four sides.
a
b
c
e
d
⋯
⋯
Figure 3: (a) The scaffold path of a rotatable square DNA origami tile. (b) A recommended Cadnano
layout of the scaffold path. (c) Example staple design. Edge staples are colored in brown, interior staples
are colored in purple, and bridge staples are colored in green. (d) A Truchet pattern design. (e) Staple
extension design for labeling origami surface with a pattern.
• Understand the single-stranded domains in the square DNA origami tile.
Use the Mathematica code provided with Lab 7 to understand a three-dimensional
model of the square DNA origami tile with a scaffold path shown in Figure 3a, and
4
add your own lines to calculate the number of bases needed for each of the singlestranded domains in staples bridging between the triangles, and in scaffold looping
around at the end of the double helices near the interior edge of the triangles. Turn in
your lines of code (1/30).
• Use Cadnano to design two adjacent triangles in the square DNA origami tile. Turn
in your Cadnano file (4/30).
• Design a pattern on the DNA origami tile, as shown in Figure 3d.
a) Use the Mathematica code provided with Lab 8 to read the csv file exported from
Cadnano, and plot a top view and side view of the square origami tile with the
30 end locations of all staples. Verify that the locations of your selected staples
approximate the desired patten, and are all close to one side of the origami. Turn
in your plot (3/30).
b) Modify the sequence of each selected pattern staple with a 30 end extension of
20 Ts. A strand of 20 As will be hybridized to the staple extensions to form
double strands (Figure 3e), which will provide sufficient contrast in Atomic Force
Microscopy (AFM) images. Turn in your sequence file (2/30).
5