Skip to content

Commit

Permalink
added example of oxDNA export of extension and loopouts
Browse files Browse the repository at this point in the history
  • Loading branch information
dave-doty committed Nov 30, 2022
1 parent 931f22d commit 8e78237
Show file tree
Hide file tree
Showing 5 changed files with 270 additions and 1 deletion.
29 changes: 29 additions & 0 deletions examples/extension_and_loopout_oxdna_export.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import scadnano as sc


def main() -> None:
d = create_design()
d.write_scadnano_file(directory='output_designs')
d.write_oxdna_files(directory='oxdna')


def create_design() -> sc.Design:
width = 21
helices = [sc.Helix(max_offset=32) for _ in range(3)]
helices[0].roll = 210
helices[1].roll = 20
helices[2].roll = 210
design = sc.Design(helices=helices, grid=sc.square)

design.draw_strand(0, 0).extension_5p(5) \
.move(width) \
.cross(1).move(-width) \
.loopout(2, 32) \
.move(width) \
.extension_3p(7)

return design


if __name__ == '__main__':
main()
22 changes: 22 additions & 0 deletions examples/output_designs/extension_and_loopout_oxdna_export.sc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"version": "0.17.6",
"grid": "square",
"helices": [
{"max_offset": 32, "grid_position": [0, 0], "roll": 210},
{"max_offset": 32, "grid_position": [0, 1], "roll": 20},
{"max_offset": 32, "grid_position": [0, 2], "roll": 210}
],
"strands": [
{
"color": "#f74308",
"domains": [
{"extension_num_bases": 5},
{"helix": 0, "forward": true, "start": 0, "end": 21},
{"helix": 1, "forward": false, "start": 0, "end": 21},
{"loopout": 32},
{"helix": 2, "forward": true, "start": 0, "end": 21},
{"extension_num_bases": 7}
]
}
]
}
110 changes: 110 additions & 0 deletions examples/oxdna/extension_and_loopout_oxdna_export.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
t = 0
b = 27.636671979913565 27.636671979913565 27.636671979913565
E = 0 0 0
-0.8682408883346526 4.924038765061041 -0.6 0.0 0.0 1.0 -0.17364817766693053 0.9848077530122081 0.0 0 0 0 0 0 0
-0.6945927106677221 3.9392310120488325 -0.6 0.0 0.0 1.0 -0.17364817766693053 0.9848077530122081 0.0 0 0 0 0 0 0
-0.5209445330007916 2.9544232590366244 -0.6 0.0 0.0 1.0 -0.17364817766693053 0.9848077530122081 0.0 0 0 0 0 0 0
-0.34729635533386105 1.9696155060244163 -0.6 0.0 0.0 1.0 -0.17364817766693053 0.9848077530122081 0.0 0 0 0 0 0 0
-0.17364817766693053 0.9848077530122081 -0.6 0.0 0.0 1.0 -0.17364817766693053 0.9848077530122081 0.0 0 0 0 0 0 0
-0.10418890660015831 0.5908846518073249 0.0 0.17364817766693053 -0.9848077530122081 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.41894209085164386 0.42952010955583103 0.3897628551303123 0.6982368180860731 -0.7158668492597184 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5881034927091263 0.11888768591963843 0.7795257102606246 0.9801724878485439 -0.19814614319939738 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5528857271222446 -0.23306087776481688 1.1692885653909368 0.9214762118704076 0.3884347962746948 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.3255277583194556 -0.5040155538904629 1.5590514205212491 0.5425462638657593 0.8400259231507716 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.014958415042843664 -0.5998135092004898 1.9488142756515616 -0.024930691738072774 0.9996891820008164 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.350246203340874 -0.4871628034295139 2.3385771307818737 -0.58374367223479 0.8119380057158565 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5638155724715451 -0.20521208599540144 2.728339985912186 -0.9396926207859085 0.3420201433256691 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5814463717374467 0.14805443861417636 3.1181028410424982 -0.969077286229078 -0.24675739769029392 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.3970115025581157 0.4498687217806405 3.5078656961728107 -0.6616858375968595 -0.7497812029677342 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.07460622278849131 0.5953435239601033 3.8976285513031232 -0.12434370464748554 -0.9922392066001722 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.27372639441189744 0.5339230852868814 4.287391406433435 0.4562106573531624 -0.889871808811469 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5269329440221371 0.286952387172791 4.677154261563747 0.8782215733702285 -0.47825397862131835 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5970184652192408 -0.05974070795749027 5.06691711669406 0.9950307753654014 0.09956784659581712 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.4596266658713871 -0.3856725658119233 5.456679971824372 0.7660444431189786 0.6427876096865388 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.16250428088580418 -0.577574548170007 5.846442826954685 0.270840468143007 0.9626242469500117 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.1910919901510109 -0.568756407700279 6.2362056820849965 -0.3184866502516848 0.9479273461671317 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.4782795043337538 -0.362282646195286 6.625968537215309 -0.7971325072229231 0.6038044103254767 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5992541527313534 -0.02990753139641845 7.0157313923456215 -0.9987569212189225 0.04984588566069742 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5119745289792939 0.3128611220276981 7.405494247475934 -0.8532908816321565 -0.5214352033794969 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.2467722618783674 0.5469035113870037 7.7952571026062465 -0.41128710313061234 -0.9115058523116728 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.24677226187836748 4.068857021600668 7.7952571026062465 -0.4112871031306125 -0.9115058523116727 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.5119745289792939 3.834814632241363 7.405494247475934 -0.8532908816321565 -0.5214352033794967 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.5992541527313534 3.4920459788172464 7.0157313923456215 -0.9987569212189225 0.049845885660697586 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.47827950433375377 3.159670864018379 6.625968537215309 -0.797132507222923 0.6038044103254768 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.19109199015101078 2.953197102513386 6.2362056820849965 -0.31848665025168466 0.9479273461671317 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.16250428088580432 2.944378962043658 5.846442826954685 0.2708404681430072 0.9626242469500117 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.4596266658713872 3.136280944401742 5.456679971824372 0.7660444431189787 0.6427876096865387 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.5970184652192408 3.462212802256175 5.06691711669406 0.9950307753654014 0.09956784659581695 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.5269329440221371 3.808905897386456 4.677154261563747 0.8782215733702284 -0.47825397862131847 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.27372639441189733 4.055876595500546 4.287391406433435 0.45621065735316224 -0.8898718088114691 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.07460622278849142 4.1172970341737685 3.8976285513031232 -0.1243437046474857 -0.9922392066001721 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.39701150255811574 3.9718222319943055 3.5078656961728107 -0.6616858375968596 -0.7497812029677341 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.5814463717374467 3.670007948827841 3.1181028410424982 -0.969077286229078 -0.24675739769029376 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.563815572471545 3.3167414242182636 2.728339985912186 -0.9396926207859084 0.3420201433256692 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.3502462033408739 3.0347907067841513 2.3385771307818737 -0.5837436722347898 0.8119380057158565 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.014958415042843565 2.922140001013175 1.9488142756515616 -0.024930691738072608 0.9996891820008164 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.32552775831945563 3.017937956323202 1.5590514205212491 0.5425462638657594 0.8400259231507715 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.5528857271222446 3.288892632448848 1.1692885653909368 0.9214762118704077 0.3884347962746947 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.5881034927091263 3.6408411961333034 0.7795257102606246 0.9801724878485439 -0.19814614319939755 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.41894209085164374 3.951473619769496 0.3897628551303123 0.698236818086073 -0.7158668492597184 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
-0.10418890660015821 4.1128381620209895 0.0 0.17364817766693036 -0.9848077530122081 -0.0 0.0 0.0 1.0 0 0 0 0 0 0
0.0 3.6286793741595336 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 3.735405238105402 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 3.8421311020512707 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 3.9488569659971393 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.055582829943008 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.1623086938888765 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.269034557834745 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.375760421780614 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.482486285726482 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.589212149672352 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.695938013618219 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.802663877564089 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 4.909389741509957 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.016115605455826 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.122841469401695 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.229567333347563 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.336293197293432 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.4430190612393 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.54974492518517 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.656470789131038 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.763196653076906 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.869922517022775 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 5.976648380968644 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.083374244914513 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.190100108860381 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.29682597280625 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.4035518367521185 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.510277700697987 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.617003564643856 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.723729428589724 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.830455292535593 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
0.0 6.937181156481461 0.6 -0.0 -0.0 -1.0 0.0 1.0 0.0 0 0 0 0 0 0
-0.10418890660015831 7.6347916722346545 0.0 0.17364817766693053 -0.9848077530122081 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.41894209085164386 7.473427129983161 0.3897628551303123 0.6982368180860731 -0.7158668492597184 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5881034927091263 7.162794706346968 0.7795257102606246 0.9801724878485439 -0.19814614319939738 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5528857271222446 6.810846142662513 1.1692885653909368 0.9214762118704076 0.3884347962746948 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.3255277583194556 6.539891466536867 1.5590514205212491 0.5425462638657593 0.8400259231507716 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.014958415042843664 6.44409351122684 1.9488142756515616 -0.024930691738072774 0.9996891820008164 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.350246203340874 6.556744216997816 2.3385771307818737 -0.58374367223479 0.8119380057158565 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5638155724715451 6.8386949344319286 2.728339985912186 -0.9396926207859085 0.3420201433256691 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5814463717374467 7.191961459041506 3.1181028410424982 -0.969077286229078 -0.24675739769029392 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.3970115025581157 7.493775742207971 3.5078656961728107 -0.6616858375968595 -0.7497812029677342 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.07460622278849131 7.6392505443874335 3.8976285513031232 -0.12434370464748554 -0.9922392066001722 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.27372639441189744 7.577830105714211 4.287391406433435 0.4562106573531624 -0.889871808811469 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5269329440221371 7.330859407600121 4.677154261563747 0.8782215733702285 -0.47825397862131835 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.5970184652192408 6.984166312469839 5.06691711669406 0.9950307753654014 0.09956784659581712 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.4596266658713871 6.658234454615407 5.456679971824372 0.7660444431189786 0.6427876096865388 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
-0.16250428088580418 6.4663324722573226 5.846442826954685 0.270840468143007 0.9626242469500117 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.1910919901510109 6.475150612727051 6.2362056820849965 -0.3184866502516848 0.9479273461671317 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.4782795043337538 6.681624374232044 6.625968537215309 -0.7971325072229231 0.6038044103254767 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5992541527313534 7.013999489030912 7.0157313923456215 -0.9987569212189225 0.04984588566069742 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.5119745289792939 7.356768142455028 7.405494247475934 -0.8532908816321565 -0.5214352033794969 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.2467722618783674 7.590810531814333 7.7952571026062465 -0.41128710313061234 -0.9115058523116728 -0.0 -0.0 -0.0 -1.0 0 0 0 0 0 0
0.41128710313061234 7.955412872739003 7.195257102606247 0.0 0.0 1.0 0.41128710313061234 0.9115058523116728 0.0 0 0 0 0 0 0
0.8225742062612247 8.866918725050676 7.195257102606247 0.0 0.0 1.0 0.41128710313061234 0.9115058523116728 0.0 0 0 0 0 0 0
1.2338613093918371 9.778424577362347 7.195257102606247 0.0 0.0 1.0 0.41128710313061234 0.9115058523116728 0.0 0 0 0 0 0 0
1.6451484125224494 10.689930429674021 7.195257102606247 0.0 0.0 1.0 0.41128710313061234 0.9115058523116728 0.0 0 0 0 0 0 0
2.0564355156530616 11.601436281985695 7.195257102606247 0.0 0.0 1.0 0.41128710313061234 0.9115058523116728 0.0 0 0 0 0 0 0
2.467722618783674 12.512942134297369 7.195257102606247 0.0 0.0 1.0 0.41128710313061234 0.9115058523116728 0.0 0 0 0 0 0 0
2.879009721914286 13.424447986609042 7.195257102606247 0.0 0.0 1.0 0.41128710313061234 0.9115058523116728 0.0 0 0 0 0 0 0
108 changes: 108 additions & 0 deletions examples/oxdna/extension_and_loopout_oxdna_export.top
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
107 1
1 T 1 -1
1 T 2 0
1 T 3 1
1 T 4 2
1 T 5 3
1 T 6 4
1 T 7 5
1 T 8 6
1 T 9 7
1 T 10 8
1 T 11 9
1 T 12 10
1 T 13 11
1 T 14 12
1 T 15 13
1 T 16 14
1 T 17 15
1 T 18 16
1 T 19 17
1 T 20 18
1 T 21 19
1 T 22 20
1 T 23 21
1 T 24 22
1 T 25 23
1 T 26 24
1 T 27 25
1 T 28 26
1 T 29 27
1 T 30 28
1 T 31 29
1 T 32 30
1 T 33 31
1 T 34 32
1 T 35 33
1 T 36 34
1 T 37 35
1 T 38 36
1 T 39 37
1 T 40 38
1 T 41 39
1 T 42 40
1 T 43 41
1 T 44 42
1 T 45 43
1 T 46 44
1 T 47 45
1 T 48 46
1 T 49 47
1 T 50 48
1 T 51 49
1 T 52 50
1 T 53 51
1 T 54 52
1 T 55 53
1 T 56 54
1 T 57 55
1 T 58 56
1 T 59 57
1 T 60 58
1 T 61 59
1 T 62 60
1 T 63 61
1 T 64 62
1 T 65 63
1 T 66 64
1 T 67 65
1 T 68 66
1 T 69 67
1 T 70 68
1 T 71 69
1 T 72 70
1 T 73 71
1 T 74 72
1 T 75 73
1 T 76 74
1 T 77 75
1 T 78 76
1 T 79 77
1 T 80 78
1 T 81 79
1 T 82 80
1 T 83 81
1 T 84 82
1 T 85 83
1 T 86 84
1 T 87 85
1 T 88 86
1 T 89 87
1 T 90 88
1 T 91 89
1 T 92 90
1 T 93 91
1 T 94 92
1 T 95 93
1 T 96 94
1 T 97 95
1 T 98 96
1 T 99 97
1 T 100 98
1 T 101 99
1 T 102 100
1 T 103 101
1 T 104 102
1 T 105 103
1 T 106 104
1 T -1 105
2 changes: 1 addition & 1 deletion scadnano/scadnano.py
Original file line number Diff line number Diff line change
Expand Up @@ -2181,7 +2181,7 @@ class Extension(_JSONSerializable, Generic[DomainLabel]):
design = sc.Design(helices=[sc.Helix(max_offset=10)])
design.draw_strand(0,0).extension_5p(3).move(10).extension_3p(2)
which makes this strand with an :any:`Extension` on side of the length-10 :any:`Domain`:
which makes this strand with an :any:`Extension` on the side of the length-10 :any:`Domain`:
.. code-block:: none
Expand Down

0 comments on commit 8e78237

Please sign in to comment.