diff --git a/.gitignore b/.gitignore index c1a53056..73dd10a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.DS_Store *.pyc __pyache__/* /venv/ diff --git a/scadnano/scadnano.py b/scadnano/scadnano.py index a65fdbf3..7f4ffc74 100644 --- a/scadnano/scadnano.py +++ b/scadnano/scadnano.py @@ -54,7 +54,7 @@ # commented out for now to support Py3.6, which does not support this feature # from __future__ import annotations -__version__ = "0.16.2" # version line; WARNING: do not remove or change this line or comment +__version__ = "0.16.3" # version line; WARNING: do not remove or change this line or comment import dataclasses from abc import abstractmethod, ABC, ABCMeta @@ -82,7 +82,7 @@ def _pairwise(iterable: Iterable) -> Iterable: """s -> (s0,s1), (s1,s2), (s2, s3), ...""" a, b = itertools.tee(iterable) next(b, None) - return zip(a, b) + return zip(a, b) # for putting evaluated expressions in docstrings @@ -3862,7 +3862,7 @@ def from_scadnano_file(filename: str) -> 'Design': # remove quotes when Py3.6 s """ Loads a :any:`Design` from the file with the given name. - :param filename: name of the file with the design. Should be a JSON file ending in .dna + :param filename: name of the file with the design. Should be a JSON file ending in .sc :return: Design described in the file """ with open(filename) as f: @@ -4627,14 +4627,25 @@ def _cadnano_v2_place_crossover(helix_from_dct: Dict[str, Any], helix_to_dct: Di start_from, end_from, forward_from = domain_from.start, domain_from.end, domain_from.forward helix_to = helix_to_dct['num'] - start_to, end_to = domain_to.start, domain_to.end + start_to, end_to, forward_to = domain_to.start, domain_to.end, domain_to.forward - if forward_from: + # Because of paranemic crossovers it is possible + # to crossover to a strand that goes in the same direction + # In total there are four cases corresponding to + # [forward_from, not forward_from] x [forward_to, not forward_to] + if forward_from and not forward_to: helix_from_dct[strand_type][end_from - 1][2:] = [helix_to, end_to - 1] helix_to_dct[strand_type][end_to - 1][:2] = [helix_from, end_from - 1] - else: + elif not forward_from and forward_to: helix_from_dct[strand_type][start_from][2:] = [helix_to, start_to] helix_to_dct[strand_type][start_to][:2] = [helix_from, start_from] + elif forward_from and forward_to: + helix_from_dct[strand_type][end_from - 1][2:] = [helix_to, start_to] + helix_to_dct[strand_type][end_to - 1][:2] = [helix_from, start_from] + elif not forward_from and not forward_to: + helix_from_dct[strand_type][start_from][2:] = [helix_to, end_to - 1] + helix_to_dct[strand_type][start_to][:2] = [helix_from, end_from - 1] + @staticmethod def _cadnano_v2_color_of_stap(color: Color, domain: Domain) -> List[int]: @@ -4706,7 +4717,8 @@ def _cadnano_v2_fill_blank(self, dct: dict, num_bases: int, design_grid: Grid) - """Creates blank cadnanov2 helices in and initialized all their fields. """ helices_ids_reverse = {} - for i, helix in self.helices.items(): + i = 0 + for _, helix in self.helices.items(): helix_dct: Dict[str, Any] = OrderedDict() helix_dct['num'] = helix.idx @@ -4732,6 +4744,7 @@ def _cadnano_v2_fill_blank(self, dct: dict, num_bases: int, design_grid: Grid) - helices_ids_reverse[helix_dct['num']] = i dct['vstrands'].append(helix_dct) + i += 1 return helices_ids_reverse def to_cadnano_v2(self) -> Dict[str, Any]: @@ -5639,7 +5652,6 @@ def _write_plates_default(self, directory: str, filename: Optional[str], strands filename_plate, workbook = self._setup_excel_file(directory, filename) worksheet = self._add_new_excel_plate_sheet(f'plate{plate}', workbook) - num_strands_per_plate = plate_type.num_wells_per_plate() num_plates_needed = len(strands) // num_strands_per_plate if len(strands) % num_strands_per_plate != 0: @@ -5676,8 +5688,8 @@ def _write_plates_default(self, directory: str, filename: Optional[str], strands # So if we would have fewer than that many on the last plate, # shift some from the penultimate plate. if not on_final_plate and \ - final_plate_less_than_min_required and \ - num_strands_remaining == min_strands_per_plate: + final_plate_less_than_min_required and \ + num_strands_remaining == min_strands_per_plate: plate_coord.advance_to_next_plate() else: plate_coord.increment() @@ -5696,7 +5708,7 @@ def to_oxdna_format(self) -> Tuple[str, str]: """Exports to oxdna format. :return: - two strings that are the contents of the .conf and .top file + two strings that are the contents of the .dat and .top file suitable for reading by oxdna (https://sulcgroup.github.io/oxdna-viewer/) """ system = _convert_design_to_oxdna_system(self) @@ -5706,21 +5718,21 @@ def write_oxdna_files(self, directory: str = '.', filename_no_extension: Optiona """Write text file representing this :any:`Design`, suitable for reading by oxdna (https://sulcgroup.github.io/oxdna-viewer/), with the output files having the same name as the running script but with ``.py`` changed to - ``.conf`` and ``.top``, + ``.dat`` and ``.top``, unless `filename_no_extension` is explicitly specified. For instance, if the script is named ``my_origami.py``, - then the design will be written to ``my_origami.conf`` and ``my_origami.top``. + then the design will be written to ``my_origami.dat`` and ``my_origami.top``. The strings written are those returned by :meth:`Design.to_oxdna_format`. :param directory: directory in which to put file (default: current working directory) :param filename_no_extension: - filename without extension (default: name of script without ``.py``). + filename without extension (default: name of running script without ``.py``). """ - conf, top = self.to_oxdna_format() + dat, top = self.to_oxdna_format() - _write_file_same_name_as_running_python_script(conf, 'conf', directory, filename_no_extension) + _write_file_same_name_as_running_python_script(dat, 'dat', directory, filename_no_extension) _write_file_same_name_as_running_python_script(top, 'top', directory, filename_no_extension) # @_docstring_parameter was used to substitute sc in for the filename extension, but it is @@ -6413,10 +6425,11 @@ def _write_file_same_name_as_running_python_script(contents: str, extension: str def _get_filename_same_name_as_running_python_script(directory: str, extension: str, - filename: Optional[str]) -> str: - if filename is None: - filename = _name_of_this_script() + f'.{extension}' - relative_filename = _create_directory_and_set_filename(directory, filename) + filename_no_extension: Optional[str]) -> str: + if filename_no_extension is None: + filename_no_extension = _name_of_this_script() + filename_with_extension = f'{filename_no_extension}.{extension}' + relative_filename = _create_directory_and_set_filename(directory, filename_with_extension) return relative_filename @@ -6492,29 +6505,36 @@ def rotate(self, angle: float, axis: "_OxdnaVector") -> "_OxdnaVector": _OXDNA_ORIGIN = _OxdnaVector(0, 0, 0) -# r, b, and n represent the oxDNA conf file vectors that describe a nucleotide +# r, b, and n represent the oxDNA configuration (.dat) file vectors that describe a nucleotide # r is the position of the base # b is the backbone-base vector (in documentation as versor: more info on versors here https://eater.net/quaternions) # n is the forward direction of the helix @dataclass(frozen=True) class _OxdnaNucleotide: - center: _OxdnaVector # center of the slice of the helix to which this nucleotide belongs - normal: _OxdnaVector # unit vector from the backbone to the center of the helix, same as negated b from oxDNA configuration file - forward: _OxdnaVector # unit vector pointing in direction from 3' to 5' ends of the helix, same as oxDNA n vector + center: _OxdnaVector + # center of the slice of the helix to which this nucleotide belongs + + normal: _OxdnaVector + # unit vector from the backbone to the center of the helix, same as negated b from oxDNA dat file + + forward: _OxdnaVector + # unit vector pointing in direction from 3' to 5' ends of the helix, same as oxDNA n vector + base: str - v: _OxdnaVector = field(init=False, default=_OXDNA_ORIGIN) # velocity for oxDNA conf file - L: _OxdnaVector = field(init=False, default=_OXDNA_ORIGIN) # angular velocity for oxDNA conf file + v: _OxdnaVector = field(init=False, default=_OXDNA_ORIGIN) # velocity for oxDNA dat file + L: _OxdnaVector = field(init=False, default=_OXDNA_ORIGIN) # angular velocity for oxDNA dat file # https://dna.physics.ox.ac.uk/index.php/Documentation - # r, b, and n represent the oxDNA conf file vectors that describe a nucleotide + # r, b, and n represent the oxDNA dat file vectors that describe a nucleotide - # r is the position of the center of mass of the oxDNA binding sites (stacking, hydrogen bonding, backbone-repulsion https://dna.physics.ox.ac.uk/index.php/Documentation) + # r is the position of the center of mass of the oxDNA binding sites + # (stacking, hydrogen bonding, backbone-repulsion https://dna.physics.ox.ac.uk/index.php/Documentation) # offset from the center of the helix by _BASE_DIST @property def r(self) -> _OxdnaVector: return self.center - self.b * _BASE_DIST - + # b is the backbone-base vector (in documentation as versor: more info on versors here https://eater.net/quaternions) @property def b(self) -> _OxdnaVector: @@ -6525,6 +6545,7 @@ def b(self) -> _OxdnaVector: def n(self) -> _OxdnaVector: return self.forward + @dataclass(frozen=True) class _OxdnaStrand: nucleotides: List[_OxdnaNucleotide] = field(default_factory=list) @@ -6556,7 +6577,7 @@ def compute_bounding_box(self, cubic: bool = True) -> _OxdnaVector: # 5 is arbitrarily chosen so that the box has a bit of wiggle room # 1.5 multiplier is to make all crossovers appear (advice from Oxdna authors) box = 1.5 * (max_vec - min_vec + _OxdnaVector(5, 5, 5)) - if cubic: # oxDNA requires cubic bounding box with default simulation options + if cubic: # oxDNA requires cubic bounding box with default simulation options max_side = max(box.x, box.y, box.z) box = _OxdnaVector(max_side, max_side, max_side) return box @@ -6625,7 +6646,8 @@ def _oxdna_get_helix_vectors(design: Design, helix: Helix) -> Tuple[_OxdnaVector forward = forward.rotate(design.yaw_of_helix(helix), normal) forward = forward.rotate(-design.pitch_of_helix(helix), _OxdnaVector(1, 0, 0)) normal = normal.rotate(-design.pitch_of_helix(helix), _OxdnaVector(1, 0, 0)) - normal = normal.rotate(helix.roll, forward) + + normal = normal.rotate(-helix.roll, forward) x: float = 0.0 y: float = 0.0 @@ -6719,7 +6741,7 @@ def _convert_design_to_oxdna_system(design: Design) -> _OxdnaSystem: # we apply the opposite rotation so that we get the expected vector from scadnano in oxDNA groove_gamma_correction = _GROOVE_GAMMA if domain.forward else -_GROOVE_GAMMA normal = normal.rotate(groove_gamma_correction, forward).normalize() - + # dict / set for insertions / deletions to make lookup cheaper when there are lots of them deletions = set(domain.deletions) insertions = dict(domain.insertions) @@ -6740,14 +6762,14 @@ def _convert_design_to_oxdna_system(design: Design) -> _OxdnaSystem: r = origin_ + forward * ( offset + mod - num + i) * geometry.rise_per_base_pair * NM_TO_OX_UNITS b = normal.rotate(step_rot * (offset + mod - num + i), forward) - n = -forward if domain.forward else forward # note oxDNA n vector points 3' to 5' opposite of scadnano forward vector + n = -forward if domain.forward else forward # note oxDNA n vector points 3' to 5' opposite of scadnano forward vector nuc = _OxdnaNucleotide(r, b, n, seq[index]) dom_strand.nucleotides.append(nuc) index += 1 r = origin_ + forward * (offset + mod) * geometry.rise_per_base_pair * NM_TO_OX_UNITS b = normal.rotate(step_rot * (offset + mod), forward) - n = -forward if domain.forward else forward # note oxDNA n vector points 3' to 5' opposite of scadnano forward vector + n = -forward if domain.forward else forward # note oxDNA n vector points 3' to 5' opposite of scadnano forward vector nuc = _OxdnaNucleotide(r, b, n, seq[index]) dom_strand.nucleotides.append(nuc) index += 1 diff --git a/tests/scadnano_tests.py b/tests/scadnano_tests.py index d615f737..0db62836 100644 --- a/tests/scadnano_tests.py +++ b/tests/scadnano_tests.py @@ -610,6 +610,13 @@ def test_circular_auto_staple_hex(self) -> None: design.write_scadnano_file(directory=self.output_path, filename=f'{file_name}.{sc.default_scadnano_file_extension}') + def test_paranemic_crossover(self) -> None: + file_name = "test_paranemic_crossover" + design = sc.Design.from_cadnano_v2(directory=self.input_path, + filename=file_name + ".json") + design.write_scadnano_file(directory=self.output_path, + filename=f'{file_name}.{sc.default_scadnano_file_extension}') + class TestExportDNASequences(unittest.TestCase): @@ -1034,6 +1041,12 @@ def test_big_circular_staples(self) -> None: design.export_cadnano_v2(directory=self.output_path, filename='test_big_circular_staples.json') + def test_paranemic_crossover(self) -> None: + design = sc.Design.from_scadnano_file( + os.path.join(self.input_path, f'test_paranemic_crossover.{self.ext}')) + design.export_cadnano_v2(directory=self.output_path, + filename='test_paranemic_crossover.json') + def test_bad_cases(self) -> None: """ We do not handle Loopouts and design where the parity of the helix does not correspond to the direction. diff --git a/tests/tests_inputs/cadnano_v2_export/test_16_helix_origami_rectangle_no_twist.sc b/tests/tests_inputs/cadnano_v2_export/test_16_helix_origami_rectangle_no_twist.sc deleted file mode 100644 index 937aa5a7..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_16_helix_origami_rectangle_no_twist.sc +++ /dev/null @@ -1,1878 +0,0 @@ -{ - "version": "0.16.0", - "grid": "square", - "helices": [ - {"max_offset": 448, "grid_position": [0, 0]}, - {"max_offset": 448, "grid_position": [0, 1]}, - {"max_offset": 448, "grid_position": [0, 2]}, - {"max_offset": 448, "grid_position": [0, 3]}, - {"max_offset": 448, "grid_position": [0, 4]}, - {"max_offset": 448, "grid_position": [0, 5]}, - {"max_offset": 448, "grid_position": [0, 6]}, - {"max_offset": 448, "grid_position": [0, 7]}, - {"max_offset": 448, "grid_position": [0, 8]}, - {"max_offset": 448, "grid_position": [0, 9]}, - {"max_offset": 448, "grid_position": [0, 10]}, - {"max_offset": 448, "grid_position": [0, 11]}, - {"max_offset": 448, "grid_position": [0, 12]}, - {"max_offset": 448, "grid_position": [0, 13]}, - {"max_offset": 448, "grid_position": [0, 14]}, - {"max_offset": 448, "grid_position": [0, 15]} - ], - "strands": [ - { - "color": "#0066cc", - "sequence": "TTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCGGGGGCTCCCTTTAGGGTTCCGATTTAGTGCTTTACGGCACCTCGACCCCAAAAAACTTGATTTGGGTGATGGTTCACGTAGTGGGCCATCGCCCTGATAGACGGTTTTTCGCCCTTTGACGTTGGAGTCCACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGGCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGAACCACCATCAAACAGGATTTTCGCCTGCTGGGGCAAACCAGCGTGGACCGCTTGCTGCAACTCTCTCAGGGCCAGGCGGTGAAGGGCAATCAGCTGTTGCCCGTCTCACTGGTGAAAAGAAAAACCACCCTGGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGAATTCGAGCTCGGTACCCGGGGATCCTCTAGAGTCGACCTGCAGGCATGCAAGCTTGGCACTGGCCGTCGTTTTACAACGTCGTGACTGGGAAAACCCTGGCGTTACCCAACTTAATCGCCTTGCAGCACATCCCCCTTTCGCCAGCTGGCGTAATAGCGAAGAGGCCCGCACCGATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGCGCTTTGCCTGGTTTCCGGCACCAGAAGCGGTGCCGGAAAGCTGGCTGGAGTGCGATCTTCCTGAGGCCGATACTGTCGTCGTCCCCTCAAACTGGCAGATGCACGGTTACGATGCGCCCATCTACACCAACGTGACCTATCCCATTACGGTCAATCCGCCGTTTGTTCCCACGGAGAATCCGACGGGTTGTTACTCGCTCACATTTAATGTTGATGAAAGCTGGCTACAGGAAGGCCAGACGCGAATTATTTTTGATGGCGTTCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAATGCGAATTTTAACAAAATATTAACGTTTACAATTTAAATATTTGCTTATACAATCTTCCTGTTTTTGGGGCTTTTCTGATTATCAACCGGGGTACATATGATTGACATGCTAGTTTTACGATTACCGTTCATCGATTCTCTTGTTTGCTCCAGACTCTCAGGCAATGACCTGATAGCCTTTGTAGATCTCTCAAAAATAGCTACCCTCTCCGGCATTAATTTATCAGCTAGAACGGTTGAATATCATATTGATGGTGATTTGACTGTCTCCGGCCTTTCTCACCCTTTTGAATCTTTACCTACACATTACTCAGGCATTGCATTTAAAATATATGAGGGTTCTAAAAATTTTTATCCTTGCGTTGAAATAAAGGCTTCTCCCGCAAAAGTATTACAGGGTCATAATGTTTTTGGTACAACCGATTTAGCTTTATGCTCTGAGGCTTTATTGCTTAATTTTGCTAATTCTTTGCCTTGCCTGTATGATTTATTGGATGTTAATGCTACTACTATTAGTAGAATTGATGCCACCTTTTCAGCTCGCGCCCCAAATGAAAATATAGCTAAACAGGTTATTGACCATTTGCGAAATGTATCTAATGGTCAAACTAAATCTACTCGTTCGCAGAATTGGGAATCAACTGTTATATGGAATGAAACTTCCAGACACCGTACTTTAGTTGCATATTTAAAACATGTTGAGCTACAGCATTATATTCAGCAATTAAGCTCTAAGCCATCCGCAAAAATGACCTCTTATCAAAAGGAGCAATTAAAGGTACTCTCTAATCCTGACCTGTTGGAGTTTGCTTCCGGTCTGGTTCGCTTTGAAGCTCGAATTAAAACGCGATATTTGAAGTCTTTCGGGCTTCCTCTTAATCTTTTTGATGCAATCCGCTTTGCTTCTGACTATAATAGTCAGGGTAAAGACCTGATTTTTGATTTATGGTCATTCTCGTTTTCTGAACTGTTTAAAGCATTTGAGGGGGATTCAATGAATATTTATGACGATTCCGCAGTATTGGACGCTATCCAGTCTAAACATTTTACTATTACCCCCTCTGGCAAAACTTCTTTTGCAAAAGCCTCTCGCTATTTTGGTTTTTATCGTCGTCTGGTAAACGAGGGTTATGATAGTGTTGCTCTTACTATGCCTCGTAATTCCTTTTGGCGTTATGTATCTGCATTAGTTGAATGTGGTATTCCTAAATCTCAACTGATGAATCTTTCTACCTGTAATAATGTTGTTCCGTTAGTTCGTTTTATTAACGTAGATTTTTCTTCCCAACGTCCTGACTGGTATAATGAGCCAGTTCTTAAAATCGCATAAGGTAATTCACAATGATTAAAGTTGAAATTAAACCATCTCAAGCCCAATTTACTACTCGTTCTGGTGTTTCTCGTCAGGGCAAGCCTTATTCACTGAATGAGCAGCTTTGTTACGTTGATTTGGGTAATGAATATCCGGTTCTTGTCAAGATTACTCTTGATGAAGGTCAGCCAGCCTATGCGCCTGGTCTGTACACCGTTCATCTGTCCTCTTTCAAAGTTGGTCAGTTCGGTTCCCTTATGATTGACCGTCTGCGCCTCGTTCCGGCTAAGTAACATGGAGCAGGTCGCGGATTTCGACACAATTTATCAGGCGATGATACAAATCTCCGTTGTACTTTGTTTCGCGCTTGGTATAATCGCTGGGGGTCAAAGATGAGTGTTTTAGTGTATTCTTTTGCCTCTTTCGTTTTAGGTTGGTGCCTTCGTAGTGGCATTACGTATTTTACCCGTTTAATGGAAACTTCCTCATGAAAAAGTCTTTAGTCCTCAAAGCCTCTGTAGCCGTTGCTACCCTCGTTCCGATGCTGTCTTTCGCTGCTGAGGGTGACGATCCCGCAAAAGCGGCCTTTAACTCCCTGCAAGCCTCAGCGACCGAATATATCGGTTATGCGTGGGCGATGGTTGTTGTCATTGTCGGCGCAACTATCGGTATCAAGCTGTTTAAGAAATTCACCTCGAAAGCAAGCTGATAAACCGATACAATTAAAGGCTCCTTTTGGAGCCTTTTTTTTGGAGATTTTCAACGTGAAAAAATTATTATTCGCAATTCCTTTAGTTGTTCCTTTCTATTCTCACTCCGCTGAAACTGTTGAAAGTTGTTTAGCAAAATCCCATACAGAAAATTCATTTACTAACGTCTGGAAAGACGACAAAACTTTAGATCGTTACGCTAACTATGAGGGCTGTCTGTGGAATGCTACAGGCGTTGTAGTTTGTACTGGTGACGAAACTCAGTGTTACGGTACATGGGTTCCTATTGGGCTTGCTATCCCTGAAAATGAGGGTGGTGGCTCTGAGGGTGGCGGTTCTGAGGGTGGCGGTTCTGAGGGTGGCGGTACTAAACCTCCTGAGTACGGTGATACACCTATTCCGGGCTATACTTATATCAACCCTCTCGACGGCACTTATCCGCCTGGTACTGAGCAAAACCCCGCTAATCCTAATCCTTCTCTTGAGGAGTCTCAGCCTCTTAATACTTTCATGTTTCAGAATAATAGGTTCCGAAATAGGCAGGGGGCATTAACTGTTTATACGGGCACTGTTACTCAAGGCACTGACCCCGTTAAAACTTATTACCAGTACACTCCTGTATCATCAAAAGCCATGTATGACGCTTACTGGAACGGTAAATTCAGAGACTGCGCTTTCCATTCTGGCTTTAATGAGGATTTATTTGTTTGTGAATATCAAGGCCAATCGTCTGACCTGCCTCAACCTCCTGTCAATGCTGGCGGCGGCTCTGGTGGTGGTTCTGGTGGCGGCTCTGAGGGTGGTGGCTCTGAGGGTGGCGGTTCTGAGGGTGGCGGCTCTGAGGGAGGCGGTTCCGGTGGTGGCTCTGGTTCCGGTGATTTTGATTATGAAAAGATGGCAAACGCTAATAAGGGGGCTATGACCGAAAATGCCGATGAAAACGCGCTACAGTCTGACGCTAAAGGCAAACTTGATTCTGTCGCTACTGATTACGGTGCTGCTATCGATGGTTTCATTGGTGACGTTTCCGGCCTTGCTAATGGTAATGGTGCTACTGGTGATTTTGCTGGCTCTAATTCCCAAATGGCTCAAGTCGGTGACGGTGATAATTCACCTTTAATGAATAATTTCCGTCAATATTTACCTTCCCTCCCTCAATCGGTTGAATGTCGCCCTTTTGTCTTTGGCGCTGGTAAACCATATGAATTTTCTATTGATTGTGACAAAATAAACTTATTCCGTGGTGTCTTTGCGTTTCTTTTATATGTTGCCACCTTTATGTATGTATTTTCTACGTTTGCTAACATACTGCGTAATAAGGAGTCTTAATCATGCCAGTTCTTTTGGGTATTCCGTTATTATTGCGTTTCCTCGGTTTCCTTCTGGTAACTTTGTTCGGCTATCTGCTTACTTTTCTTAAAAAGGGCTTCGGTAAGATAGCTATTGCTATTTCATTGTTTCTTGCTCTTATTATTGGGCTTAACTCAATTCTTGTGGGTTATCTCTCTGATATTAGCGCTCAATTACCCTCTGACTTTGTTCAGGGTGTTCAGTTAATTCTCCCGTCTAATGCGCTTCCCTGTTTTTATGTTATTCTCTCTGTAAAGGCTGCTATTTTCATTTTTGACGTTAAACAAAAAATCGTTTCTTATTTGGATTGGGATAAATAATATGGCTGTTTATTTTGTAACTGGCAAATTAGGCTCTGGAAAGACGCTCGTTAGCGTTGGTAAGATTCAGGATAAAATTGTAGCTGGGTGCAAAATAGCAACTAATCTTGATTTAAGGCTTCAAAACCTCCCGCAAGTCGGGAGGTTCGCTAAAACGCCTCGCGTTCTTAGAATACCGGATAAGCCTTCTATATCTGATTTGCTTGCTATTGGGCGCGGTAATGATTCCTACGATGAAAATAAAAACGGCTTGCTTGTTCTCGATGAGTGCGGTACTTGGTTTAATACCCGTTCTTGGAATGATAAGGAAAGACAGCCGATTATTGATTGGTTTCTACATGCTCGTAAATTAGGATGGGATATTATTTTTCTTGTTCAGGACTTATCTATTGTTGATAAACAGGCGCGTTCTGCATTAGCTGAACATGTTGTTTATTGTCGTCGTCTGGACAGAATTACTTTACCTTTTGTCGGTACTTTATATTCTCTTATTACTGGCTCGAAAATGCCTCTGCCTAAATTACATGTTGGCGTTGTTAAATATGGCGATTCTCAATTAAGCCCTACTGTTGAGCGTTGGCTTTATACTGGTAAGAATTTGTATAACGCATATGATACTAAACAGGCTTTTTCTAGTAATTATGATTCCGGTGTTTATTCTTATTTAACGCCTTATTTATCACACGGTCGGTATTTCAAACCATTAAATTTAGGTCAGAAGATGAAATTAACTAAAATATATTTGAAAAAGTTTTCTCGCGTTCTTTGTCTTGCGATTGGATTTGCATCAGCATTTACATATAGTTATATAACCCAACCTAAGCCGGAGGTTAAAAAGGTAGTCTCTCAGACCTATGATTTTGATAAATTCACTATTGACTCTTCTCAGCGTCTTAATCTAAGCTATCGCTATGTTTTCAAGGATTCTAAGGGAAAATTAATTAATAGCGACGATTTACAGAAGCAAGGTTATTCACTCACATATATTGATTTATGTACTGTTTCCATTAAAAAAGGTAATTCAAATGAAATTGTTAAATGTAATTAATTTTGTTTTCTTGATGTTTGTTTCATCATCTTCTTTTGCTCAGGTAATTGAAATGAATAATTCGCCTCTGCGCGATTTTGTAACTTGGTATTCAAAGCAATCAGGCGAATCCGTTATTGTTTCTCCCGATGTAAAAGGTACTGTTACTGTATATTCATCTGACGTTAAACCTGAAAATCTACGCAATTTCTTTATTTCTGTTTTACGTGCAAATAATTTTGATATGGTAGGTTCTAACCCTTCCATTATTCAGAAGTATAATCCAAACAATCAGGATTATATTGATGAATTGCCATCATCTGATAATCAGGAATATGATGATAATTCCGCTCCTTCTGGTGGTTTCTTTGTTCCGCAAAATGATAATGTTACTCAAACTTTTAAAATTAATAACGTTCGGGCAAAGGATTTAATACGAGTTGTCGAATTGTTTGTAAAGTCTAATACTTCTAAATCCTCAAATGTATTATCTATTGACGGCTCTAATCTATTAGTTGTTAGTGCTCCTAAAGATATTTTAGATAACCTTCCTCAATTCCTTTCAACTGTTGATTTGCCAACTGACCAGATATTGATTGAGGGTTTGATATTTGAGGTTCAGCAAGGTGA", - "domains": [ - {"helix": 15, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 14, "forward": true, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 13, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 12, "forward": true, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 11, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 10, "forward": true, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 9, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 8, "forward": true, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 7, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 6, "forward": true, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 5, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 4, "forward": true, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 3, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 2, "forward": true, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 1, "forward": false, "start": 16, "end": 224, "deletions": [33, 81, 129, 177]}, - {"helix": 0, "forward": true, "start": 16, "end": 432, "deletions": [33, 81, 129, 177, 225, 273, 321, 369, 417]}, - {"helix": 1, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 2, "forward": true, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 3, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 4, "forward": true, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 5, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 6, "forward": true, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 7, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 8, "forward": true, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 9, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 10, "forward": true, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 11, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 12, "forward": true, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 13, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 14, "forward": true, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]}, - {"helix": 15, "forward": false, "start": 224, "end": 432, "deletions": [225, 273, 321, 369, 417]} - ], - "is_scaffold": true - }, - { - "color": "#f74308", - "sequence": "GCCGCTTTTGCGGGATTTGCAGGGAGTTAAAG", - "domains": [ - {"helix": 1, "forward": true, "start": 16, "end": 32}, - {"helix": 0, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#57bb00", - "sequence": "CAAGAGTAATCTTGACGCTGGCTGACCTTCAT", - "domains": [ - {"helix": 3, "forward": true, "start": 16, "end": 32}, - {"helix": 2, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#888888", - "sequence": "TGCAAAAGAAGTTTTGAATAGCGAGAGGCTTT", - "domains": [ - {"helix": 5, "forward": true, "start": 16, "end": 32}, - {"helix": 4, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#32b86c", - "sequence": "ACGGTGTCTGGAAGTTAATATGCAACTAAAGT", - "domains": [ - {"helix": 7, "forward": true, "start": 16, "end": 32}, - {"helix": 6, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#333333", - "sequence": "AGTCAAATCACCATCAGAGAAAGGCCGGAGAC", - "domains": [ - {"helix": 9, "forward": true, "start": 16, "end": 32}, - {"helix": 8, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#320096", - "sequence": "GGCGGATTGACCGTAACTCCGTGGGAACAAAC", - "domains": [ - {"helix": 11, "forward": true, "start": 16, "end": 32}, - {"helix": 10, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#03b6a2", - "sequence": "AAATTGTTATCCGCTCAGCTGTTTCCTGTGTG", - "domains": [ - {"helix": 13, "forward": true, "start": 16, "end": 32}, - {"helix": 12, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#7300de", - "sequence": "GAGTCCACTATTAAAGTTCCAGTTTGGAACAA", - "domains": [ - {"helix": 15, "forward": true, "start": 16, "end": 32}, - {"helix": 14, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#aaaa00", - "sequence": "AACCCATGTACCGTAAGCAAGCCCAATAGG", - "domains": [ - {"helix": 0, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 1, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#b8056c", - "sequence": "AGCCAGAATGGAAAGATAAATCCTCATTAA", - "domains": [ - {"helix": 2, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 3, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#007200", - "sequence": "ACTTGAGCCATTTGGTTATCACCGTCACCG", - "domains": [ - {"helix": 4, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 5, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#cc0000", - "sequence": "AACCCACAAGAATTGTAATATCAGAGAGAT", - "domains": [ - {"helix": 6, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 7, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#f7931e", - "sequence": "CATCGTAGGAATCATAGCCGTTTTTATTTT", - "domains": [ - {"helix": 8, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 9, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#f74308", - "sequence": "TAATTACTAGAAAAATAAACACCGGAATCA", - "domains": [ - {"helix": 10, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 11, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#57bb00", - "sequence": "TTAATTACATTTAACATCAAGAAAACAAAA", - "domains": [ - {"helix": 12, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 13, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#888888", - "sequence": "CTTTGCCCGAACGTTAACTCGTATTAAATC", - "domains": [ - {"helix": 14, "forward": false, "start": 416, "end": 432, "deletions": [417]}, - {"helix": 15, "forward": true, "start": 416, "end": 432, "deletions": [417]} - ] - }, - { - "color": "#32b86c", - "sequence": "AGAATAGAAAGGAACAACTAAAGGAATTGCG", - "domains": [ - {"helix": 0, "forward": false, "start": 216, "end": 248, "deletions": [225]} - ] - }, - { - "color": "#333333", - "sequence": "TACCAAGCCTCATCTTTGACCCCCTCAAGAG", - "domains": [ - {"helix": 2, "forward": false, "start": 208, "end": 216}, - {"helix": 1, "forward": true, "start": 208, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#320096", - "sequence": "AAGGATTAAGAGGCTGAGACTCCAGCGATTA", - "domains": [ - {"helix": 1, "forward": true, "start": 232, "end": 240}, - {"helix": 2, "forward": false, "start": 216, "end": 240, "deletions": [225]} - ] - }, - { - "color": "#03b6a2", - "sequence": "AATCTACGACCAGTCAGGACGTTGTTCATAA", - "domains": [ - {"helix": 4, "forward": false, "start": 208, "end": 216}, - {"helix": 3, "forward": true, "start": 208, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#7300de", - "sequence": "TCAAAATCAGCGTTTGCCATCTTGGAAGAAA", - "domains": [ - {"helix": 3, "forward": true, "start": 232, "end": 240}, - {"helix": 4, "forward": false, "start": 216, "end": 240, "deletions": [225]} - ] - }, - { - "color": "#aaaa00", - "sequence": "GCCCGAAATTGCATCAAAAAGATTACGTAGA", - "domains": [ - {"helix": 6, "forward": false, "start": 208, "end": 216}, - {"helix": 5, "forward": true, "start": 208, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#b8056c", - "sequence": "AAATACATGCAGTATGTTAGCAAAAGAGGAA", - "domains": [ - {"helix": 5, "forward": true, "start": 232, "end": 240}, - {"helix": 6, "forward": false, "start": 216, "end": 240, "deletions": [225]} - ] - }, - { - "color": "#007200", - "sequence": "CAAAATTACATACAGGCAAGGCAACCTAATT", - "domains": [ - {"helix": 8, "forward": false, "start": 208, "end": 216}, - {"helix": 7, "forward": true, "start": 208, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#cc0000", - "sequence": "TGCCAGTTAGCGTCTTTCCAGAGAGAATTAG", - "domains": [ - {"helix": 7, "forward": true, "start": 232, "end": 240}, - {"helix": 8, "forward": false, "start": 216, "end": 240, "deletions": [225]} - ] - }, - { - "color": "#f7931e", - "sequence": "TTGTATAAAGAAAAGCCCCAAAAAACAATAA", - "domains": [ - {"helix": 10, "forward": false, "start": 208, "end": 216}, - {"helix": 9, "forward": true, "start": 208, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#f74308", - "sequence": "ACAACATGTCTGTCCAGACGACGCAGGAAGA", - "domains": [ - {"helix": 9, "forward": true, "start": 232, "end": 240}, - {"helix": 10, "forward": false, "start": 216, "end": 240, "deletions": [225]} - ] - }, - { - "color": "#57bb00", - "sequence": "CTCTTCGCTTGGGAAGGGCGATCGAGACTAC", - "domains": [ - {"helix": 12, "forward": false, "start": 208, "end": 216}, - {"helix": 11, "forward": true, "start": 208, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#888888", - "sequence": "CTTTTTAAAATCATAGGTCTGAGGTGCGGGC", - "domains": [ - {"helix": 11, "forward": true, "start": 232, "end": 240}, - {"helix": 12, "forward": false, "start": 216, "end": 240, "deletions": [225]} - ] - }, - { - "color": "#32b86c", - "sequence": "CTTTTCACGTATTGGGCGCCAGGGAAACAGA", - "domains": [ - {"helix": 14, "forward": false, "start": 208, "end": 216}, - {"helix": 13, "forward": true, "start": 208, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#333333", - "sequence": "AATAAAGAAATTATTTGCACGTATGGTTTTT", - "domains": [ - {"helix": 13, "forward": true, "start": 232, "end": 240}, - {"helix": 14, "forward": false, "start": 216, "end": 240, "deletions": [225]} - ] - }, - { - "color": "#320096", - "sequence": "GAACGTGGCGAGAAAGGAAGGGAATCACCTT", - "domains": [ - {"helix": 15, "forward": true, "start": 200, "end": 232, "deletions": [225]} - ] - }, - { - "color": "#03b6a2", - "sequence": "CCGATATATTCGGTCGCTGAGGCCGTCACC", - "domains": [ - {"helix": 0, "forward": false, "start": 32, "end": 56, "deletions": [33]}, - {"helix": 1, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#7300de", - "sequence": "CTCAGCAGAGACCAGGCGCATAGAAGAACC", - "domains": [ - {"helix": 1, "forward": true, "start": 40, "end": 48}, - {"helix": 2, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 3, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#aaaa00", - "sequence": "GGATATTCGACGATAAAAACCAACCAGAGG", - "domains": [ - {"helix": 3, "forward": true, "start": 40, "end": 48}, - {"helix": 4, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 5, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#b8056c", - "sequence": "GGGTAATAGCTCAACATGTTTTATCATTCC", - "domains": [ - {"helix": 5, "forward": true, "start": 40, "end": 48}, - {"helix": 6, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 7, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#007200", - "sequence": "ATATAACAAAGATTCAAAAGGGTATATGAT", - "domains": [ - {"helix": 7, "forward": true, "start": 40, "end": 48}, - {"helix": 8, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 9, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#cc0000", - "sequence": "ATTCAACCACAACCCGTCGGATTTGGGATA", - "domains": [ - {"helix": 9, "forward": true, "start": 40, "end": 48}, - {"helix": 10, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 11, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#f7931e", - "sequence": "GGTCACGTCGTAATCATGGTCATACAATTC", - "domains": [ - {"helix": 11, "forward": true, "start": 40, "end": 48}, - {"helix": 12, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 13, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#f74308", - "sequence": "CACACAACTAGGGTTGAGTGTTGAACGTGG", - "domains": [ - {"helix": 13, "forward": true, "start": 40, "end": 48}, - {"helix": 14, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 15, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#57bb00", - "sequence": "ACTCCAACGTCAAAGGGCGAAAAAAAAGAATA", - "domains": [ - {"helix": 15, "forward": true, "start": 40, "end": 64}, - {"helix": 14, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#888888", - "sequence": "CGGTGTACCGAAAGACAGCATCGGACGCATAA", - "domains": [ - {"helix": 2, "forward": false, "start": 48, "end": 56}, - {"helix": 1, "forward": true, "start": 48, "end": 64}, - {"helix": 0, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#32b86c", - "sequence": "TACCAGACATTACCCAAATCAACGCAGATGAA", - "domains": [ - {"helix": 4, "forward": false, "start": 48, "end": 56}, - {"helix": 3, "forward": true, "start": 48, "end": 64}, - {"helix": 2, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#333333", - "sequence": "ATGCTGTAGTAAAATGTTTAGACTCCCTCGTT", - "domains": [ - {"helix": 6, "forward": false, "start": 48, "end": 56}, - {"helix": 5, "forward": true, "start": 48, "end": 64}, - {"helix": 4, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#320096", - "sequence": "TGTAGGTAGTTGATTCCCAATTCTTGAATATA", - "domains": [ - {"helix": 8, "forward": false, "start": 48, "end": 56}, - {"helix": 7, "forward": true, "start": 48, "end": 64}, - {"helix": 6, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#03b6a2", - "sequence": "AGCGAGTAGTTCTAGCTGATAAATGAGTAATG", - "domains": [ - {"helix": 10, "forward": false, "start": 48, "end": 56}, - {"helix": 9, "forward": true, "start": 48, "end": 64}, - {"helix": 8, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#7300de", - "sequence": "CTCGAATTTGGTGTAGATGGGCGCTAAATGTG", - "domains": [ - {"helix": 12, "forward": false, "start": 48, "end": 56}, - {"helix": 11, "forward": true, "start": 48, "end": 64}, - {"helix": 10, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#aaaa00", - "sequence": "GCCCGAGAATACGAGCCGGAAGCAGTACCGAG", - "domains": [ - {"helix": 14, "forward": false, "start": 48, "end": 56}, - {"helix": 13, "forward": true, "start": 48, "end": 64}, - {"helix": 12, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#b8056c", - "sequence": "GACAATGACAACAACCATCGCCCAACGAGGG", - "domains": [ - {"helix": 0, "forward": false, "start": 64, "end": 88, "deletions": [81]}, - {"helix": 1, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#007200", - "sequence": "TAGCAACGCAACTTTGAAAGAGGATAACAAAG", - "domains": [ - {"helix": 1, "forward": true, "start": 72, "end": 80}, - {"helix": 2, "forward": false, "start": 64, "end": 80}, - {"helix": 3, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#cc0000", - "sequence": "CTGCTCATAGCAACACTATCATAAGGATAGCG", - "domains": [ - {"helix": 3, "forward": true, "start": 72, "end": 80}, - {"helix": 4, "forward": false, "start": 64, "end": 80}, - {"helix": 5, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#f7931e", - "sequence": "TCCAATACCTTAGAGCTTAATTGCGCGAACGA", - "domains": [ - {"helix": 5, "forward": true, "start": 72, "end": 80}, - {"helix": 6, "forward": false, "start": 64, "end": 80}, - {"helix": 7, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#f74308", - "sequence": "GTAGATTTTTTAAATGCAATGCCTTAATGCCG", - "domains": [ - {"helix": 7, "forward": true, "start": 72, "end": 80}, - {"helix": 8, "forward": false, "start": 64, "end": 80}, - {"helix": 9, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#57bb00", - "sequence": "GAGAGGGTCAGCTTTCATCAACATATCGTAAC", - "domains": [ - {"helix": 9, "forward": true, "start": 72, "end": 80}, - {"helix": 10, "forward": false, "start": 64, "end": 80}, - {"helix": 11, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#888888", - "sequence": "CGTGCATCTCTAGAGGATCCCCGGTAAAGTGT", - "domains": [ - {"helix": 11, "forward": true, "start": 72, "end": 80}, - {"helix": 12, "forward": false, "start": 64, "end": 80}, - {"helix": 13, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#32b86c", - "sequence": "AAAGCCTGAATCCCTTATAAATCACCGTCTAT", - "domains": [ - {"helix": 13, "forward": true, "start": 72, "end": 80}, - {"helix": 14, "forward": false, "start": 64, "end": 80}, - {"helix": 15, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#333333", - "sequence": "CAGGGCGATGGCCCACTACGTGATTCCGAAA", - "domains": [ - {"helix": 15, "forward": true, "start": 72, "end": 96, "deletions": [81]}, - {"helix": 14, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#320096", - "sequence": "AACTGACGCTACAGAGGCTTTGGTTGCGCC", - "domains": [ - {"helix": 2, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 1, "forward": true, "start": 80, "end": 96, "deletions": [81]}, - {"helix": 0, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#03b6a2", - "sequence": "TAGTAAGTCAGTGAATAAGGCTGGGAACCG", - "domains": [ - {"helix": 4, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 3, "forward": true, "start": 80, "end": 96, "deletions": [81]}, - {"helix": 2, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#7300de", - "sequence": "CGGATGGTGCGGAATCGTCATAACGAGGCA", - "domains": [ - {"helix": 6, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 5, "forward": true, "start": 80, "end": 96, "deletions": [81]}, - {"helix": 4, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#aaaa00", - "sequence": "CATATATAGTTTGACCATTAGACATTTTTG", - "domains": [ - {"helix": 8, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 7, "forward": true, "start": 80, "end": 96, "deletions": [81]}, - {"helix": 6, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#b8056c", - "sequence": "CTGTAGCAGCTATTTTTGAGAGAGAACCCT", - "domains": [ - {"helix": 10, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 9, "forward": true, "start": 80, "end": 96, "deletions": [81]}, - {"helix": 8, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#007200", - "sequence": "GGTCGACTGCCAGTTTGAGGGGTGGCCTTC", - "domains": [ - {"helix": 12, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 11, "forward": true, "start": 80, "end": 96, "deletions": [81]}, - {"helix": 10, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#cc0000", - "sequence": "TCGGCAAGGGTGCCTAATGAGTTGCCTGCA", - "domains": [ - {"helix": 14, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 13, "forward": true, "start": 80, "end": 96, "deletions": [81]}, - {"helix": 12, "forward": false, "start": 88, "end": 96} - ] - }, - { - "color": "#f7931e", - "sequence": "TTCTTAAACAGCTTGATACCGATAAGGACTAA", - "domains": [ - {"helix": 0, "forward": false, "start": 96, "end": 120}, - {"helix": 1, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#f74308", - "sequence": "AGACTTTTAGACGGTCAATCATAATGCCCTGA", - "domains": [ - {"helix": 1, "forward": true, "start": 104, "end": 112}, - {"helix": 2, "forward": false, "start": 96, "end": 112}, - {"helix": 3, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#57bb00", - "sequence": "CGAGAAACAACGCCAAAAGGAATTAATATTCA", - "domains": [ - {"helix": 3, "forward": true, "start": 104, "end": 112}, - {"helix": 4, "forward": false, "start": 96, "end": 112}, - {"helix": 5, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#888888", - "sequence": "TTGAATCCCCTTTTGATAAGAGGTTACATTTC", - "domains": [ - {"helix": 5, "forward": true, "start": 104, "end": 112}, - {"helix": 6, "forward": false, "start": 96, "end": 112}, - {"helix": 7, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#32b86c", - "sequence": "GCAAATGGAAGGATAAAAATTTTTATCTACAA", - "domains": [ - {"helix": 7, "forward": true, "start": 104, "end": 112}, - {"helix": 8, "forward": false, "start": 96, "end": 112}, - {"helix": 9, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#333333", - "sequence": "AGGCTATCAAAAATAATTCGCGTCACGACGAC", - "domains": [ - {"helix": 9, "forward": true, "start": 104, "end": 112}, - {"helix": 10, "forward": false, "start": 96, "end": 112}, - {"helix": 11, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#320096", - "sequence": "AGTATCGGCAGTGCCAAGCTTGCAGAGCTAAC", - "domains": [ - {"helix": 11, "forward": true, "start": 104, "end": 112}, - {"helix": 12, "forward": false, "start": 96, "end": 112}, - {"helix": 13, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#03b6a2", - "sequence": "TCACATTATCCTGTTTGATGGTGGACCATCAC", - "domains": [ - {"helix": 13, "forward": true, "start": 104, "end": 112}, - {"helix": 14, "forward": false, "start": 96, "end": 112}, - {"helix": 15, "forward": true, "start": 96, "end": 104} - ] - }, - { - "color": "#7300de", - "sequence": "CCAAATCAAGTTTTTTGGGGTCGACCCCAGCA", - "domains": [ - {"helix": 15, "forward": true, "start": 104, "end": 128}, - {"helix": 14, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#aaaa00", - "sequence": "CGAGGCGCTCATGAGGAAGTTTCCAGGTGAAT", - "domains": [ - {"helix": 2, "forward": false, "start": 112, "end": 120}, - {"helix": 1, "forward": true, "start": 112, "end": 128}, - {"helix": 0, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#b8056c", - "sequence": "AGATACATACCAGAACGAGTAGTAAGCCGGAA", - "domains": [ - {"helix": 4, "forward": false, "start": 112, "end": 120}, - {"helix": 3, "forward": true, "start": 112, "end": 128}, - {"helix": 2, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#007200", - "sequence": "TAATTGCTCCCTCAAATGCTTTAAACTAATGC", - "domains": [ - {"helix": 6, "forward": false, "start": 112, "end": 120}, - {"helix": 5, "forward": true, "start": 112, "end": 128}, - {"helix": 4, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#cc0000", - "sequence": "TTCAACGCTCAATAACCTGTTTAGAGTACCTT", - "domains": [ - {"helix": 8, "forward": false, "start": 112, "end": 120}, - {"helix": 7, "forward": true, "start": 112, "end": 128}, - {"helix": 6, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#f7931e", - "sequence": "ACGCCATCAGGTCATTGCCTGAGAGCCTTTAT", - "domains": [ - {"helix": 10, "forward": false, "start": 112, "end": 120}, - {"helix": 9, "forward": true, "start": 112, "end": 128}, - {"helix": 8, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#f74308", - "sequence": "ACGACGGCCCTCAGGAAGATCGCACAATAGGA", - "domains": [ - {"helix": 12, "forward": false, "start": 112, "end": 120}, - {"helix": 11, "forward": true, "start": 112, "end": 128}, - {"helix": 10, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#57bb00", - "sequence": "GGCGAAAAATTGCGTTGCGCTCACGTTGTAAA", - "domains": [ - {"helix": 14, "forward": false, "start": 112, "end": 120}, - {"helix": 13, "forward": true, "start": 112, "end": 128}, - {"helix": 12, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#888888", - "sequence": "ATCGGTTTATCAGCTTGCTTTCGATTAAAC", - "domains": [ - {"helix": 0, "forward": false, "start": 128, "end": 152, "deletions": [129]}, - {"helix": 1, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#32b86c", - "sequence": "GGGTAAAATGCTCCATGTTACTTAATTGGG", - "domains": [ - {"helix": 1, "forward": true, "start": 136, "end": 144}, - {"helix": 2, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 3, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#333333", - "sequence": "CTTGAGATGGAATACCACATTCAACAGTTC", - "domains": [ - {"helix": 3, "forward": true, "start": 136, "end": 144}, - {"helix": 4, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 5, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#320096", - "sequence": "AGAAAACGAGGTCAGGATTAGAGCTATATT", - "domains": [ - {"helix": 5, "forward": true, "start": 136, "end": 144}, - {"helix": 6, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 7, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#03b6a2", - "sequence": "TTCATTTGACTTTTGCGGGAGAAGTCTGGA", - "domains": [ - {"helix": 7, "forward": true, "start": 136, "end": 144}, - {"helix": 8, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 9, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#7300de", - "sequence": "GCAAACAAAGCTCATTTTTTAACCTCCAGC", - "domains": [ - {"helix": 9, "forward": true, "start": 136, "end": 144}, - {"helix": 10, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 11, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#aaaa00", - "sequence": "CAGCTTTCTTTCCCAGTCACGACTGCCCGC", - "domains": [ - {"helix": 11, "forward": true, "start": 136, "end": 144}, - {"helix": 12, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 13, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#b8056c", - "sequence": "TTTCCAGTGTCCACGCTGGTTTGGGTGCCG", - "domains": [ - {"helix": 13, "forward": true, "start": 136, "end": 144}, - {"helix": 14, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 15, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#007200", - "sequence": "TAAAGCACTAAATCGGAACCCTAAAGAGTTGC", - "domains": [ - {"helix": 15, "forward": true, "start": 136, "end": 160}, - {"helix": 14, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#cc0000", - "sequence": "CCGCGACCTACGTAATGCCACTACTTAATTGT", - "domains": [ - {"helix": 2, "forward": false, "start": 144, "end": 152}, - {"helix": 1, "forward": true, "start": 144, "end": 160}, - {"helix": 0, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#f7931e", - "sequence": "GAGATTTAGGTTTAATTTCAACTTGTCGAAAT", - "domains": [ - {"helix": 4, "forward": false, "start": 144, "end": 152}, - {"helix": 3, "forward": true, "start": 144, "end": 160}, - {"helix": 2, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#f74308", - "sequence": "ACTCCAACAGAATGACCATAAATCCATCAGTT", - "domains": [ - {"helix": 6, "forward": false, "start": 144, "end": 152}, - {"helix": 5, "forward": true, "start": 144, "end": 160}, - {"helix": 4, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#57bb00", - "sequence": "CCTGTAATGGGCGCGAGCTGAAAAGGAAGCAA", - "domains": [ - {"helix": 8, "forward": false, "start": 144, "end": 152}, - {"helix": 7, "forward": true, "start": 144, "end": 160}, - {"helix": 6, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#888888", - "sequence": "GTTAAATCGAGAATCGATGAACGGATTATGAC", - "domains": [ - {"helix": 10, "forward": false, "start": 144, "end": 152}, - {"helix": 9, "forward": true, "start": 144, "end": 160}, - {"helix": 8, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#32b86c", - "sequence": "GCCAGGGTCGGCACCGCTTCTGGTAAATTTTT", - "domains": [ - {"helix": 12, "forward": false, "start": 144, "end": 152}, - {"helix": 11, "forward": true, "start": 144, "end": 160}, - {"helix": 10, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#333333", - "sequence": "AGCAAGCGCGGGAAACCTGTCGTGTGGGTAAC", - "domains": [ - {"helix": 14, "forward": false, "start": 144, "end": 152}, - {"helix": 13, "forward": true, "start": 144, "end": 160}, - {"helix": 12, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#320096", - "sequence": "AAAAAAGGCTCCAAAAGGAGCCTGAAGGCAC", - "domains": [ - {"helix": 0, "forward": false, "start": 160, "end": 184, "deletions": [177]}, - {"helix": 1, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#03b6a2", - "sequence": "CAACCTAATCGCCTGATAAATTGTTAATCATT", - "domains": [ - {"helix": 1, "forward": true, "start": 168, "end": 176}, - {"helix": 2, "forward": false, "start": 160, "end": 176}, - {"helix": 3, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#7300de", - "sequence": "GTGAATTATACAGGTAGAAAGATTAAAAATCA", - "domains": [ - {"helix": 3, "forward": true, "start": 168, "end": 176}, - {"helix": 4, "forward": false, "start": 160, "end": 176}, - {"helix": 5, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#aaaa00", - "sequence": "GGTCTTTACAAAGCGAACCAGACCGGTGGCAT", - "domains": [ - {"helix": 5, "forward": true, "start": 168, "end": 176}, - {"helix": 6, "forward": false, "start": 160, "end": 176}, - {"helix": 7, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#b8056c", - "sequence": "CAATTCTACGGTTGTACCAAAAACTAATCGTA", - "domains": [ - {"helix": 7, "forward": true, "start": 168, "end": 176}, - {"helix": 8, "forward": false, "start": 160, "end": 176}, - {"helix": 9, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#007200", - "sequence": "AAACTAGCTGTTAAAATTCGCATTGCCGGAAA", - "domains": [ - {"helix": 9, "forward": true, "start": 168, "end": 176}, - {"helix": 10, "forward": false, "start": 160, "end": 176}, - {"helix": 11, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#cc0000", - "sequence": "CCAGGCAATGCAAGGCGATTAAGTCCAGCTGC", - "domains": [ - {"helix": 11, "forward": true, "start": 168, "end": 176}, - {"helix": 12, "forward": false, "start": 160, "end": 176}, - {"helix": 13, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#f7931e", - "sequence": "ATTAATGAACCGCCTGGCCCTGAGAGGGAGCC", - "domains": [ - {"helix": 13, "forward": true, "start": 168, "end": 176}, - {"helix": 14, "forward": false, "start": 160, "end": 176}, - {"helix": 15, "forward": true, "start": 160, "end": 168} - ] - }, - { - "color": "#f74308", - "sequence": "CCCGATTTAGAGCTTGACGGGGAAGCTGATT", - "domains": [ - {"helix": 15, "forward": true, "start": 168, "end": 192, "deletions": [177]}, - {"helix": 14, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#57bb00", - "sequence": "TGTATCAAACGAAAGAGGCAAAATCTCCAA", - "domains": [ - {"helix": 2, "forward": false, "start": 176, "end": 184, "deletions": [177]}, - {"helix": 1, "forward": true, "start": 176, "end": 192, "deletions": [177]}, - {"helix": 0, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#888888", - "sequence": "ACATTATCCTTATGCGATTTTACGGAGATT", - "domains": [ - {"helix": 4, "forward": false, "start": 176, "end": 184, "deletions": [177]}, - {"helix": 3, "forward": true, "start": 176, "end": 192, "deletions": [177]}, - {"helix": 2, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#32b86c", - "sequence": "CGAGCTTCCCTGACTATTATAGACGGAACA", - "domains": [ - {"helix": 6, "forward": false, "start": 176, "end": 184, "deletions": [177]}, - {"helix": 5, "forward": true, "start": 176, "end": 192, "deletions": [177]}, - {"helix": 4, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#333333", - "sequence": "GCTAAATCTAATAGTAGTAGCATTTTAATT", - "domains": [ - {"helix": 8, "forward": false, "start": 176, "end": 184, "deletions": [177]}, - {"helix": 7, "forward": true, "start": 176, "end": 192, "deletions": [177]}, - {"helix": 6, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#320096", - "sequence": "AATATTTATGTCAATCATATGTAGCATAAA", - "domains": [ - {"helix": 10, "forward": false, "start": 176, "end": 184, "deletions": [177]}, - {"helix": 9, "forward": true, "start": 176, "end": 192, "deletions": [177]}, - {"helix": 8, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#03b6a2", - "sequence": "GATGTGCAGCGCCATTCGCCATTAAACGTT", - "domains": [ - {"helix": 12, "forward": false, "start": 176, "end": 184, "deletions": [177]}, - {"helix": 11, "forward": true, "start": 176, "end": 192, "deletions": [177]}, - {"helix": 10, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#7300de", - "sequence": "GCCCTTCATCGGCCAACGCGCGGAAAGGGG", - "domains": [ - {"helix": 14, "forward": false, "start": 176, "end": 184, "deletions": [177]}, - {"helix": 13, "forward": true, "start": 176, "end": 192, "deletions": [177]}, - {"helix": 12, "forward": false, "start": 184, "end": 192} - ] - }, - { - "color": "#aaaa00", - "sequence": "AATAATAATTTTTTCACGTTGAAAAGAATACA", - "domains": [ - {"helix": 0, "forward": false, "start": 192, "end": 216}, - {"helix": 1, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#b8056c", - "sequence": "CTAAAACAGCGAAACAAAGTACAAAGAACTGG", - "domains": [ - {"helix": 1, "forward": true, "start": 200, "end": 208}, - {"helix": 2, "forward": false, "start": 192, "end": 208}, - {"helix": 3, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#007200", - "sequence": "CTCATTATTTAATAAAACGAACTATCAGAAGC", - "domains": [ - {"helix": 3, "forward": true, "start": 200, "end": 208}, - {"helix": 4, "forward": false, "start": 192, "end": 208}, - {"helix": 5, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#cc0000", - "sequence": "AAAGCGGAGACTTCAAATATCGCGTTAACATC", - "domains": [ - {"helix": 5, "forward": true, "start": 200, "end": 208}, - {"helix": 6, "forward": false, "start": 192, "end": 208}, - {"helix": 7, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#f7931e", - "sequence": "CAATAAATAGCAATAAAGCCTCAGACCCCGGT", - "domains": [ - {"helix": 7, "forward": true, "start": 200, "end": 208}, - {"helix": 8, "forward": false, "start": 192, "end": 208}, - {"helix": 9, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#f74308", - "sequence": "TGATAATCGCAAATATTTAAATTGTCAGGCTG", - "domains": [ - {"helix": 9, "forward": true, "start": 200, "end": 208}, - {"helix": 10, "forward": false, "start": 192, "end": 208}, - {"helix": 11, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#57bb00", - "sequence": "CGCAACTGTATTACGCCAGCTGGCGGGAGAGG", - "domains": [ - {"helix": 11, "forward": true, "start": 200, "end": 208}, - {"helix": 12, "forward": false, "start": 192, "end": 208}, - {"helix": 13, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#888888", - "sequence": "CGGTTTGCCAGTGAGACGGGCAACAAGCCGGC", - "domains": [ - {"helix": 13, "forward": true, "start": 200, "end": 208}, - {"helix": 14, "forward": false, "start": 192, "end": 208}, - {"helix": 15, "forward": true, "start": 192, "end": 200} - ] - }, - { - "color": "#32b86c", - "sequence": "GCTGAACCTCAAATATCAAACCCTGAACCTAC", - "domains": [ - {"helix": 15, "forward": true, "start": 232, "end": 256}, - {"helix": 14, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#333333", - "sequence": "AAGTATTAGGATTAGCGGGGTTTTGCGGAGTG", - "domains": [ - {"helix": 2, "forward": false, "start": 240, "end": 248}, - {"helix": 1, "forward": true, "start": 240, "end": 256}, - {"helix": 0, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#320096", - "sequence": "CCCTTATTACCGGAACCAGAGCCAAAACATGA", - "domains": [ - {"helix": 4, "forward": false, "start": 240, "end": 248}, - {"helix": 3, "forward": true, "start": 240, "end": 256}, - {"helix": 2, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#03b6a2", - "sequence": "CTTATTACACATAAAGGTGGCAACTCATAGCC", - "domains": [ - {"helix": 6, "forward": false, "start": 240, "end": 248}, - {"helix": 5, "forward": true, "start": 240, "end": 256}, - {"helix": 4, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#7300de", - "sequence": "CGCTAACGACAAAATAAACAGCCATAAGACTC", - "domains": [ - {"helix": 8, "forward": false, "start": 240, "end": 248}, - {"helix": 7, "forward": true, "start": 240, "end": 256}, - {"helix": 6, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#aaaa00", - "sequence": "AAAGTAATTTCAGCTAATGCAGAACTTACCAA", - "domains": [ - {"helix": 10, "forward": false, "start": 240, "end": 248}, - {"helix": 9, "forward": true, "start": 240, "end": 256}, - {"helix": 8, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#b8056c", - "sequence": "TTTATCAACCTCCGGCTTAGGTTGCAAAAGGT", - "domains": [ - {"helix": 12, "forward": false, "start": 240, "end": 248}, - {"helix": 11, "forward": true, "start": 240, "end": 256}, - {"helix": 10, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#007200", - "sequence": "CATATCAAAATTGCGTAGATTTTCATAGTGAA", - "domains": [ - {"helix": 14, "forward": false, "start": 240, "end": 248}, - {"helix": 13, "forward": true, "start": 240, "end": 256}, - {"helix": 12, "forward": false, "start": 248, "end": 256} - ] - }, - { - "color": "#cc0000", - "sequence": "CTAAACAACTTTCAACAGTTTCAGCTCAGTA", - "domains": [ - {"helix": 0, "forward": false, "start": 256, "end": 280, "deletions": [273]}, - {"helix": 1, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#f7931e", - "sequence": "CCAGGCGGGGAACCTATTATTCTGCCACCGGA", - "domains": [ - {"helix": 1, "forward": true, "start": 264, "end": 272}, - {"helix": 2, "forward": false, "start": 256, "end": 272}, - {"helix": 3, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#f74308", - "sequence": "ACCGCCTCTCATCGGCATTTTCGGATATAAAA", - "domains": [ - {"helix": 3, "forward": true, "start": 264, "end": 272}, - {"helix": 4, "forward": false, "start": 256, "end": 272}, - {"helix": 5, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#57bb00", - "sequence": "GAAACGCAAAAGAACTGGCATGATTATTATTT", - "domains": [ - {"helix": 5, "forward": true, "start": 264, "end": 272}, - {"helix": 6, "forward": false, "start": 256, "end": 272}, - {"helix": 7, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#888888", - "sequence": "ATCCCAATCAATTTTATCCTGAATCGCGCCTG", - "domains": [ - {"helix": 7, "forward": true, "start": 264, "end": 272}, - {"helix": 8, "forward": false, "start": 256, "end": 272}, - {"helix": 9, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#32b86c", - "sequence": "TTTATCAAGAATATAAAGTACCGAGGTTATAT", - "domains": [ - {"helix": 9, "forward": true, "start": 264, "end": 272}, - {"helix": 10, "forward": false, "start": 256, "end": 272}, - {"helix": 11, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#333333", - "sequence": "AACTATATACGCTGAGAAGAGTCAAGGTTTAA", - "domains": [ - {"helix": 11, "forward": true, "start": 264, "end": 272}, - {"helix": 12, "forward": false, "start": 256, "end": 272}, - {"helix": 13, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#320096", - "sequence": "CGTCAGATAATAATGGAAGGGTTACAATCAAT", - "domains": [ - {"helix": 13, "forward": true, "start": 264, "end": 272}, - {"helix": 14, "forward": false, "start": 256, "end": 272}, - {"helix": 15, "forward": true, "start": 256, "end": 264} - ] - }, - { - "color": "#03b6a2", - "sequence": "ATCTGGTCAGTTGGCAAATCAACTGGATTAT", - "domains": [ - {"helix": 15, "forward": true, "start": 264, "end": 288, "deletions": [273]}, - {"helix": 14, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#7300de", - "sequence": "CTATTTCATAAGTGCCGTCGAGGGATTTTG", - "domains": [ - {"helix": 2, "forward": false, "start": 272, "end": 280, "deletions": [273]}, - {"helix": 1, "forward": true, "start": 272, "end": 288, "deletions": [273]}, - {"helix": 0, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#aaaa00", - "sequence": "CGCGTTTCCTCAGAGCCGCCACCCCCCTGC", - "domains": [ - {"helix": 4, "forward": false, "start": 272, "end": 280, "deletions": [273]}, - {"helix": 3, "forward": true, "start": 272, "end": 288, "deletions": [273]}, - {"helix": 2, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#b8056c", - "sequence": "ATACCCAAAGACACCACGGAATGACTGTAG", - "domains": [ - {"helix": 6, "forward": false, "start": 272, "end": 280, "deletions": [273]}, - {"helix": 5, "forward": true, "start": 272, "end": 288, "deletions": [273]}, - {"helix": 4, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#007200", - "sequence": "CCAGCTACCAAATAAGAAACGAATAACGGA", - "domains": [ - {"helix": 8, "forward": false, "start": 272, "end": 280, "deletions": [273]}, - {"helix": 7, "forward": true, "start": 272, "end": 288, "deletions": [273]}, - {"helix": 6, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#cc0000", - "sequence": "AATAAGACAATAGATAAGTCCTTTTTGCAC", - "domains": [ - {"helix": 10, "forward": false, "start": 272, "end": 280, "deletions": [273]}, - {"helix": 9, "forward": true, "start": 272, "end": 288, "deletions": [273]}, - {"helix": 8, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#f7931e", - "sequence": "GATTAAGGTAAATGCTGATGCAGAGCCAGT", - "domains": [ - {"helix": 12, "forward": false, "start": 272, "end": 280, "deletions": [273]}, - {"helix": 11, "forward": true, "start": 272, "end": 288, "deletions": [273]}, - {"helix": 10, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#f74308", - "sequence": "ACTTCTGGAATATACAGTAACAATAGCTTA", - "domains": [ - {"helix": 14, "forward": false, "start": 272, "end": 280, "deletions": [273]}, - {"helix": 13, "forward": true, "start": 272, "end": 288, "deletions": [273]}, - {"helix": 12, "forward": false, "start": 280, "end": 288} - ] - }, - { - "color": "#57bb00", - "sequence": "GTTAGTAAATGAATTTTCTGTATGAGGGTTGA", - "domains": [ - {"helix": 0, "forward": false, "start": 288, "end": 312}, - {"helix": 1, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#888888", - "sequence": "TATAAGTAGTATAAACAGTTAATGCCTCAGAA", - "domains": [ - {"helix": 1, "forward": true, "start": 296, "end": 304}, - {"helix": 2, "forward": false, "start": 288, "end": 304}, - {"helix": 3, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#32b86c", - "sequence": "CCGCCACCTTTGCCTTTAGCGTCAAAGTTTAT", - "domains": [ - {"helix": 3, "forward": true, "start": 296, "end": 304}, - {"helix": 4, "forward": false, "start": 288, "end": 304}, - {"helix": 5, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#333333", - "sequence": "TTTGTCACCCGAGGAAACGCAATATTTTTTGT", - "domains": [ - {"helix": 5, "forward": true, "start": 296, "end": 304}, - {"helix": 6, "forward": false, "start": 288, "end": 304}, - {"helix": 7, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#320096", - "sequence": "TTAACGTCTCAAGATTAGTTGCTAGAACAAGA", - "domains": [ - {"helix": 7, "forward": true, "start": 296, "end": 304}, - {"helix": 8, "forward": false, "start": 288, "end": 304}, - {"helix": 9, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#03b6a2", - "sequence": "AAAATAATAGGCAGAGGCATTTTCAATCCAAT", - "domains": [ - {"helix": 9, "forward": true, "start": 296, "end": 304}, - {"helix": 10, "forward": false, "start": 288, "end": 304}, - {"helix": 11, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#7300de", - "sequence": "CGCAAGACCCTTGAAAACATAGCGGTACCTTT", - "domains": [ - {"helix": 11, "forward": true, "start": 296, "end": 304}, - {"helix": 12, "forward": false, "start": 288, "end": 304}, - {"helix": 13, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#aaaa00", - "sequence": "TACATCGGTATAATCCTGATTGTTAGTTGAAA", - "domains": [ - {"helix": 13, "forward": true, "start": 296, "end": 304}, - {"helix": 14, "forward": false, "start": 288, "end": 304}, - {"helix": 15, "forward": true, "start": 288, "end": 296} - ] - }, - { - "color": "#b8056c", - "sequence": "GGAATTGAGGAAGGTTATCTAAAAGATGGCAA", - "domains": [ - {"helix": 15, "forward": true, "start": 296, "end": 320}, - {"helix": 14, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#007200", - "sequence": "CAGTGCCCTAGCCCGGAATAGGTGTTCCAGAC", - "domains": [ - {"helix": 2, "forward": false, "start": 304, "end": 312}, - {"helix": 1, "forward": true, "start": 304, "end": 320}, - {"helix": 0, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#cc0000", - "sequence": "GAATCAAGCTCAGAGCCACCACCCTTGAGTAA", - "domains": [ - {"helix": 4, "forward": false, "start": 304, "end": 312}, - {"helix": 3, "forward": true, "start": 304, "end": 320}, - {"helix": 2, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#f7931e", - "sequence": "GAAGGAAAAATCAATAGAAAATTCTAGCGACA", - "domains": [ - {"helix": 6, "forward": false, "start": 304, "end": 312}, - {"helix": 5, "forward": true, "start": 304, "end": 320}, - {"helix": 4, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#f74308", - "sequence": "GCCTTAAAAAAAATGAAAATAGCAAGTTACCA", - "domains": [ - {"helix": 8, "forward": false, "start": 304, "end": 312}, - {"helix": 7, "forward": true, "start": 304, "end": 320}, - {"helix": 6, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#57bb00", - "sequence": "TGTAATTTATCCCATCCTAATTTAGTTTTGAA", - "domains": [ - {"helix": 10, "forward": false, "start": 304, "end": 312}, - {"helix": 9, "forward": true, "start": 304, "end": 320}, - {"helix": 8, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#888888", - "sequence": "CTTAGAATAAAGAACGCGAGAAAACGCCAACA", - "domains": [ - {"helix": 12, "forward": false, "start": 304, "end": 312}, - {"helix": 11, "forward": true, "start": 304, "end": 320}, - {"helix": 10, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#32b86c", - "sequence": "TTCATCAAGAGAAACAATAACGGAAATTTTCC", - "domains": [ - {"helix": 14, "forward": false, "start": 304, "end": 312}, - {"helix": 13, "forward": true, "start": 304, "end": 320}, - {"helix": 12, "forward": false, "start": 312, "end": 320} - ] - }, - { - "color": "#333333", - "sequence": "AACGATCTAAAGTTTTGTCGTCTTATCACC", - "domains": [ - {"helix": 0, "forward": false, "start": 320, "end": 344, "deletions": [321]}, - {"helix": 1, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#320096", - "sequence": "GTACTCAGAACGGGGTCAGTGCCTCAGAGC", - "domains": [ - {"helix": 1, "forward": true, "start": 328, "end": 336}, - {"helix": 2, "forward": false, "start": 320, "end": 336, "deletions": [321]}, - {"helix": 3, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#03b6a2", - "sequence": "CGCCACCACAGCACCGTAATCAGATATGGT", - "domains": [ - {"helix": 3, "forward": true, "start": 328, "end": 336}, - {"helix": 4, "forward": false, "start": 320, "end": 336, "deletions": [321]}, - {"helix": 5, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#7300de", - "sequence": "TTACCAGCCAGATAGCCGAACAAGCCTTTA", - "domains": [ - {"helix": 5, "forward": true, "start": 328, "end": 336}, - {"helix": 6, "forward": false, "start": 320, "end": 336, "deletions": [321]}, - {"helix": 7, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#aaaa00", - "sequence": "CAGAGAGACCCGACTTGCGGGAGCGAGCAT", - "domains": [ - {"helix": 7, "forward": true, "start": 328, "end": 336}, - {"helix": 8, "forward": false, "start": 320, "end": 336, "deletions": [321]}, - {"helix": 9, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#b8056c", - "sequence": "GTAGAAACCGCCATATTTAACAACTTTTTC", - "domains": [ - {"helix": 9, "forward": true, "start": 328, "end": 336}, - {"helix": 10, "forward": false, "start": 320, "end": 336, "deletions": [321]}, - {"helix": 11, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#007200", - "sequence": "AAATATATTCGTCGCTATTAATTTTCGCCT", - "domains": [ - {"helix": 11, "forward": true, "start": 328, "end": 336}, - {"helix": 12, "forward": false, "start": 320, "end": 336, "deletions": [321]}, - {"helix": 13, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#cc0000", - "sequence": "GATTGCTTTCCTGATTATCAGATTATCTTT", - "domains": [ - {"helix": 13, "forward": true, "start": 328, "end": 336}, - {"helix": 14, "forward": false, "start": 320, "end": 336, "deletions": [321]}, - {"helix": 15, "forward": true, "start": 320, "end": 328, "deletions": [321]} - ] - }, - { - "color": "#f7931e", - "sequence": "AGGAGCACTAACAACTAATAGATTGGAATTAT", - "domains": [ - {"helix": 15, "forward": true, "start": 328, "end": 352}, - {"helix": 14, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#f74308", - "sequence": "TAAGTTTTGAGGTTTAGTACCGCCGTTAGCGT", - "domains": [ - {"helix": 2, "forward": false, "start": 336, "end": 344}, - {"helix": 1, "forward": true, "start": 336, "end": 352}, - {"helix": 0, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#57bb00", - "sequence": "ATCGATAGGAACCACCACCAGAGCACTGGTAA", - "domains": [ - {"helix": 4, "forward": false, "start": 336, "end": 344}, - {"helix": 3, "forward": true, "start": 336, "end": 352}, - {"helix": 2, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#888888", - "sequence": "AAAGTAAGGCCAAAGACAAAAGGGATGAAACC", - "domains": [ - {"helix": 6, "forward": false, "start": 336, "end": 344}, - {"helix": 5, "forward": true, "start": 336, "end": 352}, - {"helix": 4, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#32b86c", - "sequence": "GCGAACCTATAACATAAAAACAGGTTTTAAGA", - "domains": [ - {"helix": 8, "forward": false, "start": 336, "end": 344}, - {"helix": 7, "forward": true, "start": 336, "end": 352}, - {"helix": 6, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#333333", - "sequence": "TTGAGAATCAATCAATAATCGGCTGCGTTTTA", - "domains": [ - {"helix": 10, "forward": false, "start": 336, "end": 344}, - {"helix": 9, "forward": true, "start": 336, "end": 352}, - {"helix": 8, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#320096", - "sequence": "TCTGTAAATTTAGTTAATTTCATCGGGCTTAA", - "domains": [ - {"helix": 12, "forward": false, "start": 336, "end": 344}, - {"helix": 11, "forward": true, "start": 336, "end": 352}, - {"helix": 10, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#03b6a2", - "sequence": "CATCATATTGAATACCAAGTTACAACCTTGCT", - "domains": [ - {"helix": 14, "forward": false, "start": 336, "end": 344}, - {"helix": 13, "forward": true, "start": 336, "end": 352}, - {"helix": 12, "forward": false, "start": 344, "end": 352} - ] - }, - { - "color": "#7300de", - "sequence": "GCATTCCACAGACAGCCCTCATAACCCTCAG", - "domains": [ - {"helix": 0, "forward": false, "start": 352, "end": 376, "deletions": [369]}, - {"helix": 1, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#aaaa00", - "sequence": "AACCGCCAGATGATACAGGAGTGTCGCCGCCA", - "domains": [ - {"helix": 1, "forward": true, "start": 360, "end": 368}, - {"helix": 2, "forward": false, "start": 352, "end": 368}, - {"helix": 3, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#b8056c", - "sequence": "GCATTGACGCCGGAAACGTCACCACGACATTC", - "domains": [ - {"helix": 3, "forward": true, "start": 360, "end": 368}, - {"helix": 4, "forward": false, "start": 352, "end": 368}, - {"helix": 5, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#007200", - "sequence": "AACCGATTATCTTACCGAAGCCCTGAAGCGCA", - "domains": [ - {"helix": 5, "forward": true, "start": 360, "end": 368}, - {"helix": 6, "forward": false, "start": 352, "end": 368}, - {"helix": 7, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#cc0000", - "sequence": "TTAGACGGATTCTAAGAACGCGAGGTCTTTCC", - "domains": [ - {"helix": 7, "forward": true, "start": 360, "end": 368}, - {"helix": 8, "forward": false, "start": 352, "end": 368}, - {"helix": 9, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#f7931e", - "sequence": "TTATCATTCCAACGCTCAACAGTATTCTGACC", - "domains": [ - {"helix": 9, "forward": true, "start": 360, "end": 368}, - {"helix": 10, "forward": false, "start": 352, "end": 368}, - {"helix": 11, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#f74308", - "sequence": "TAAATTTATATATGTGAGTGAATAAAATCGCG", - "domains": [ - {"helix": 11, "forward": true, "start": 360, "end": 368}, - {"helix": 12, "forward": false, "start": 352, "end": 368}, - {"helix": 13, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#57bb00", - "sequence": "CAGAGGCGAACCACCAGAAGGAGCAGAGCCGT", - "domains": [ - {"helix": 13, "forward": true, "start": 360, "end": 368}, - {"helix": 14, "forward": false, "start": 352, "end": 368}, - {"helix": 15, "forward": true, "start": 352, "end": 360} - ] - }, - { - "color": "#888888", - "sequence": "CAATAGATAATACATTTGAGGATTTTGCGGA", - "domains": [ - {"helix": 15, "forward": true, "start": 360, "end": 384, "deletions": [369]}, - {"helix": 14, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#32b86c", - "sequence": "GGCTTTTCCCTCAGAACCGCCACGCCTGTA", - "domains": [ - {"helix": 2, "forward": false, "start": 368, "end": 376, "deletions": [369]}, - {"helix": 1, "forward": true, "start": 368, "end": 384, "deletions": [369]}, - {"helix": 0, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#333333", - "sequence": "TAGCAAGAGGAGGTTGAGGCAGTCATACAT", - "domains": [ - {"helix": 4, "forward": false, "start": 368, "end": 376, "deletions": [369]}, - {"helix": 3, "forward": true, "start": 368, "end": 384, "deletions": [369]}, - {"helix": 2, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#320096", - "sequence": "AATAGCTGAGGGAGGGAAGGTAATTACCAT", - "domains": [ - {"helix": 6, "forward": false, "start": 368, "end": 376, "deletions": [369]}, - {"helix": 5, "forward": true, "start": 368, "end": 384, "deletions": [369]}, - {"helix": 4, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#03b6a2", - "sequence": "ATCCGGTGAGAATTAACTGAACGAAATAGC", - "domains": [ - {"helix": 8, "forward": false, "start": 368, "end": 376, "deletions": [369]}, - {"helix": 7, "forward": true, "start": 368, "end": 384, "deletions": [369]}, - {"helix": 6, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#7300de", - "sequence": "TATAAAGCCAAGAACGGGTATTGAAGGCTT", - "domains": [ - {"helix": 10, "forward": false, "start": 368, "end": 376, "deletions": [369]}, - {"helix": 9, "forward": true, "start": 368, "end": 384, "deletions": [369]}, - {"helix": 8, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#aaaa00", - "sequence": "AAATCAAATGGTTTGAAATACCCTTACCAG", - "domains": [ - {"helix": 12, "forward": false, "start": 368, "end": 376, "deletions": [369]}, - {"helix": 11, "forward": true, "start": 368, "end": 384, "deletions": [369]}, - {"helix": 10, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#b8056c", - "sequence": "ACAAAGAAATTATTCATTTCAACAGTACAT", - "domains": [ - {"helix": 14, "forward": false, "start": 368, "end": 376, "deletions": [369]}, - {"helix": 13, "forward": true, "start": 368, "end": 384, "deletions": [369]}, - {"helix": 12, "forward": false, "start": 376, "end": 384} - ] - }, - { - "color": "#007200", - "sequence": "TTTCGTCACCAGTACAAACTACAACCCTCAGA", - "domains": [ - {"helix": 0, "forward": false, "start": 384, "end": 408}, - {"helix": 1, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#cc0000", - "sequence": "GCCACCACACCGTTCCAGTAAGCGGTCAGACG", - "domains": [ - {"helix": 1, "forward": true, "start": 392, "end": 400}, - {"helix": 2, "forward": false, "start": 384, "end": 400}, - {"helix": 3, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#f7931e", - "sequence": "ATTGGCCTAATCACCAGTAGCACCAATATTGA", - "domains": [ - {"helix": 3, "forward": true, "start": 392, "end": 400}, - {"helix": 4, "forward": false, "start": 384, "end": 400}, - {"helix": 5, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#f74308", - "sequence": "CGGAAATTAAGAGCAAGAAACAATACCCTGAA", - "domains": [ - {"helix": 5, "forward": true, "start": 392, "end": 400}, - {"helix": 6, "forward": false, "start": 384, "end": 400}, - {"helix": 7, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#57bb00", - "sequence": "CAAAGTCAAAGCAAATCAGATATAAAACCAAG", - "domains": [ - {"helix": 7, "forward": true, "start": 392, "end": 400}, - {"helix": 8, "forward": false, "start": 384, "end": 400}, - {"helix": 9, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#888888", - "sequence": "TACCGCACATGCGTTATACAAATTGACCGTGT", - "domains": [ - {"helix": 9, "forward": true, "start": 392, "end": 400}, - {"helix": 10, "forward": false, "start": 384, "end": 400}, - {"helix": 11, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#32b86c", - "sequence": "GATAAATACCTTTTTTAATGGAAATTACCTGA", - "domains": [ - {"helix": 11, "forward": true, "start": 392, "end": 400}, - {"helix": 12, "forward": false, "start": 384, "end": 400}, - {"helix": 13, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#333333", - "sequence": "GCAAAAGATGAGTAACATTATCATTTAGAAGT", - "domains": [ - {"helix": 13, "forward": true, "start": 392, "end": 400}, - {"helix": 14, "forward": false, "start": 384, "end": 400}, - {"helix": 15, "forward": true, "start": 384, "end": 392} - ] - }, - { - "color": "#320096", - "sequence": "ATTAGACTTTACAAACAATTCGACATTAATTT", - "domains": [ - {"helix": 15, "forward": true, "start": 392, "end": 416}, - {"helix": 14, "forward": false, "start": 408, "end": 416} - ] - }, - { - "color": "#03b6a2", - "sequence": "CTGAATTTCCTCATTTTCAGGGATACACTGAG", - "domains": [ - {"helix": 2, "forward": false, "start": 400, "end": 408}, - {"helix": 1, "forward": true, "start": 400, "end": 416}, - {"helix": 0, "forward": false, "start": 408, "end": 416} - ] - }, - { - "color": "#7300de", - "sequence": "GCCAGCAATGATATTCACAAACAACGCAGTCT", - "domains": [ - {"helix": 4, "forward": false, "start": 400, "end": 408}, - {"helix": 3, "forward": true, "start": 400, "end": 416}, - {"helix": 2, "forward": false, "start": 408, "end": 416} - ] - }, - { - "color": "#aaaa00", - "sequence": "CCAATAATATTCATTAAAGGTGAAGAATTAGA", - "domains": [ - {"helix": 6, "forward": false, "start": 400, "end": 408}, - {"helix": 5, "forward": true, "start": 400, "end": 416}, - {"helix": 4, "forward": false, "start": 408, "end": 416} - ] - }, - { - "color": "#b8056c", - "sequence": "CCAATAGCGAGGGTAATTGAGCGCAGTTAAGC", - "domains": [ - {"helix": 8, "forward": false, "start": 400, "end": 408}, - {"helix": 7, "forward": true, "start": 400, "end": 416}, - {"helix": 6, "forward": false, "start": 408, "end": 416} - ] - }, - { - "color": "#007200", - "sequence": "AGTATCATTCATCGAGAACAAGCATACCGCGC", - "domains": [ - {"helix": 10, "forward": false, "start": 400, "end": 408}, - {"helix": 9, "forward": true, "start": 400, "end": 416}, - {"helix": 8, "forward": false, "start": 408, "end": 416} - ] - }, - { - "color": "#cc0000", - "sequence": "TTGAATTAAGGCGTTAAATAAGAAGCCTGTTT", - "domains": [ - {"helix": 12, "forward": false, "start": 400, "end": 408}, - {"helix": 11, "forward": true, "start": 400, "end": 416}, - {"helix": 10, "forward": false, "start": 408, "end": 416} - ] - }, - { - "color": "#f7931e", - "sequence": "TAAAAGTTAGATGATGAAACAAACAATTTCAT", - "domains": [ - {"helix": 14, "forward": false, "start": 400, "end": 408}, - {"helix": 13, "forward": true, "start": 400, "end": 416}, - {"helix": 12, "forward": false, "start": 408, "end": 416} - ] - } - ] -} \ No newline at end of file diff --git a/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_deletions_insertions.sc b/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_deletions_insertions.sc deleted file mode 100644 index cfc25b74..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_deletions_insertions.sc +++ /dev/null @@ -1,36 +0,0 @@ -{ - "version": "0.16.0", - "grid": "square", - "helices": [ - {"grid_position": [0, 0]}, - {"grid_position": [0, 1]} - ], - "strands": [ - { - "color": "#0066cc", - "sequence": "AACGTAACGTAACGTAACGTAACGTAACGTAACGTAACGTAACGTAACGTAACGTAACGTAACGTAACG", - "domains": [ - {"helix": 1, "forward": false, "start": 0, "end": 16, "deletions": [12], "insertions": [[6, 3]]}, - {"helix": 0, "forward": true, "start": 0, "end": 32, "deletions": [11, 12, 24], "insertions": [[6, 1], [18, 2]]}, - {"helix": 1, "forward": false, "start": 16, "end": 32, "deletions": [24], "insertions": [[18, 4]]} - ], - "is_scaffold": true - }, - { - "color": "#f74308", - "sequence": "GTTACGTTACGTTACGTTGTTACGTTACGTTAC", - "domains": [ - {"helix": 1, "forward": true, "start": 0, "end": 16, "deletions": [12], "insertions": [[6, 3]]}, - {"helix": 0, "forward": false, "start": 0, "end": 16, "deletions": [11, 12], "insertions": [[6, 1]]} - ] - }, - { - "color": "#57bb00", - "sequence": "ACGTTACGTTACGTTACCGTTACGTTACGTTACGTT", - "domains": [ - {"helix": 0, "forward": false, "start": 16, "end": 32, "deletions": [24], "insertions": [[18, 2]]}, - {"helix": 1, "forward": true, "start": 16, "end": 32, "deletions": [24], "insertions": [[18, 4]]} - ] - } - ] -} \ No newline at end of file diff --git a/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple.sc b/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple.sc deleted file mode 100644 index 130d6941..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple.sc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "version": "0.16.0", - "grid": "square", - "helices": [ - {"grid_position": [0, 0]}, - {"grid_position": [0, 1]} - ], - "strands": [ - { - "color": "#0066cc", - "domains": [ - {"helix": 0, "forward": true, "start": 0, "end": 32} - ], - "is_scaffold": true - } - ] -} \ No newline at end of file diff --git a/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple_2.sc b/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple_2.sc deleted file mode 100644 index 46003fe4..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple_2.sc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": "0.16.0", - "grid": "square", - "helices": [ - {"grid_position": [0, 0]}, - {"grid_position": [0, 1]} - ], - "strands": [ - { - "color": "#0066cc", - "domains": [ - {"helix": 0, "forward": true, "start": 0, "end": 32}, - {"helix": 1, "forward": false, "start": 0, "end": 32} - ], - "is_scaffold": true - } - ] -} \ No newline at end of file diff --git a/tests/tests_inputs/cadnano_v2_export/test_6_helix_origami_rectangle.sc b/tests/tests_inputs/cadnano_v2_export/test_6_helix_origami_rectangle.sc deleted file mode 100644 index aa030c0a..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_6_helix_origami_rectangle.sc +++ /dev/null @@ -1,282 +0,0 @@ -{ - "version": "0.16.0", - "grid": "square", - "helices": [ - {"max_offset": 192, "grid_position": [0, 0]}, - {"max_offset": 192, "grid_position": [0, 1]}, - {"max_offset": 192, "grid_position": [0, 2]}, - {"max_offset": 192, "grid_position": [0, 3]}, - {"max_offset": 192, "grid_position": [0, 4]}, - {"max_offset": 192, "grid_position": [0, 5]} - ], - "strands": [ - { - "color": "#0066cc", - "sequence": "TTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCGGGGGCTCCCTTTAGGGTTCCGATTTAGTGCTTTACGGCACCTCGACCCCAAAAAACTTGATTTGGGTGATGGTTCACGTAGTGGGCCATCGCCCTGATAGACGGTTTTTCGCCCTTTGACGTTGGAGTCCACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGGCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGAACCACCATCAAACAGGATTTTCGCCTGCTGGGGCAAACCAGCGTGGACCGCTTGCTGCAACTCTCTCAGGGCCAGGCGGTGAAGGGCAATCAGCTGTTGCCCGTCTCACTGGTGAAAAGAAAAACCACCCTGGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGAATTCGAGCTCGGTACCCGGGGATCCTCTAGAGTCGACCTGCAGGCATGCAAGCTTGGCACTGGCCGTCGTTTTACAACGTCGTGACTGGGAAAACCCTGGCGTTACCCAACTTAATCGCCTTGCAGCACATCCCCCTTTCGCCAGCTGGCGTAATAGCGAAGAGGCCCGCACCGATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGCGCTTTGCCTGGTTTCCGGCACCAGAAGCGGTGCCGGAAAGCTGGCTGGAGTGCGATCTTCCTGAGGCCGATACTGTCGTCGT", - "domains": [ - {"helix": 5, "forward": false, "start": 16, "end": 96, "deletions": [33, 81]}, - {"helix": 4, "forward": true, "start": 16, "end": 96, "deletions": [33, 81]}, - {"helix": 3, "forward": false, "start": 16, "end": 96, "deletions": [33, 81]}, - {"helix": 2, "forward": true, "start": 16, "end": 96, "deletions": [33, 81]}, - {"helix": 1, "forward": false, "start": 16, "end": 96, "deletions": [33, 81]}, - {"helix": 0, "forward": true, "start": 16, "end": 176, "deletions": [33, 81, 129]}, - {"helix": 1, "forward": false, "start": 96, "end": 176, "deletions": [129]}, - {"helix": 2, "forward": true, "start": 96, "end": 176, "deletions": [129]}, - {"helix": 3, "forward": false, "start": 96, "end": 176, "deletions": [129]}, - {"helix": 4, "forward": true, "start": 96, "end": 176, "deletions": [129]}, - {"helix": 5, "forward": false, "start": 96, "end": 176, "deletions": [129]} - ], - "is_scaffold": true - }, - { - "color": "#f74308", - "sequence": "GTGAGACGGGCAACAGGTTTTTCTTTTCACCA", - "domains": [ - {"helix": 1, "forward": true, "start": 16, "end": 32}, - {"helix": 0, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#57bb00", - "sequence": "AGGGTTGAGTGTTGTTAAGAATAGCCCGAGAT", - "domains": [ - {"helix": 3, "forward": true, "start": 16, "end": 32}, - {"helix": 2, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#888888", - "sequence": "AAATCGGAACCCTAAAGGTGCCGTAAAGCACT", - "domains": [ - {"helix": 5, "forward": true, "start": 16, "end": 32}, - {"helix": 4, "forward": false, "start": 16, "end": 32} - ] - }, - { - "color": "#32b86c", - "sequence": "GTGCCTAATGAGTGAGAAGTGTAAAGCCTGGG", - "domains": [ - {"helix": 0, "forward": false, "start": 160, "end": 176}, - {"helix": 1, "forward": true, "start": 160, "end": 176} - ] - }, - { - "color": "#333333", - "sequence": "AGTGCCAAGCTTGCATTTGTAAAACGACGGCC", - "domains": [ - {"helix": 2, "forward": false, "start": 160, "end": 176}, - {"helix": 3, "forward": true, "start": 160, "end": 176} - ] - }, - { - "color": "#320096", - "sequence": "AGCGCCATTCGCCATTGCCGGAAACCAGGCAA", - "domains": [ - {"helix": 4, "forward": false, "start": 160, "end": 176}, - {"helix": 5, "forward": true, "start": 160, "end": 176} - ] - }, - { - "color": "#03b6a2", - "sequence": "CCAGTCGGGAAACCTGTCGTGCCAGCTGCATT", - "domains": [ - {"helix": 0, "forward": false, "start": 88, "end": 120} - ] - }, - { - "color": "#7300de", - "sequence": "CGAAAATCCACGCTGGTTTGCCCTGTTTCC", - "domains": [ - {"helix": 2, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 1, "forward": true, "start": 80, "end": 104, "deletions": [81]} - ] - }, - { - "color": "#aaaa00", - "sequence": "TGTGTGAAGTAATCATGGTCATAGCCAGCAGG", - "domains": [ - {"helix": 1, "forward": true, "start": 104, "end": 112}, - {"helix": 2, "forward": false, "start": 88, "end": 112} - ] - }, - { - "color": "#b8056c", - "sequence": "AGGGCGACAAAGGGCGAAAAACGAAAGGGG", - "domains": [ - {"helix": 4, "forward": false, "start": 80, "end": 88, "deletions": [81]}, - {"helix": 3, "forward": true, "start": 80, "end": 104, "deletions": [81]} - ] - }, - { - "color": "#007200", - "sequence": "GATGTGCTTATTACGCCAGCTGGCCGTCTATC", - "domains": [ - {"helix": 3, "forward": true, "start": 104, "end": 112}, - {"helix": 4, "forward": false, "start": 88, "end": 112} - ] - }, - { - "color": "#cc0000", - "sequence": "AACGTGGCGAGAAAGGAAGGGAAACGACGAC", - "domains": [ - {"helix": 5, "forward": true, "start": 72, "end": 104, "deletions": [81]} - ] - }, - { - "color": "#f7931e", - "sequence": "TTTGCGTATTGGGCGCCAGGGTGCTGATTG", - "domains": [ - {"helix": 0, "forward": false, "start": 32, "end": 56, "deletions": [33]}, - {"helix": 1, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#f74308", - "sequence": "CCCTTCACTCCCTTATAAATCAACCAGTTT", - "domains": [ - {"helix": 1, "forward": true, "start": 40, "end": 48}, - {"helix": 2, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 3, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#57bb00", - "sequence": "GGAACAAGGTTTTTTGGGGTCGAGGGAGCC", - "domains": [ - {"helix": 3, "forward": true, "start": 40, "end": 48}, - {"helix": 4, "forward": false, "start": 32, "end": 48, "deletions": [33]}, - {"helix": 5, "forward": true, "start": 32, "end": 40, "deletions": [33]} - ] - }, - { - "color": "#888888", - "sequence": "CCCGATTTAGAGCTTGACGGGGAACCATCACC", - "domains": [ - {"helix": 5, "forward": true, "start": 40, "end": 64}, - {"helix": 4, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#32b86c", - "sequence": "CGGCAAAACGCCTGGCCCTGAGAGAGAGGCGG", - "domains": [ - {"helix": 2, "forward": false, "start": 48, "end": 56}, - {"helix": 1, "forward": true, "start": 48, "end": 64}, - {"helix": 0, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#333333", - "sequence": "CAAATCAAAGTCCACTATTAAAGATCCGAAAT", - "domains": [ - {"helix": 4, "forward": false, "start": 48, "end": 56}, - {"helix": 3, "forward": true, "start": 48, "end": 64}, - {"helix": 2, "forward": false, "start": 56, "end": 64} - ] - }, - { - "color": "#320096", - "sequence": "AATGAATCGGCCAACGCGCGGGGAGTTGCAG", - "domains": [ - {"helix": 0, "forward": false, "start": 64, "end": 88, "deletions": [81]}, - {"helix": 1, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#03b6a2", - "sequence": "CAAGCGGTCCTGTTTGATGGTGGTACGTGGAC", - "domains": [ - {"helix": 1, "forward": true, "start": 72, "end": 80}, - {"helix": 2, "forward": false, "start": 64, "end": 80}, - {"helix": 3, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#7300de", - "sequence": "TCCAACGTTGGCCCACTACGTGAAAGCCGGCG", - "domains": [ - {"helix": 3, "forward": true, "start": 72, "end": 80}, - {"helix": 4, "forward": false, "start": 64, "end": 80}, - {"helix": 5, "forward": true, "start": 64, "end": 72} - ] - }, - { - "color": "#aaaa00", - "sequence": "AGTATCGGCCTCAGGAAGATCGCAGTGCGGGC", - "domains": [ - {"helix": 5, "forward": true, "start": 104, "end": 128}, - {"helix": 4, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#b8056c", - "sequence": "TCGAATTCATTGTTATCCGCTCACCCCGCTTT", - "domains": [ - {"helix": 2, "forward": false, "start": 112, "end": 120}, - {"helix": 1, "forward": true, "start": 112, "end": 128}, - {"helix": 0, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#007200", - "sequence": "CTCTTCGCGCAAGGCGATTAAGTTTACCGAGC", - "domains": [ - {"helix": 4, "forward": false, "start": 112, "end": 120}, - {"helix": 3, "forward": true, "start": 112, "end": 128}, - {"helix": 2, "forward": false, "start": 120, "end": 128} - ] - }, - { - "color": "#cc0000", - "sequence": "CATTAATTGCGTTGCGCTCACTGAATTCCA", - "domains": [ - {"helix": 0, "forward": false, "start": 128, "end": 152, "deletions": [129]}, - {"helix": 1, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#f7931e", - "sequence": "CACAACATTAGAGGATCCCCGGGGGGTAAC", - "domains": [ - {"helix": 1, "forward": true, "start": 136, "end": 144}, - {"helix": 2, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 3, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#f74308", - "sequence": "GCCAGGGTTGGGAAGGGCGATCGCTCCAGC", - "domains": [ - {"helix": 3, "forward": true, "start": 136, "end": 144}, - {"helix": 4, "forward": false, "start": 128, "end": 144, "deletions": [129]}, - {"helix": 5, "forward": true, "start": 128, "end": 136, "deletions": [129]} - ] - }, - { - "color": "#57bb00", - "sequence": "CAGCTTTCCGGCACCGCTTCTGGTCAGGCTGC", - "domains": [ - {"helix": 5, "forward": true, "start": 136, "end": 160}, - {"helix": 4, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#888888", - "sequence": "GTCGACTCACGAGCCGGAAGCATACTAACTCA", - "domains": [ - {"helix": 2, "forward": false, "start": 144, "end": 152}, - {"helix": 1, "forward": true, "start": 144, "end": 160}, - {"helix": 0, "forward": false, "start": 152, "end": 160} - ] - }, - { - "color": "#32b86c", - "sequence": "GCAACTGTTTTCCCAGTCACGACGGCCTGCAG", - "domains": [ - {"helix": 4, "forward": false, "start": 144, "end": 152}, - {"helix": 3, "forward": true, "start": 144, "end": 160}, - {"helix": 2, "forward": false, "start": 152, "end": 160} - ] - } - ] -} \ No newline at end of file diff --git a/tests/tests_inputs/cadnano_v2_export/test_circular_strand.sc b/tests/tests_inputs/cadnano_v2_export/test_circular_strand.sc deleted file mode 100644 index 4c3f5705..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_circular_strand.sc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": "0.16.0", - "grid": "square", - "helices": [ - {"max_offset": 24, "grid_position": [0, 0]}, - {"max_offset": 24, "grid_position": [0, 1]} - ], - "strands": [ - { - "circular": true, - "color": "#f74308", - "domains": [ - {"helix": 1, "forward": true, "start": 0, "end": 8}, - {"helix": 0, "forward": false, "start": 0, "end": 8} - ] - } - ] -} \ No newline at end of file diff --git a/tests/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group.sc b/tests/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group.sc deleted file mode 100644 index 477ff07a..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group.sc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "version": "0.16.0", - "groups": { - "east": { - "position": {"x": 10, "y": 0, "z": 0}, - "grid": "square" - }, - "south": { - "position": {"x": 0, "y": 10, "z": 0}, - "grid": "square" - } - }, - "helices": [ - {"group": "south", "max_offset": 24, "grid_position": [0, 0]}, - {"group": "south", "max_offset": 25, "grid_position": [0, 1]}, - {"group": "east", "max_offset": 22, "grid_position": [0, 0]}, - {"group": "east", "max_offset": 23, "grid_position": [0, 1]} - ], - "strands": [] -} \ No newline at end of file diff --git a/tests/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group_not_same_grid.sc b/tests/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group_not_same_grid.sc deleted file mode 100644 index 12f5d39e..00000000 --- a/tests/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group_not_same_grid.sc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "version": "0.16.0", - "groups": { - "east": { - "position": {"x": 10, "y": 0, "z": 0}, - "grid": "honeycomb" - }, - "south": { - "position": {"x": 0, "y": 10, "z": 0}, - "grid": "square" - } - }, - "helices": [ - {"group": "south", "max_offset": 24, "grid_position": [0, 0]}, - {"group": "south", "max_offset": 25, "grid_position": [0, 1]}, - {"group": "east", "max_offset": 22, "grid_position": [0, 0]}, - {"group": "east", "max_offset": 23, "grid_position": [0, 1]} - ], - "strands": [] -} \ No newline at end of file diff --git a/tests_inputs/.gitignore b/tests_inputs/.gitignore index 8eeea6a3..935ca72a 100644 --- a/tests_inputs/.gitignore +++ b/tests_inputs/.gitignore @@ -1 +1,2 @@ -cadnano_v2_export/ \ No newline at end of file +cadnano_v2_export/ +!cadnano_v2_export/test_paranemic_crossover.sc \ No newline at end of file diff --git a/tests_inputs/cadnano_v2_export/test_16_helix_origami_rectangle_no_twist.sc b/tests_inputs/cadnano_v2_export/test_16_helix_origami_rectangle_no_twist.sc index eb393316..49bd85d7 100644 --- a/tests_inputs/cadnano_v2_export/test_16_helix_origami_rectangle_no_twist.sc +++ b/tests_inputs/cadnano_v2_export/test_16_helix_origami_rectangle_no_twist.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "grid": "square", "helices": [ {"max_offset": 448, "grid_position": [0, 0]}, diff --git a/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_deletions_insertions.sc b/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_deletions_insertions.sc index 1676952a..445c3b9e 100644 --- a/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_deletions_insertions.sc +++ b/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_deletions_insertions.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "grid": "square", "helices": [ {"grid_position": [0, 0]}, diff --git a/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple.sc b/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple.sc index 44b512e2..9ae2058c 100644 --- a/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple.sc +++ b/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "grid": "square", "helices": [ {"grid_position": [0, 0]}, diff --git a/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple_2.sc b/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple_2.sc index e503d730..4ae33ca1 100644 --- a/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple_2.sc +++ b/tests_inputs/cadnano_v2_export/test_2_stape_2_helix_origami_extremely_simple_2.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "grid": "square", "helices": [ {"grid_position": [0, 0]}, diff --git a/tests_inputs/cadnano_v2_export/test_6_helix_origami_rectangle.sc b/tests_inputs/cadnano_v2_export/test_6_helix_origami_rectangle.sc index 3e7de816..dbc4a842 100644 --- a/tests_inputs/cadnano_v2_export/test_6_helix_origami_rectangle.sc +++ b/tests_inputs/cadnano_v2_export/test_6_helix_origami_rectangle.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "grid": "square", "helices": [ {"max_offset": 192, "grid_position": [0, 0]}, diff --git a/tests_inputs/cadnano_v2_export/test_circular_strand.sc b/tests_inputs/cadnano_v2_export/test_circular_strand.sc index b2c24422..a4dc74c6 100644 --- a/tests_inputs/cadnano_v2_export/test_circular_strand.sc +++ b/tests_inputs/cadnano_v2_export/test_circular_strand.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "grid": "square", "helices": [ {"max_offset": 24, "grid_position": [0, 0]}, diff --git a/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group.sc b/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group.sc index f1fe48e2..6eb3a5ed 100644 --- a/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group.sc +++ b/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "groups": { "east": { "position": {"x": 10, "y": 0, "z": 0}, diff --git a/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group_not_same_grid.sc b/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group_not_same_grid.sc index c487b708..bb2a81b5 100644 --- a/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group_not_same_grid.sc +++ b/tests_inputs/cadnano_v2_export/test_export_design_with_helix_group_not_same_grid.sc @@ -1,5 +1,7 @@ { - "version": "0.16.1", + + "version": "0.16.3", + "groups": { "east": { "position": {"x": 10, "y": 0, "z": 0}, diff --git a/tests_inputs/cadnano_v2_export/test_paranemic_crossover.sc b/tests_inputs/cadnano_v2_export/test_paranemic_crossover.sc new file mode 100644 index 00000000..5b1f2607 --- /dev/null +++ b/tests_inputs/cadnano_v2_export/test_paranemic_crossover.sc @@ -0,0 +1,27 @@ +{ + "version": "0.16.3", + "grid": "square", + "helices": [ + {"grid_position": [19, 14], "idx": 1, "max_offset": 64}, + {"grid_position": [19, 15], "idx": 0, "max_offset": 64}, + {"grid_position": [19, 16], "idx": 3, "max_offset": 64}, + {"grid_position": [19, 17], "idx": 2, "max_offset": 64} + ], + "strands": [ + { + "color": "#007200", + "domains": [ + {"helix": 1, "forward": true, "start": 8, "end": 24}, + {"helix": 3, "forward": true, "start": 8, "end": 24} + ] + }, + { + "color": "#0066cc", + "is_scaffold": true, + "domains": [ + {"helix": 0, "forward": true, "start": 24, "end": 50}, + {"helix": 2, "forward": true, "start": 24, "end": 50} + ] + } + ] +} \ No newline at end of file diff --git a/tests_inputs/cadnano_v2_import/test_paranemic_crossover.json b/tests_inputs/cadnano_v2_import/test_paranemic_crossover.json new file mode 100644 index 00000000..26960352 --- /dev/null +++ b/tests_inputs/cadnano_v2_import/test_paranemic_crossover.json @@ -0,0 +1,605 @@ +{ + "name": "test_paranemic_crossover.json", + "vstrands": [ + { + "row": 14, + "col": 19, + "num": 1, + "scaf": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "stap": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, 1, 9], + [1, 8, 1, 10], + [1, 9, 1, 11], + [1, 10, 1, 12], + [1, 11, 1, 13], + [1, 12, 1, 14], + [1, 13, 1, 15], + [1, 14, 1, 16], + [1, 15, 1, 17], + [1, 16, 1, 18], + [1, 17, 1, 19], + [1, 18, 1, 20], + [1, 19, 1, 21], + [1, 20, 1, 22], + [1, 21, 1, 23], + [1, 22, 3, 8], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "loop": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "skip": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "scafLoop": [], + "stapLoop": [], + "stap_colors": [[8, 29184]] + }, + { + "row": 15, + "col": 19, + "num": 0, + "scaf": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, 0, 25], + [0, 24, 0, 26], + [0, 25, 0, 27], + [0, 26, 0, 28], + [0, 27, 0, 29], + [0, 28, 0, 30], + [0, 29, 0, 31], + [0, 30, 0, 32], + [0, 31, 0, 33], + [0, 32, 0, 34], + [0, 33, 0, 35], + [0, 34, 0, 36], + [0, 35, 0, 37], + [0, 36, 0, 38], + [0, 37, 0, 39], + [0, 38, 0, 40], + [0, 39, 0, 41], + [0, 40, 0, 42], + [0, 41, 0, 43], + [0, 42, 0, 44], + [0, 43, 0, 45], + [0, 44, 0, 46], + [0, 45, 0, 47], + [0, 46, 0, 48], + [0, 47, 0, 49], + [0, 48, 2, 24], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "stap": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "loop": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "skip": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "scafLoop": [], + "stapLoop": [], + "stap_colors": [] + }, + { + "row": 16, + "col": 19, + "num": 3, + "scaf": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "stap": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [1, 23, 3, 9], + [3, 8, 3, 10], + [3, 9, 3, 11], + [3, 10, 3, 12], + [3, 11, 3, 13], + [3, 12, 3, 14], + [3, 13, 3, 15], + [3, 14, 3, 16], + [3, 15, 3, 17], + [3, 16, 3, 18], + [3, 17, 3, 19], + [3, 18, 3, 20], + [3, 19, 3, 21], + [3, 20, 3, 22], + [3, 21, 3, 23], + [3, 22, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "loop": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "skip": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "scafLoop": [], + "stapLoop": [], + "stap_colors": [] + }, + { + "row": 17, + "col": 19, + "num": 2, + "scaf": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [0, 49, 2, 25], + [2, 24, 2, 26], + [2, 25, 2, 27], + [2, 26, 2, 28], + [2, 27, 2, 29], + [2, 28, 2, 30], + [2, 29, 2, 31], + [2, 30, 2, 32], + [2, 31, 2, 33], + [2, 32, 2, 34], + [2, 33, 2, 35], + [2, 34, 2, 36], + [2, 35, 2, 37], + [2, 36, 2, 38], + [2, 37, 2, 39], + [2, 38, 2, 40], + [2, 39, 2, 41], + [2, 40, 2, 42], + [2, 41, 2, 43], + [2, 42, 2, 44], + [2, 43, 2, 45], + [2, 44, 2, 46], + [2, 45, 2, 47], + [2, 46, 2, 48], + [2, 47, 2, 49], + [2, 48, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "stap": [ + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1], + [-1, -1, -1, -1] + ], + "loop": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "skip": [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "scafLoop": [], + "stapLoop": [], + "stap_colors": [] + } + ] +}