From fea3b32c1f3e365e41f368957d06c70df8b3a89a Mon Sep 17 00:00:00 2001 From: David Doty Date: Sun, 4 Dec 2022 08:40:11 -0800 Subject: [PATCH] added example with domain colors --- examples/domain_colors.py | 32 ++++++++++++++++++++++++ examples/output_designs/domain_colors.sc | 24 ++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 examples/domain_colors.py create mode 100644 examples/output_designs/domain_colors.sc diff --git a/examples/domain_colors.py b/examples/domain_colors.py new file mode 100644 index 00000000..1e8ed5e6 --- /dev/null +++ b/examples/domain_colors.py @@ -0,0 +1,32 @@ +import scadnano as sc + + +def create_design() -> sc.Design: + helices = [sc.Helix(max_offset=100) for _ in range(4)] + design = sc.Design(helices=helices, grid=sc.square) + + red = sc.Color(255, 0, 0) + dark_red = sc.Color(150, 0, 0) + green = sc.Color(0, 255, 0) + dark_green = sc.Color(0, 150, 0) + blue = sc.Color(0, 0, 255) + dark_blue = sc.Color(0, 0, 150) + black = sc.Color(0, 0, 0) + + design.draw_strand(0, 0) \ + .extension_5p(num_bases=5).with_domain_color(red) \ + .move(8).with_domain_color(green) \ + .loopout(1, 5).with_domain_color(dark_blue) \ + .move(-8).with_domain_color(dark_red) \ + .cross(2) \ + .move(8).with_domain_color(dark_green) \ + .cross(3) \ + .move(-8) \ + .extension_3p(num_bases=5).with_domain_color(black) \ + .with_color(blue) + + return design + +if __name__ == '__main__': + d = create_design() + d.write_scadnano_file(directory='output_designs') diff --git a/examples/output_designs/domain_colors.sc b/examples/output_designs/domain_colors.sc new file mode 100644 index 00000000..bb4cff75 --- /dev/null +++ b/examples/output_designs/domain_colors.sc @@ -0,0 +1,24 @@ +{ + "version": "0.17.7", + "grid": "square", + "helices": [ + {"max_offset": 100, "grid_position": [0, 0]}, + {"max_offset": 100, "grid_position": [0, 1]}, + {"max_offset": 100, "grid_position": [0, 2]}, + {"max_offset": 100, "grid_position": [0, 3]} + ], + "strands": [ + { + "color": "#0000ff", + "domains": [ + {"extension_num_bases": 5, "color": "#ff0000"}, + {"helix": 0, "forward": true, "start": 0, "end": 8, "color": "#00ff00"}, + {"loopout": 5, "color": "#000096"}, + {"helix": 1, "forward": false, "start": 0, "end": 8, "color": "#960000"}, + {"helix": 2, "forward": true, "start": 0, "end": 8, "color": "#009600"}, + {"helix": 3, "forward": false, "start": 0, "end": 8}, + {"extension_num_bases": 5, "color": "#000000"} + ] + } + ] +} \ No newline at end of file