{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Complex design example\n", "\n", "Design a complex ensemble intend to predominantly adopt a 4-stranded stick figure target structure. \n", "\n", "Material: RNA \n", "Temperature: 23 C\n", "\n", "While we illustrate complex design, we recommend performing test tube design so that it is possible to actively design against formation of off-target complexes that can compete with the desired on-target complex in solution (see tube design example notebook). Indeed, we show at the bottom of this example that a test tube analysis reveals that while the designed sequences perform well within the context of the complex ensemble (as intended by the complex design algorithm), the on-target complex is out-competed by off-target complexes in the context of a test tube ensemble. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import Python NUPACK module\n", "from nupack import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Domain results:\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DomainSequence
da
GCGCUACCUCGAAUCUGGGGCCCCGAA
da*
UUCGGGGCCCCAGAUUCGAGGUAGCGC
db
GGGGCCAUGAAAAUUGAGCAUCGACCCGC
db*
GCGGGUCGAUGCUCAAUUUUCAUGGCCCC
dc
AGGGUCGCCAGAUGACCGUUUGCAG
dc*
CUGCAAACGGUCAUCUGGCGACCCU
dd
GGCAAACGGGAGGUAGCA
dd*
UGCUACCUCCCGUUUGCC
Strand results:\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
StrandSequence
sa
GCGCUACCUCGAAUCUGGGGCCCCGAA
sd
GGCAAACGGGAGGUAGCA
sb
GGGGCCAUGAAAAUUGAGCAUCGACCCGC
sc
AGGGUCGCCAGAUGACCGUUUGCAG
Objective function:\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Objective typeValue
Weighted ensemble defect0.00757
Ensemble defect: 0.00757

On-target complex defects:\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ComplexComplex defect (nt)Normalized complex defect
cstickfigure0.7490.00757
" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Define physical model\n", "my_model = Model(material='rna', celsius=23)\n", "\n", "# Define sequence domains\n", "da = Domain('N27', name='da')\n", "db = Domain('N29', name='db')\n", "dc = Domain('N25', name='dc')\n", "dd = Domain('N18', name='dd')\n", "\n", "# Define strands containing these domains\n", "sa = TargetStrand([da], name='sa')\n", "sb = TargetStrand([db], name='sb')\n", "sc = TargetStrand([dc], name='sc')\n", "sd = TargetStrand([dd], name='sd')\n", "\n", "# Define a target complex\n", "cstickfigure = TargetComplex([sa, sb, sc, sd], '..((((((((..((((((((((((...+))))))(((.........)))((((((..+.))))))))))))..((((((((..+.)))))))))))))))).', name='cstickfigure')\n", "\n", "# Set a stop condition of 1% and a seed for random number generation to get a reproducible result for this demo\n", "my_options = DesignOptions(f_stop=0.01, seed=93)\n", "\n", "# Define and run the complex design job\n", "my_design = complex_design(complexes=[cstickfigure], model=my_model, options=my_options)\n", "my_results = my_design.run(trials=1)[0]\n", "\n", "# Display the design results\n", "my_results" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Complex results: \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ComplexPfuncΔG (kcal/mol)
(sa)1.0597e+6-8.165
(sb)1.8567e+6-8.495
(sc)1.1835e+6-8.230
(sd)1.6008e+2-2.987
(sa+sa)2.5625e+23-31.720
(sa+sb)4.0097e+20-27.919
(sa+sd)1.2607e+20-27.238
(sb+sb)2.4243e+16-22.202
(sc+sa)5.7933e+21-29.490
(sc+sb)1.1295e+18-24.463
(sc+sc)1.3968e+19-25.943
(sc+sd)2.1601e+18-24.845
(sd+sb)2.6258e+13-18.184
(sd+sd)1.0269e+7-9.501
(sa+sa+sa)1.0229e+37-50.151
(sa+sa+sb)6.0085e+33-45.773
(sa+sa+sd)1.4544e+40-54.423
(sa+sb+sb)2.4946e+31-42.545
(sa+sb+sd)2.7148e+34-46.660
(sa+sd+sb)1.7840e+28-38.283
(sa+sd+sd)6.0217e+27-37.644
(sb+sb+sb)2.8782e+25-34.499
(sc+sa+sa)6.0344e+35-48.485
(sc+sa+sb)1.0238e+35-47.441
(sc+sa+sd)7.2107e+29-40.460
(sc+sb+sa)5.9588e+29-40.347
(sc+sb+sb)9.2787e+28-39.253
(sc+sb+sd)8.6771e+25-35.148
(sc+sc+sa)1.3566e+33-44.897
(sc+sc+sb)1.1896e+30-40.754
(sc+sc+sc)3.6354e+30-41.412
(sc+sc+sd)4.6909e+29-40.207
(sc+sd+sa)4.5543e+41-56.450
(sc+sd+sb)1.2257e+32-43.482
(sc+sd+sd)7.3386e+24-33.695
(sd+sb+sb)1.4664e+25-34.102
(sd+sd+sb)2.5238e+21-29.001
(sd+sd+sd)1.1394e+13-17.693
cstickfigure1.8738e+53-72.188
(sa+sa+sa+sa)1.0299e+55-74.546
(sa+sa+sa+sb)9.2061e+51-70.415
(sa+sa+sa+sd)2.9627e+53-72.458
(sa+sa+sb+sb)1.5702e+45-61.244
(sa+sa+sb+sd)7.6242e+49-67.594
(sa+sa+sd+sb)2.0577e+48-65.468
(sa+sa+sd+sd)1.4858e+46-62.566
(sa+sb+sa+sb)2.0246e+48-65.459
(sa+sb+sa+sd)4.2256e+49-67.247
(sa+sb+sb+sb)3.8497e+42-57.706
(sa+sb+sb+sd)5.1050e+45-61.938
(sa+sb+sd+sb)3.8696e+42-57.709
(sa+sb+sd+sd)1.5428e+46-62.588
(sa+sd+sa+sd)2.0637e+56-76.310
(sa+sd+sb+sb)4.4292e+38-52.369
(sa+sd+sb+sd)5.4192e+38-52.487
(sa+sd+sd+sb)1.7867e+37-50.479
(sa+sd+sd+sd)3.8418e+34-46.865
(sb+sb+sb+sb)6.4718e+35-48.527
(sc+sa+sa+sa)6.3217e+51-70.194
(sc+sa+sa+sb)6.1181e+48-66.109
(sc+sa+sa+sd)8.3118e+49-67.645
(sc+sa+sb+sa)2.7527e+48-65.639
(sc+sa+sb+sb)4.3944e+46-63.204
(sc+sa+sb+sd)1.5949e+44-59.898
(sc+sa+sc+sa)1.4180e+48-65.249
(sc+sa+sd+sa)1.7063e+52-70.778
(sc+sa+sd+sb)2.1218e+41-56.001
(sc+sa+sd+sd)7.3319e+38-52.665
(sc+sb+sa+sa)3.8072e+44-60.410
(sc+sb+sa+sb)2.5332e+44-60.170
(sc+sb+sa+sd)1.1393e+40-54.280
(sc+sb+sb+sa)2.6186e+40-54.769
(sc+sb+sb+sb)5.4074e+39-53.841
(sc+sb+sb+sd)1.7050e+36-49.097
(sc+sb+sc+sa)1.7666e+44-59.958
(sc+sb+sc+sb)1.0917e+44-59.675
(sc+sb+sd+sa)9.4107e+47-65.008
(sc+sb+sd+sb)1.3407e+40-54.375
(sc+sb+sd+sd)3.0956e+33-45.382
(sc+sc+sa+sa)2.5123e+47-64.231
(sc+sc+sa+sb)2.4528e+47-64.216
(sc+sc+sa+sd)1.2799e+42-57.058
(sc+sc+sb+sa)2.9037e+42-57.540
(sc+sc+sb+sb)5.7716e+40-55.235
(sc+sc+sb+sd)3.9260e+37-50.943
(sc+sc+sc+sa)2.2602e+45-61.458
(sc+sc+sc+sb)7.0351e+41-56.706
(sc+sc+sc+sc)4.2920e+43-59.125
(sc+sc+sc+sd)4.3767e+41-56.427
(sc+sc+sd+sa)1.6042e+53-72.097
(sc+sc+sd+sb)1.7566e+43-58.600
(sc+sc+sd+sd)9.1479e+37-51.440
(sc+sd+sa+sa)1.2981e+57-77.393
(sc+sd+sa+sd)1.3168e+46-62.495
(sc+sd+sb+sa)6.4436e+49-67.495
(sc+sd+sb+sb)5.8549e+42-57.953
(sc+sd+sb+sd)5.1934e+39-53.817
(sc+sd+sc+sa)2.6029e+51-69.672
(sc+sd+sc+sb)2.8132e+43-58.877
(sc+sd+sc+sd)2.5098e+42-57.455
(sc+sd+sd+sa)3.3264e+51-69.816
(sc+sd+sd+sb)7.0230e+38-52.640
(sc+sd+sd+sd)1.7724e+31-42.344
(sd+sb+sb+sb)1.7512e+36-49.112
(sd+sb+sd+sb)2.0865e+36-49.215
(sd+sd+sb+sb)1.0407e+34-46.096
(sd+sd+sd+sb)6.7116e+27-37.707
(sd+sd+sd+sd)1.3787e+19-25.935
Concentration results: \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ComplexTube (M)
(sb)9.999e-09
(sc+sd+sa)9.746e-09
(sc)2.511e-10
(sa+sd+sa+sd)1.162e-10
(sd)1.208e-11
(sa+sa+sd)6.007e-12
(sa)4.340e-12
(sc+sd+sa+sa)2.055e-12
(sa+sd)7.040e-13
(sc+sd)6.248e-13
cstickfigure3.900e-13
(sa+sb)1.597e-13
(sc+sd+sd+sa)9.703e-14
(sc+sa)9.094e-14
(sa+sa)7.765e-14
(sc+sb)2.331e-14
(sa+sb+sd)1.474e-14
(sc+sc+sd+sa)1.316e-14
(sb+sb)1.270e-14
(sc+sc)1.136e-14
(sc+sd+sb)3.449e-15
(sc+sd+sc+sa)2.135e-16
(sd+sb)1.928e-16
(sc+sa+sb)1.563e-16
(sc+sd+sb+sa)1.341e-16
(sc+sa+sd+sa)2.701e-17
(sa+sb+sd+sd)1.142e-17
(sa+sa+sa+sd)9.052e-18
(sa+sa+sb+sd)3.063e-18
(sc+sb+sd+sa)1.959e-18
(sa+sb+sa+sd)1.698e-18
(sa+sb+sb)9.666e-19
(sc+sa+sa)7.007e-19
(sc+sc+sd)5.200e-19
(sc+sd+sa+sd)3.841e-19
(sa+sb+sb+sd)2.696e-19
(sa+sa+sa)2.293e-19
(sc+sb+sb)1.863e-19
(sa+sa+sb)1.771e-19
(sc+sa+sa+sd)1.316e-19
(sc+sc+sb)9.409e-20
(sa+sa+sd+sb)8.266e-20
(sc+sc+sa)8.161e-20
(sa+sd+sd)4.583e-20
(sa+sa+sa+sb)2.007e-20
(sa+sa+sa+sa)1.708e-20
(sc+sd+sb+sb)1.602e-20
(sc+sa+sd)1.543e-20
(sc+sc+sc)1.133e-20
(sd+sb+sb)1.047e-20
(sa+sd+sb)9.688e-21
(sa+sa+sd+sd)8.365e-21
(sc+sa+sb+sb)6.525e-21
(sa+sb+sa+sb)5.803e-21
(sc+sd+sc+sd)3.793e-21
(sc+sd+sc+sb)3.033e-21
(sc+sd+sd)2.894e-21
(sc+sb+sd)2.441e-21
(sc+sc+sd+sb)1.894e-21
(sb+sb+sb)1.466e-21
(sc+sc+sa+sb)1.435e-21
(sd+sd)1.057e-21
(sc+sb+sa)9.098e-22
(sc+sb+sc+sb)8.398e-22
(sc+sa+sa+sb)6.910e-22
(sc+sa+sa+sa)5.430e-22
(sc+sa+sb+sd)3.319e-22
(sc+sa+sb+sa)3.109e-22
(sa+sb+sd+sb)2.044e-22
(sc+sd+sb+sd)1.992e-22
(sc+sb+sa+sb)3.762e-23
(sc+sb+sd+sb)3.669e-23
(sc+sd+sd+sb)2.693e-23
(sd+sd+sb)2.526e-23
(sa+sb+sb+sb)1.451e-23
(sc+sa+sc+sa)6.310e-24
(sa+sa+sb+sb)4.501e-24
(sd+sb+sd+sb)2.031e-24
(sc+sc+sc+sd)1.859e-24
(sc+sc+sa+sa)1.118e-24
(sc+sb+sb+sb)1.056e-24
(sc+sb+sc+sa)1.034e-24
(sc+sc+sc+sa)5.211e-25
(sc+sc+sc+sc)5.126e-25
(sc+sc+sb+sb)4.440e-25
(sc+sa+sd+sb)4.416e-25
(sa+sd+sb+sd)4.012e-25
(sc+sc+sc+sb)2.133e-25
(sc+sc+sd+sd)1.382e-25
(sd+sb+sb+sb)1.216e-25
(sc+sc+sa+sd)1.050e-25
(sc+sb+sa+sa)4.300e-26
(sc+sb+sa+sd)2.371e-26
(sa+sd+sb+sb)2.339e-26
(sc+sa+sd+sd)2.139e-26
(sc+sc+sb+sa)1.699e-26
(sa+sd+sd+sb)1.323e-26
(sd+sd+sb+sb)1.013e-26
(sc+sb+sb+sd)4.666e-27
(sc+sc+sb+sd)4.233e-27
(sc+sb+sb+sa)3.888e-27
(sb+sb+sb+sb)3.207e-27
(sa+sd+sd+sd)3.986e-28
(sc+sb+sd+sd)1.187e-28
(sc+sd+sd+sd)9.527e-30
(sd+sd+sd)1.598e-30
(sd+sd+sd+sb)9.156e-32
(sd+sd+sd+sd)2.636e-39
" ], "text/plain": [ "Result(tubes={Tube({: 1e-08, : 1e-08, : 1e-08, : 1e-08}, complexes=[, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], name='Tube'): }, complexes={: nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.925965483E+37, free_energy: -50.942513184053134}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.751165123E+36, free_energy: -49.11232636117192}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.454400996E+40, free_energy: -54.4233383091073}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 11394069163333.33333333333333, free_energy: -17.69274303063441}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 9.278745612E+28, free_energy: -39.25304050894512}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.034419013E+35, free_energy: -48.485345770439665}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.424343757E+16, free_energy: -22.202308729914478}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 9.206133687E+51, free_energy: -70.41507848639363}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.356559985E+33, free_energy: -44.89684826608889}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.321652604E+51, free_energy: -70.1938674817425}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.512287385E+47, free_energy: -64.23051800681051}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.793274681E+21, free_energy: -29.490334291266734}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.260159076E+45, free_energy: -61.45813464236617}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.841834448E+34, free_energy: -46.86454818016195}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.260746829E+20, free_energy: -27.23780281057037}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.024625255E+48, free_energy: -65.45858654953352}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.706316883E+52, free_energy: -70.77821401123524}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.594941457E+44, free_energy: -59.89791224511029}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 9.147850749E+37, free_energy: -51.4403295862042}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.711550486E+27, free_energy: -37.70735512840071}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.139344506E+40, free_energy: -54.279661218463865}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.407408552E+39, free_energy: -53.841070571343046}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.602917099E+51, free_energy: -69.67166290073234}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.063693609E+56, free_energy: -76.310412323734}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 7.023018617E+38, free_energy: -52.639845966891905}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1059661.507, free_energy: -8.164536745355198}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.873821969E+53, free_energy: -72.18839519210763}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.854887132E+42, free_energy: -57.95307704026436}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 9.410735746E+47, free_energy: -65.00772546275071}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.784000427E+28, free_energy: -38.282680984094675}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.63536047E+30, free_energy: -41.411749466028155}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.225627319E+49, free_energy: -67.24666743480999}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.429184662E+38, free_energy: -52.368560461089494}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.533193265E+44, free_energy: -60.17017820775662}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.376692408E+41, free_energy: -56.42676093365913}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.714847500E+34, free_energy: -46.66021249143298}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.298141846E+57, free_energy: -77.39267725940185}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.193442782E+39, free_energy: -53.8173109619057}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.022909619E+37, free_energy: -50.151003003587775}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.040719716E+34, free_energy: -46.09594461564143}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1183498.711, free_energy: -8.22958106715837}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.2919639925E+43, free_energy: -59.1254009060048}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 8.311777183E+49, free_energy: -67.64479131803293}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 7.338605634E+24, free_energy: -33.694702599883406}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.849670498E+42, free_energy: -57.7063252037428}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 8.677079671E+25, free_energy: -35.14836994136604}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.279882576E+42, free_energy: -57.058257255318935}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.129467216E+18, free_energy: -24.462947869627612}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 7.210678533E+29, free_energy: -40.45971453936263}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.618616652E+40, free_energy: -54.76940717523887}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.570248082E+45, free_energy: -61.24380186994228}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.417959674E+48, free_energy: -65.24898293240331}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.786694886E+37, free_energy: -50.47921929415436}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.604156940E+53, free_energy: -72.09695292304204}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.752697683E+48, free_energy: -65.63937197733912}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 160.0848491, free_energy: -2.9870538006318155}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.443583224E+49, free_energy: -67.49496579085755}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.756595679E+43, free_energy: -58.59965420696957}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.394359764E+46, free_energy: -63.20449293562784}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.485752450E+46, free_energy: -62.566322811130334}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.121819240E+41, free_energy: -56.00067521382114}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.766646407E+44, free_energy: -59.95808407573519}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.772387143E+31, free_energy: -42.34405422108897}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.340702767E+40, free_energy: -54.375434259395554}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.316823893E+46, free_energy: -62.495291608669845}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.807231662E+44, free_energy: -60.409946015913185}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.021728044E+27, free_energy: -37.64352889047412}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 10269184.94, free_energy: -9.501137745138076}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.869623693E+42, free_energy: -57.709367577667166}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.771600104E+40, free_energy: -55.23450090555239}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.419175448E+38, free_energy: -52.48727755985642}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.958803683E+29, free_energy: -40.34749144497263}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.466443962E+25, free_energy: -34.10210767212258}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.523836910E+21, free_energy: -29.00133908435033}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.189563404E+30, free_energy: -40.7543227742367}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.813197027E+43, free_energy: -58.8768048819144}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.962688507E+53, free_energy: -72.45799720250213}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.554322779E+41, free_energy: -56.450173575702216}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.009694367E+20, free_energy: -27.918704096969915}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.542761354E+46, free_energy: -62.5884813538417}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.396838252E+19, free_energy: -25.943055997063595}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.705018691E+36, free_energy: -49.09661029442457}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.903683528E+42, free_energy: -57.54036370984347}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.37867490025E+19, free_energy: -25.9353534270474}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.118087149E+48, free_energy: -66.10938846057971}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.225734133E+32, free_energy: -43.482094958019324}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.878153022E+25, free_energy: -34.49893842059771}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 5.105040513E+45, free_energy: -61.937640756256975}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.452769954E+47, free_energy: -64.21640831703188}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.5098088405E+42, free_energy: -57.45457593457835}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.5625210395E+23, free_energy: -31.720435373955596}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.023777671E+35, free_energy: -47.44135772391766}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 4.690892642E+29, free_energy: -40.206694583023356}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 7.624179204E+49, free_energy: -67.5939750295437}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.326396176E+51, free_energy: -69.81599657215128}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.057717780E+48, free_energy: -65.46812783026398}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.47179813E+35, free_energy: -48.52652573701032}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1856723.276, free_energy: -8.49460527234562}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.160071213E+18, free_energy: -24.84452867712247}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 6.008514468E+33, free_energy: -45.772669542978996}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.0917134605E+44, free_energy: -59.67481846174855}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 7.331888564E+38, free_energy: -52.665175025867235}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.494630233E+31, free_energy: -42.54521142945244}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 7.035146294E+41, free_energy: -56.706078054192595}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 1.0299467155E+55, free_energy: -74.54633800581672}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 3.095615459E+33, free_energy: -45.382381495367916}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.625847910E+13, free_energy: -18.184079644381853}), : nupack.analysis.ComplexResult({model: Model('stacking', 'rna06.json', T=296.15 K), pfunc: 2.0864652525E+36, free_energy: -49.215425755000005})})" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Analyze a test tube ensemble containing the designed sequences formaing all complexes of up to 4 strands\n", "# Fromn the list of concentrations below, we see that the on-target complex \"cstickfigure\" is dominated by \n", "# many off-target complexes. This can be avoided by activately designing against formation of the off-target \n", "# complexes using test tube design. \n", "\n", "\n", "on_target = my_results.to_analysis(cstickfigure)\n", "my_tube = Tube(strands={s: 1e-8 for s in on_target.strands}, \n", " complexes=SetSpec(max_size=4, include=[on_target]), name='Tube')\n", "tube_analysis(tubes=[my_tube], model=my_model)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.8" } }, "nbformat": 4, "nbformat_minor": 4 }