Multi-tube design example (simple)

Design a strand displacement gate.

See the accompanying design specification (PDF file). See also the LaTeX spec file that you can edit to make your own design specs in a standardized format.

This is a 1-step reaction. To design 1 gate, there are 2 elementary step tubes plus 1 global crosstalk tube.

Target test tubes:

  • Reactants (Step 0)
  • Products (Step 1)
  • Global crosstalk

Material: RNA
Temperature: 23 C

In [1]:
# Import Python NUPACK module
from nupack import *
In [2]:
# Define physical model
my_model = Model(material='rna', celsius=23)

# Define sequence domains
da = Domain('N10', name='da')
db = Domain('N8', name='db')

# Define strands containing these domains
sX = TargetStrand([da, db], name='sX')
sA = TargetStrand([~db, ~da], name='sA')
sB = TargetStrand([da], name='sB')  # ~dgate is the reverse complement of dgate
sA_toe = TargetStrand([~db], name='sA_toe')

# Define target complexes
cX = TargetComplex([sX], 'U18', name='cX')
cAB = TargetComplex([sA, sB], 'U8D10+', name='cAB')
cXA = TargetComplex([sX, sA], 'D18+', name='cXA')
cB = TargetComplex([sB], 'U10', name='cB')
cA_toe = TargetComplex([sA_toe], 'U8', name='cA_toe')

# Define target test tubes 
reactants = TargetTube(on_targets={cX: 1e-08, cAB: 1e-08}, 
                       off_targets=SetSpec(max_size=2, exclude=[cXA]), name='reactants')
products = TargetTube(on_targets={cXA: 1e-08, cB: 1e-08}, 
                      off_targets=SetSpec(max_size=2), name='products')
crosstalk = TargetTube(on_targets={cX: 1e-08, cAB: 1e-08, cA_toe: 1e-08, cB:1e-8}, 
                       off_targets=SetSpec(max_size=2, exclude=[cXA, [sX, sA_toe]]), name='crosstalk')

# Set a stop condition of 2%
# Set seed for random number generation to get a reproducible result for this demo
my_options = DesignOptions(f_stop=0.02, seed=93)

# Define and run the test tube design job
my_design = tube_design(tubes=[reactants, products, crosstalk], model=my_model, options=my_options)
my_results = my_design.run(trials=1)[0]

# Display the design results
my_results
Out[2]:
Domain results:
Domain Sequence
da
CAGGUGGAAG
da*
CUUCCACCUG
db
AGGUAAGC
db*
GCUUACCU
Strand results:
Strand Sequence
sA_toe
GCUUACCU
sX
CAGGUGGAAGAGGUAAGC
sA
GCUUACCUCUUCCACCUG
sB
CAGGUGGAAG
Objective function:
Objective type Value
Weighted ensemble defect 0.0171
Ensemble defect: 0.0171

On-target complex defects:
Complex Complex defect (nt) Normalized complex defect
cX 0.851 0.0473
cB 0.0708 0.00708
cXA 0.194 0.00539
cAB 0.237 0.00845
cA_toe 0.0156 0.00195
Tube defects:
Tube Tube defect (M) Normalized tube defect
reactants 1.10e-08 0.0238
products 2.65e-09 0.00575
crosstalk 1.38e-08 0.0216
Complex contributions to tube defects:
Tube On-target complex Structural defect (M) Concentration defect (M) Total defect (M)
reactants cX 8.51e-09 9.76e-14 8.51e-09
reactants cAB 2.37e-09 7.71e-11 2.44e-09
products cXA 1.94e-09 1.25e-14 1.94e-09
products cB 7.08e-10 4.80e-14 7.08e-10
crosstalk cX 8.51e-09 1.77e-13 8.51e-09
crosstalk cAB 2.37e-09 2.16e-14 2.37e-09
crosstalk cA_toe 1.54e-10 9.36e-10 1.09e-09
crosstalk cB 7.00e-10 1.17e-09 1.87e-09
On-target complex concentrations:
Tube Complex Concentration (M) Target concentration (M)
reactants cX 1.00e-08 1.00e-08
reactants cAB 1.00e-08 1.00e-08
products cXA 1.00e-08 1.00e-08
products cB 1.00e-08 1.00e-08
crosstalk cX 1.00e-08 1.00e-08
crosstalk cAB 1.00e-08 1.00e-08
crosstalk cA_toe 9.88e-09 1.00e-08
crosstalk cB 9.88e-09 1.00e-08
Significant off-target complex concentrations (≥ 1% max complex concentration in tube):
Tube Complex Concentration (M)
crosstalk (sA_toe+sB) 1.17e-10
reactants
products