{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Multi-tube analysis example\n", "\n", "Analyze multiple test tube ensembles that model different states of HCR polymerization (Dirks and Pierce, Proc Natl Acad Sci USA, 2004) \n", "\n", "Strand species: \n", "Initiator i1 \n", "Hairpin h1 \n", "Hairpin h2 \n", "\n", "Tube t1: \n", "i1: 1e-9 M \n", "h1: 1e-8 M \n", "h2: 1e-8 M \n", "All complexes of up to 3 strands plus the cognate 4-mer (polymer ending with h1) \n", "\n", "Tube t2: \n", "i1: 1e-9 M \n", "h1: 1e-8 M \n", "h2: 1e-8 M \n", "All complexes of up to 3 strands plus the cognate 4-mer and 5-mer (polymer ending with h2)\n", "\n", "Material: DNA \n", "Temperature: 23 C " ] }, { "cell_type": "code", "execution_count": 1, "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", "
ComplexPfuncΔG (kcal/mol)MFE (kcal/mol)
(h1)3.8928e+20-27.901-27.740
(h2)7.5022e+20-28.287-27.979
(i1)6.0965e+0-1.0640.000
(h1+h1)2.8860e+44-60.247-59.602
(h2+h1)8.9020e+44-60.910-59.538
(h2+h2)1.1453e+45-61.058-59.478
(i1+h1)6.1982e+31-43.081-41.379
(i1+h2)1.9312e+26-35.619-33.284
(i1+i1)1.1115e+9-12.258-11.507
(h1+h1+h1)1.1499e+68-92.227-90.688
(h2+h1+h1)9.8849e+68-93.493-91.242
(h2+h2+h1)3.6082e+69-94.255-91.951
(h2+h2+h2)2.4956e+69-94.038-91.454
(i1+h1+h1)3.9049e+57-78.041-76.006
(i1+h1+h2)7.8258e+62-85.225-83.629
(i1+h2+h1)6.8345e+54-74.305-71.222
(i1+h2+h2)3.2841e+51-69.808-66.297
(i1+i1+h1)4.0209e+40-55.022-52.886
(i1+i1+h2)6.0106e+34-47.128-44.791
(i1+i1+i1)2.5831e+15-20.885-19.339
(i1+h1+h1+h2)2.2947e+94-127.866-126.035
(i1+h1+h1+h2+h2)2.8973e+125-170.010-168.285
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", "
Complextube t1 (M)Complextube t2 (M)
(h2)9.037e-09(h2)8.323e-09
(h1)8.124e-09(h1)8.040e-09
(i1+h1+h1+h2)8.834e-10(i1+h1+h1+h2+h2)6.899e-10
(i1+h1+h2)7.993e-11(i1+h1+h1+h2)2.727e-10
(i1+h1)2.910e-11(i1+h1+h2)2.494e-11
(i1)7.595e-12(i1+h1)9.858e-12
(h2+h1)4.041e-15(i1)2.600e-12
(h2+h2)3.001e-15(h2+h1)3.683e-15
(h1+h1)2.270e-15(h2+h2)2.545e-15
(i1+h1+h1)6.910e-16(h1+h1)2.223e-15
(i1+i1+h1)4.247e-16(i1+h1+h1)2.317e-16
(i1+h2)5.233e-17(i1+i1+h1)4.925e-17
(i1+i1)3.115e-17(i1+h2)1.650e-17
(i1+h2+h1)6.981e-19(i1+i1)3.650e-18
(h2+h2+h1)3.563e-21(i1+h2+h1)2.178e-19
(h2+h1+h1)1.691e-21(h2+h2+h1)2.991e-21
(h2+h2+h2)1.422e-21(h2+h1+h1)1.526e-21
(i1+i1+h2)3.664e-22(h2+h2+h2)1.111e-21
(h1+h1+h1)3.409e-22(h1+h1+h1)3.304e-22
(i1+h2+h2)1.936e-22(i1+h2+h2)5.621e-23
(i1+i1+i1)1.629e-24(i1+i1+h2)3.954e-23
(i1+i1+i1)6.531e-26
" ], "text/plain": [ "Result(tubes={Tube({: 1e-09, : 1e-08, : 1e-08}, complexes=[, , , , , , , , , , , , , , , , , , , , ], name='tube t1'): , Tube({: 1e-09, : 1e-08, : 1e-08}, complexes=[, , , , , , , , , , , , , , , , , , , , , ], name='tube t2'): }, complexes={: nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 1.149854768666666666666666667E+68, free_energy: -92.22708781028317, mfe_stack: -89.78434753417969, pairs: [[0.6189 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.4968 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.4753 ... 0.0000 0.0077 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0003 0.0000 0.0000]\n", " [0.0000 0.0000 0.0077 ... 0.0000 0.0313 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.1052]], mfe: [StructureEnergy(Structure('......((((((((((((((((((......((((((((((((((((((+((((..((((((((((((((((((......))))))))))))))))))+))))..))))))))))))))))))......))))))))))))))))))'), energy=-90.68831634521484, stack_energy=-89.78434753417969), StructureEnergy(Structure('((((..((((((((((((((((((......))))))))))))))))))+))))..((((((((((((((((((......((((((((((((((((((+......))))))))))))))))))......))))))))))))))))))'), energy=-90.68830871582031, stack_energy=-89.78433990478516), StructureEnergy(Structure('((((..((((((((((((((((((......((((((((((((((((((+......))))))))))))))))))......))))))))))))))))))+))))..((((((((((((((((((......))))))))))))))))))'), energy=-90.68831634521484, stack_energy=-89.78433990478516)], subopt: [StructureEnergy(Structure('......((((((((((((((((((......((((((((((((((((((+((((..((((((((((((((((((......))))))))))))))))))+))))..))))))))))))))))))......))))))))))))))))))'), energy=-90.68831634521484, stack_energy=-89.78434753417969), StructureEnergy(Structure('((((..((((((((((((((((((......))))))))))))))))))+))))..((((((((((((((((((......((((((((((((((((((+......))))))))))))))))))......))))))))))))))))))'), energy=-90.68830871582031, stack_energy=-89.78433990478516), StructureEnergy(Structure('((((..((((((((((((((((((......((((((((((((((((((+......))))))))))))))))))......))))))))))))))))))+))))..((((((((((((((((((......))))))))))))))))))'), energy=-90.68831634521484, stack_energy=-89.78433990478516)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 2.897263576E+125, free_energy: -170.01005685932424, mfe_stack: -168.1974639892578, pairs: [[0.0124 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0010 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0008 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0024 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0015 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0043]], mfe: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+((((((((((((((((((((((((((((((((((((((((((((((((+........................))))))))))))))))))))))))+))))))))))))))))))))))))))))))))))))))))))))))))'), energy=-168.28504943847656, stack_energy=-168.1974639892578)], subopt: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+((((((((((((((((((((((((((((((((((((((((((((((((+........................))))))))))))))))))))))))+))))))))))))))))))))))))))))))))))))))))))))))))'), energy=-168.28504943847656, stack_energy=-168.1974639892578)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 3.284054717E+51, free_energy: -69.80845750828718, mfe_stack: -65.70024871826172, pairs: [[0.4569 0.0000 0.0000 ... 0.0007 0.0008 0.0000]\n", " [0.0000 0.1392 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.1588 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0007 0.0000 0.0000 ... 0.9912 0.0000 0.0000]\n", " [0.0008 0.0000 0.0000 ... 0.0000 0.9818 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.9781]], mfe: [StructureEnergy(Structure('((((((((((((((((((..((((+((((((((((((((((((......))))))))))))))))))(((...+)))...........(....)))))))))))))))))))))))......'), energy=-66.29747009277344, stack_energy=-65.70024871826172)], subopt: [StructureEnergy(Structure('((((((((((((((((((..((((+((((((((((((((((((......))))))))))))))))))(((...+)))...........(....)))))))))))))))))))))))......'), energy=-66.29747009277344, stack_energy=-65.70024871826172)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 3.608207571E+69, free_energy: -94.25515467339824, mfe_stack: -91.27792358398438, pairs: [[0.3737 0.0000 0.0000 ... 0.0000 0.0001 0.0000]\n", " [0.0000 0.0042 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0064 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0002 0.0000 0.0000]\n", " [0.0001 0.0000 0.0000 ... 0.0000 0.0181 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0880]], mfe: [StructureEnergy(Structure('((((((((((((((((((......))))))))))))))))........+((((((((((((((((((......)))))))))))))))))).))((.+..))..((((((((((((((((((......))))))))))))))))))'), energy=-91.95145416259766, stack_energy=-91.27792358398438)], subopt: [StructureEnergy(Structure('((((((((((((((((((......))))))))))))))))........+((((((((((((((((((......)))))))))))))))))).))((.+..))..((((((((((((((((((......))))))))))))))))))'), energy=-91.95145416259766, stack_energy=-91.27792358398438)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 7.502209679E+20, free_energy: -28.28738934316837, mfe_stack: -27.766735076904297, pairs: [[0.3507 0.0000 0.0000 ... 0.0001 0.0002 0.0000]\n", " [0.0000 0.0044 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0026 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0001 0.0000 0.0000 ... 0.9998 0.0000 0.0000]\n", " [0.0002 0.0000 0.0000 ... 0.0000 0.9817 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.9825]], mfe: [StructureEnergy(Structure('((((((((((((((((((......))))))))))))))))))......'), energy=-27.979267120361328, stack_energy=-27.766735076904297)], subopt: [StructureEnergy(Structure('((((((((((((((((((......))))))))))))))))))......'), energy=-27.979267120361328, stack_energy=-27.766735076904297)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 1111455772.5, free_energy: -12.257837368047838, mfe_stack: -10.810227394104004, pairs: [[0.9512 0.0000 0.0000 ... 0.0002 0.0000 0.0000]\n", " [0.0000 0.9998 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.8307 ... 0.0000 0.0003 0.0002]\n", " ...\n", " [0.0002 0.0000 0.0000 ... 0.9930 0.0000 0.0000]\n", " [0.0000 0.0000 0.0003 ... 0.0000 0.7514 0.0000]\n", " [0.0000 0.0000 0.0002 ... 0.0000 0.0000 0.9053]], mfe: [StructureEnergy(Structure('...........((.((........+...........)).))........'), energy=-11.5070161819458, stack_energy=-10.810227394104004)], subopt: [StructureEnergy(Structure('...........((.((........+...........)).))........'), energy=-11.5070161819458, stack_energy=-10.810227394104004)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 2.495551335333333333333333333E+69, free_energy: -94.03817372391491, mfe_stack: -90.49443817138672, pairs: [[0.3878 0.0000 0.0000 ... 0.0010 0.0014 0.0000]\n", " [0.0000 0.0060 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0041 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0010 0.0000 0.0000 ... 0.9764 0.0000 0.0000]\n", " [0.0014 0.0000 0.0000 ... 0.0000 0.9665 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.8765]], mfe: [StructureEnergy(Structure('(((((((((((((((((.......((((((((((((((((((......+)))))))))))))))))).(((((((((((((((((((((((......+))))))))))))))))))..))))))))))))))))))))))......'), energy=-91.45428466796875, stack_energy=-90.49443817138672), StructureEnergy(Structure('((((((((((((((((((..((((((((((((((((((((((......+))))))))))))))))).......((((((((((((((((((......+)))))))))))))))))).)))))))))))))))))))))))......'), energy=-91.45429992675781, stack_energy=-90.49443817138672), StructureEnergy(Structure('((((((((((((((((((.(((((((((((((((((((((((......+))))))))))))))))))..)))))(((((((((((((((((......+))))))))))))))))).......))))))))))))))))))......'), energy=-91.45429992675781, stack_energy=-90.49443817138672)], subopt: [StructureEnergy(Structure('(((((((((((((((((.......((((((((((((((((((......+)))))))))))))))))).(((((((((((((((((((((((......+))))))))))))))))))..))))))))))))))))))))))......'), energy=-91.45428466796875, stack_energy=-90.49443817138672), StructureEnergy(Structure('((((((((((((((((((..((((((((((((((((((((((......+))))))))))))))))).......((((((((((((((((((......+)))))))))))))))))).)))))))))))))))))))))))......'), energy=-91.45429992675781, stack_energy=-90.49443817138672), StructureEnergy(Structure('((((((((((((((((((.(((((((((((((((((((((((......+))))))))))))))))))..)))))(((((((((((((((((......+))))))))))))))))).......))))))))))))))))))......'), energy=-91.45429992675781, stack_energy=-90.49443817138672)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 8.901955394E+44, free_energy: -60.90979979209581, mfe_stack: -59.15809631347656, pairs: [[0.3948 0.0000 0.0000 ... 0.0000 0.0001 0.0000]\n", " [0.0000 0.0042 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0038 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0002 0.0000 0.0000]\n", " [0.0001 0.0000 0.0000 ... 0.0000 0.0179 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0908]], mfe: [StructureEnergy(Structure('((((((((((((((((((......)))))))))))))))))).....(+.....)((((((((((((((((((......))))))))))))))))))'), energy=-59.538204193115234, stack_energy=-59.15809631347656)], subopt: [StructureEnergy(Structure('((((((((((((((((((......)))))))))))))))))).....(+.....)((((((((((((((((((......))))))))))))))))))'), energy=-59.538204193115234, stack_energy=-59.15809631347656)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 9.884933714E+68, free_energy: -93.49317349862099, mfe_stack: -90.43036651611328, pairs: [[0.4282 0.0000 0.0000 ... 0.0000 0.0002 0.0000]\n", " [0.0000 0.0043 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0049 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0003 0.0000 0.0000]\n", " [0.0002 0.0000 0.0000 ... 0.0000 0.0250 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0970]], mfe: [StructureEnergy(Structure('((((((((((((((((((......)))))))))))))))))).....(+((((..((((((((((((((((((......))))))))))))))))))+)))).)((((((((((((((((((......))))))))))))))))))'), energy=-91.2419204711914, stack_energy=-90.43036651611328)], subopt: [StructureEnergy(Structure('((((((((((((((((((......)))))))))))))))))).....(+((((..((((((((((((((((((......))))))))))))))))))+)))).)((((((((((((((((((......))))))))))))))))))'), energy=-91.2419204711914, stack_energy=-90.43036651611328)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 7.825782682E+62, free_energy: -85.22527344309493, mfe_stack: -83.55513763427734, pairs: [[0.0124 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0010 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0008 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0024 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0015 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0043]], mfe: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+........................))))))))))))))))))))))))'), energy=-83.62891387939453, stack_energy=-83.55513763427734)], subopt: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+........................))))))))))))))))))))))))'), energy=-83.62891387939453, stack_energy=-83.55513763427734)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 4.020905314E+40, free_energy: -55.02179198272666, mfe_stack: -52.18182373046875, pairs: [[0.9334 0.0000 0.0000 ... 0.0000 0.0021 0.0000]\n", " [0.0000 0.9998 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.8270 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0074 0.0000 0.0000]\n", " [0.0021 0.0000 0.0000 ... 0.0000 0.9910 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.9976]], mfe: [StructureEnergy(Structure('...........((.((........+((((((((((((((((((((((((+))))))))))))))))))))))))(..((....)).)....)).))..'), energy=-52.88565444946289, stack_energy=-52.18182373046875)], subopt: [StructureEnergy(Structure('...........((.((........+((((((((((((((((((((((((+))))))))))))))))))))))))(..((....)).)....)).))..'), energy=-52.88565444946289, stack_energy=-52.18182373046875)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 2.294698046E+94, free_energy: -127.86559953519007, mfe_stack: -126.01390075683594, pairs: [[0.0124 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0010 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0008 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0024 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0015 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0043]], mfe: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+(((((((((((((((((((((((((..((....)).)...........+))))))))))))))))))))))))))))))))))))))))))))))))'), energy=-126.03478240966797, stack_energy=-126.01390075683594)], subopt: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+(((((((((((((((((((((((((..((....)).)...........+))))))))))))))))))))))))))))))))))))))))))))))))'), energy=-126.03478240966797, stack_energy=-126.01390075683594)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 1.931209050E+26, free_energy: -35.619197518106844, mfe_stack: -32.9045524597168, pairs: [[0.5749 0.0000 0.0000 ... 0.0007 0.0008 0.0000]\n", " [0.0000 0.3109 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.3254 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0007 0.0000 0.0000 ... 0.9718 0.0000 0.0000]\n", " [0.0008 0.0000 0.0000 ... 0.0000 0.9721 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.9818]], mfe: [StructureEnergy(Structure('(((.....................+((((((((((((((((((......)))))))))))))))))))))...'), energy=-33.28371810913086, stack_energy=-32.9045524597168)], subopt: [StructureEnergy(Structure('(((.....................+((((((((((((((((((......)))))))))))))))))))))...'), energy=-33.28371810913086, stack_energy=-32.9045524597168)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 1.145319399E+45, free_energy: -61.058100527736244, mfe_stack: -59.052703857421875, pairs: [[0.3731 0.0000 0.0000 ... 0.0005 0.0008 0.0000]\n", " [0.0000 0.0052 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0034 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0005 0.0000 0.0000 ... 0.9893 0.0000 0.0000]\n", " [0.0008 0.0000 0.0000 ... 0.0000 0.9741 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.9235]], mfe: [StructureEnergy(Structure('((((((((((((((((((..((((((((((((((((((((((......+))))))))))))))))))..))))))))))))))))))))))......'), energy=-59.47776412963867, stack_energy=-59.052703857421875)], subopt: [StructureEnergy(Structure('((((((((((((((((((..((((((((((((((((((((((......+))))))))))))))))))..))))))))))))))))))))))......'), energy=-59.47776412963867, stack_energy=-59.052703857421875)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 2583062973333333.333333333333, free_energy: -20.884556257260176, mfe_stack: -17.980520248413086, pairs: [[0.9664 0.0000 0.0000 ... 0.0002 0.0000 0.0000]\n", " [0.0000 0.9839 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.9151 ... 0.0000 0.0005 0.0003]\n", " ...\n", " [0.0002 0.0000 0.0000 ... 0.9727 0.0000 0.0000]\n", " [0.0000 0.0000 0.0005 ... 0.0000 0.7864 0.0000]\n", " [0.0000 0.0000 0.0003 ... 0.0000 0.0000 0.8997]], mfe: [StructureEnergy(Structure('...((((....((.((........+...........)).))........+...)))).................'), energy=-19.3389835357666, stack_energy=-17.980520248413086), StructureEnergy(Structure('...........((.((........+...((((.................+...))))....)).))........'), energy=-19.33898162841797, stack_energy=-17.980518341064453), StructureEnergy(Structure('...((((.................+...))))....((.((........+...........)).))........'), energy=-19.3389835357666, stack_energy=-17.980518341064453)], subopt: [StructureEnergy(Structure('...((((....((.((........+...........)).))........+...)))).................'), energy=-19.3389835357666, stack_energy=-17.980520248413086), StructureEnergy(Structure('...........((.((........+...((((.................+...))))....)).))........'), energy=-19.33898162841797, stack_energy=-17.980518341064453), StructureEnergy(Structure('...((((.................+...))))....((.((........+...........)).))........'), energy=-19.3389835357666, stack_energy=-17.980518341064453)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 6.096479363, free_energy: -1.063838903876459, mfe_stack: 0.0, pairs: [[0.9769 0.0000 0.0000 0.0000 0.0037 0.0000 0.0000 0.0000 0.0000 0.0030\n", " 0.0143 0.0000 0.0000 0.0000 0.0000 0.0000 0.0010 0.0000 0.0000 0.0000\n", " 0.0005 0.0006 0.0000 0.0000]\n", " [0.0000 0.9701 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0193 0.0000 0.0000 0.0106 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.8486 0.0000 0.0000 0.0000 0.0000 0.0000 0.1504 0.0000\n", " 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0007 0.0003]\n", " [0.0000 0.0000 0.0000 0.7612 0.0000 0.0000 0.0000 0.1260 0.0000 0.0000\n", " 0.0000 0.0000 0.0194 0.0365 0.0000 0.0129 0.0000 0.0177 0.0154 0.0109\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0037 0.0000 0.0000 0.0000 0.9835 0.0000 0.0000 0.0000 0.0062 0.0000\n", " 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0061 0.0004]\n", " [0.0000 0.0000 0.0000 0.0000 0.0000 0.8093 0.0000 0.0000 0.0000 0.0615\n", " 0.0490 0.0000 0.0000 0.0000 0.0000 0.0000 0.0682 0.0000 0.0000 0.0000\n", " 0.0028 0.0093 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.9299 0.0000 0.0000 0.0000\n", " 0.0000 0.0512 0.0000 0.0000 0.0189 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 0.1260 0.0000 0.0000 0.0000 0.7892 0.0000 0.0000\n", " 0.0000 0.0095 0.0000 0.0000 0.0753 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.1504 0.0000 0.0062 0.0000 0.0000 0.0000 0.8291 0.0000\n", " 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0055 0.0000 0.0000 0.0000\n", " 0.0038 0.0049 0.0000 0.0000]\n", " [0.0030 0.0000 0.0000 0.0000 0.0000 0.0615 0.0000 0.0000 0.0000 0.8678\n", " 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0065 0.0613]\n", " [0.0143 0.0000 0.0000 0.0000 0.0000 0.0490 0.0000 0.0000 0.0000 0.0000\n", " 0.8770 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0578 0.0020]\n", " [0.0000 0.0193 0.0000 0.0000 0.0000 0.0000 0.0512 0.0095 0.0000 0.0000\n", " 0.0000 0.6844 0.0000 0.0000 0.0000 0.0232 0.0000 0.1460 0.0404 0.0260\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 0.0194 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.9806 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 0.0365 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.9635 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0106 0.0000 0.0000 0.0000 0.0000 0.0189 0.0753 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000 0.7271 0.0000 0.0000 0.0000 0.0280 0.1401\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 0.0129 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0232 0.0000 0.0000 0.0000 0.9639 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0010 0.0000 0.0000 0.0000 0.0000 0.0682 0.0000 0.0000 0.0055 0.0000\n", " 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.8974 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0225 0.0054]\n", " [0.0000 0.0000 0.0000 0.0177 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.1460 0.0000 0.0000 0.0000 0.0000 0.0000 0.8363 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 0.0154 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0404 0.0000 0.0000 0.0280 0.0000 0.0000 0.0000 0.9162 0.0000\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 0.0109 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.0260 0.0000 0.0000 0.1401 0.0000 0.0000 0.0000 0.0000 0.8231\n", " 0.0000 0.0000 0.0000 0.0000]\n", " [0.0005 0.0000 0.0000 0.0000 0.0000 0.0028 0.0000 0.0000 0.0038 0.0000\n", " 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.9929 0.0000 0.0000 0.0000]\n", " [0.0006 0.0000 0.0000 0.0000 0.0000 0.0093 0.0000 0.0000 0.0049 0.0000\n", " 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000\n", " 0.0000 0.9852 0.0000 0.0000]\n", " [0.0000 0.0000 0.0007 0.0000 0.0061 0.0000 0.0000 0.0000 0.0000 0.0065\n", " 0.0578 0.0000 0.0000 0.0000 0.0000 0.0000 0.0225 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.9064 0.0000]\n", " [0.0000 0.0000 0.0003 0.0000 0.0004 0.0000 0.0000 0.0000 0.0000 0.0613\n", " 0.0020 0.0000 0.0000 0.0000 0.0000 0.0000 0.0054 0.0000 0.0000 0.0000\n", " 0.0000 0.0000 0.0000 0.9306]], mfe: [StructureEnergy(Structure('........................'), energy=0.0, stack_energy=0.0)], subopt: [StructureEnergy(Structure('........................'), energy=0.0, stack_energy=0.0)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 3.904909267E+57, free_energy: -78.04079313043594, mfe_stack: -75.61556243896484, pairs: [[0.3526 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0307 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0280 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0279 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0304 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0458]], mfe: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))(..((....)).).....((....+....))((((((((((((((((((......))))))))))))))))))'), energy=-76.00601959228516, stack_energy=-75.61556243896484)], subopt: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))(..((....)).).....((....+....))((((((((((((((((((......))))))))))))))))))'), energy=-76.00601959228516, stack_energy=-75.61556243896484)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 6.198246444E+31, free_energy: -43.08082088479579, mfe_stack: -41.3715934753418, pairs: [[0.2680 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0220 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0187 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.9380 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.8428 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.7807]], mfe: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))(..((....)).)...........'), energy=-41.37864685058594, stack_energy=-41.3715934753418)], subopt: [StructureEnergy(Structure('((((((((((((((((((((((((+))))))))))))))))))))))))(..((....)).)...........'), energy=-41.37864685058594, stack_energy=-41.3715934753418)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 6.010583312E+34, free_energy: -47.127944377674645, mfe_stack: -43.714778900146484, pairs: [[0.6080 0.0000 0.0000 ... 0.0009 0.0010 0.0000]\n", " [0.0000 0.3735 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.3796 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0009 0.0000 0.0000 ... 0.9730 0.0000 0.0000]\n", " [0.0010 0.0000 0.0000 ... 0.0000 0.9744 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.9839]], mfe: [StructureEnergy(Structure('(((........((.((........+...........)).))........+((((((((((((((((((......)))))))))))))))))))))...'), energy=-44.79072952270508, stack_energy=-43.714778900146484)], subopt: [StructureEnergy(Structure('(((........((.((........+...........)).))........+((((((((((((((((((......)))))))))))))))))))))...'), energy=-44.79072952270508, stack_energy=-43.714778900146484)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 2.8859810205E+44, free_energy: -60.246909370921614, mfe_stack: -58.85515213012695, pairs: [[0.4818 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.3023 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.3002 ... 0.0000 0.0028 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0002 0.0000 0.0000]\n", " [0.0000 0.0000 0.0028 ... 0.0000 0.0200 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.1021]], mfe: [StructureEnergy(Structure('((((..((((((((((((((((((......))))))))))))))))))+))))..((((((((((((((((((......))))))))))))))))))'), energy=-59.60158920288086, stack_energy=-58.85515213012695)], subopt: [StructureEnergy(Structure('((((..((((((((((((((((((......))))))))))))))))))+))))..((((((((((((((((((......))))))))))))))))))'), energy=-59.60158920288086, stack_energy=-58.85515213012695)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 6.834529306E+54, free_energy: -74.3049913108455, mfe_stack: -71.08967590332031, pairs: [[0.2685 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0226 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 0.0193 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.9373 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.8422 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.7802]], mfe: [StructureEnergy(Structure('((((((((((((((((((((((((+.(((((((((((((((((......))))))))))))))))))......+.)))))))))))))))))))))))(..((....)).)...........'), energy=-71.22168731689453, stack_energy=-71.08967590332031)], subopt: [StructureEnergy(Structure('((((((((((((((((((((((((+.(((((((((((((((((......))))))))))))))))))......+.)))))))))))))))))))))))(..((....)).)...........'), energy=-71.22168731689453, stack_energy=-71.08967590332031)]}), : nupack.analysis.ComplexResult({model: Model('stacking', 'dna04.json', T=296.15 K), pfunc: 3.892765727E+20, free_energy: -27.90128735007179, mfe_stack: -27.5828857421875, pairs: [[0.9999 0.0000 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.9997 0.0000 ... 0.0000 0.0000 0.0000]\n", " [0.0000 0.0000 1.0000 ... 0.0000 0.0000 0.0000]\n", " ...\n", " [0.0000 0.0000 0.0000 ... 0.0002 0.0000 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0173 0.0000]\n", " [0.0000 0.0000 0.0000 ... 0.0000 0.0000 0.0997]], mfe: [StructureEnergy(Structure('......((((((((((((((((((......))))))))))))))))))'), energy=-27.740402221679688, stack_energy=-27.5828857421875)], subopt: [StructureEnergy(Structure('......((((((((((((((((((......))))))))))))))))))'), energy=-27.740402221679688, stack_energy=-27.5828857421875)]})})" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Import NUPACK Python module\n", "from nupack import *\n", "\n", "# Define physical model\n", "my_model = Model(material='dna', celsius=23)\n", "\n", "# Define strand species\n", "i1 = Strand('AGTCTAGGATTCGGCGTGGGTTAA', name='i1')\n", "h1 = Strand('TTAACCCACGCCGAATCCTAGACTCAAAGTAGTCTAGGATTCGGCGTG', name='h1')\n", "h2 = Strand('AGTCTAGGATTCGGCGTGGGTTAACACGCCGAATCCTAGACTACTTTG', name='h2')\n", "\n", "# Define two tube ensembles containing strands at specified concentrations interacting \n", "# to form all complexes of up to 3 strands plus additional specified complexes\n", "t1 = Tube(strands={i1: 1e-9, h1: 1e-8, h2: 1e-8}, \n", " complexes=SetSpec(max_size=3, \n", " include=[[i1, h1, h1, h2]]), \n", " name='tube t1')\n", "\n", "t2 = Tube(strands={i1: 1e-9, h1: 1e-8, h2: 1e-8}, \n", " complexes=SetSpec(max_size=3, \n", " include=[[i1, h1, h1, h2], \n", " [i1, h1, h1, h2, h2]]), \n", " name='tube t2')\n", "\n", "# Analyze the tube ensembles\n", "# Calculate pfunc (default), pairs, mfe for each complex\n", "# Calculate equilibrium complex concentrations (default) for each tube ensemble\n", "# Since pairs is specified, calculate ensemble pair fractions for each tube ensemble\n", "tube_result = tube_analysis(tubes=[t1, t2], compute=['pairs', 'mfe'], model=my_model)\n", "tube_result" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "MFE proxy structure(s) for odd polymer ending in h1:\n", " 0: ((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+(((((((((((((((((((((((((..((....)).)...........+)))))))))))))))))))))))))))))))))))))))))))))))) (-126.03 kcal/mol)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# MFE proxy structure for odd polymer ending in h1 \n", "odd_polymer_result = tube_result['(i1+h1+h1+h2)']\n", "print('\\nMFE proxy structure(s) for odd polymer ending in h1:')\n", "for i, s in enumerate(odd_polymer_result.mfe):\n", " print(' %2d: %s (%.2f kcal/mol)' % (i, s.structure, s.energy))\n", "\n", "# Plot the equilibrium pair probability matrix for odd polymer ending in h1\n", "import matplotlib.pyplot as plt\n", "plt.imshow(odd_polymer_result.pairs.to_array())\n", "plt.xlabel('Base index')\n", "plt.ylabel('Base index')\n", "plt.title('Pair probabilities for complex (i1+h1+h1+h2)')\n", "plt.colorbar()\n", "plt.clim(0, 1)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "MFE proxy structure(s) for even polymer ending in h2:\n", " 0: ((((((((((((((((((((((((+))))))))))))))))))))))))((((((((((((((((((((((((+((((((((((((((((((((((((((((((((((((((((((((((((+........................))))))))))))))))))))))))+)))))))))))))))))))))))))))))))))))))))))))))))) (-168.29 kcal/mol)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# MFE proxy structure for even polymer ending in h2 \n", "even_polymer_result = tube_result['(i1+h1+h1+h2+h2)']\n", "print('\\nMFE proxy structure(s) for even polymer ending in h2:')\n", "for i, s in enumerate(even_polymer_result.mfe):\n", " print(' %2d: %s (%.2f kcal/mol)' % (i, s.structure, s.energy))\n", "\n", "# Plot the equilibrium pair probability matrix for even polymer ending in h2\n", "import matplotlib.pyplot as plt\n", "plt.imshow(even_polymer_result.pairs.to_array())\n", "plt.xlabel('Base index')\n", "plt.ylabel('Base index')\n", "plt.title('Pair probabilities for complex (i1+h1+h1+h2+h2)')\n", "plt.colorbar()\n", "plt.clim(0, 1)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the ensemble pair fractions for tube t1\n", "plt.imshow(tube_result[t1].ensemble_pair_fractions.to_array())\n", "plt.xlabel('Base index')\n", "plt.ylabel('Base index')\n", "plt.title('Ensemble pair fractions for ' + ', '.join(s.name for s in t1.strands))\n", "plt.colorbar()\n", "plt.clim(0, 1)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the ensemble pair fractions for tube t2\n", "plt.imshow(tube_result[t2].ensemble_pair_fractions.to_array())\n", "plt.xlabel('Base index')\n", "plt.ylabel('Base index')\n", "plt.title('Ensemble pair fractions for ' + ', '.join(s.name for s in t2.strands))\n", "plt.colorbar()\n", "plt.clim(0, 1)" ] } ], "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 }