{
 "about": {
  "generatedBy": "pipeline/plasmid-map/assembly-boundaries.py",
  "scriptSha256": "96b7566419e26c0f08ee15e4f85c3ecfd291922ecbc4462f2bd1e7a6bd762a09",
  "recordedOn": "2026-10-11",
  "oracle": "Biopython 1.88 Bio.Restriction cuts and Bio.Seq two-strand drawings; hand-specified seed overhangs and scarless products",
  "convention": "Retain signed bottom-minus-top cut separation from the enzyme offsets on the unwrapped drawing; wrapped position order and shortest circular distance cannot determine polarity.",
  "limits": "No repair, fill-in, phosphorylation or reaction-success inference. Existing methylation and off-linear refusal fixtures remain binding."
 },
 "digests": [
  {
   "id": "pbr322-ecori-rotate0-+",
   "seed": "pbr322-ecori",
   "rotation": 0,
   "strand": "+",
   "sequence": "TTCTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAATTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGGCACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTTGCGGGATATCGTCCATTCCGACAGCATCGCCAGTCACTATGGCGTGCTGCTAGCGCTATATGCGTTGATGCAATTTCTATGCGCACCCGTTCTCGGAGCACTGTCCGACCGCTTTGGCCGCCGCCCAGTCCTGCTCGCTTCGCTACTTGGAGCCACTATCGACTACGCGATCATGGCGACCACACCCGTCCTGTGGATCCTCTACGCCGGACGCATCGTGGCCGGCATCACCGGCGCCACAGGTGCGGTTGCTGGCGCCTATATCGCCGACATCACCGATGGGGAAGATCGGGCTCGCCACTTCGGGCTCATGAGCGCTTGTTTCGGCGTGGGTATGGTGGCAGGCCCCGTGGCCGGGGGACTGTTGGGCGCCATCTCCTTGCATGCACCATTCCTTGCGGCGGCGGTGCTCAACGGCCTCAACCTACTACTGGGCTGCTTCCTAATGCAGGAGTCGCATAAGGGAGAGCGTCGACCGATGCCCTTGAGAGCCTTCAACCCAGTCAGCTCCTTCCGGTGGGCGCGGGGCATGACTATCGTCGCCGCACTTATGACTGTCTTCTTTATCATGCAACTCGTAGGACAGGTGCCGGCAGCGCTCTGGGTCATTTTCGGCGAGGACCGCTTTCGCTGGAGCGCGACGATGATCGGCCTGTCGCTTGCGGTATTCGGAATCTTGCACGCCCTCGCTCAAGCCTTCGTCACTGGTCCCGCCACCAAACGTTTCGGCGAGAAGCAGGCCATTATCGCCGGCATGGCGGCCGACGCGCTGGGCTACGTCTTGCTGGCGTTCGCGACGCGAGGCTGGATGGCCTTCCCCATTATGATTCTTCTCGCTTCCGGCGGCATCGGGATGCCCGCGTTGCAGGCCATGCTGTCCAGGCAGGTAGATGACGACCATCAGGGACAGCTTCAAGGATCGCTCGCGGCTCTTACCAGCCTAACTTCGATCACTGGACCGCTGATCGTCACGGCGATTTATGCCGCCTCGGCGAGCACATGGAACGGGTTGGCATGGATTGTAGGCGCCGCCCTATACCTTGTCTGCCTCCCCGCGTTGCGTCGCGGTGCATGGAGCCGGGCCACCTCGACCTGAATGGAAGCCGGCGGCACCTCGCTAACGGATTCACCACTCCAAGAATTGGAGCCAATCAATTCTTGCGGAGAACTGTGAATGCGCAAACCAACCCTTGGCAGAACATATCCATCGCGTCCGCCATCTCCAGCAGCCGCACGCGGCGCATCTCGGGCAGCGTTGGGTCCTGGCCACGGGTGCGCATGATCGTGCTCCTGTCGTTGAGGACCCGGCTAGGCTGGCGGGGTTGCCTTACTGGTTAGCAGAATGAATCACCGATACGCGAGCGAACGTGAAGCGACTGCTGCTGCAAAACGTCTGCGACCTGAGCAACAACATGAATGGTCTTCGGTTTCCGTGTTTCGTAAAGTCTGGAAACGCGGAAGTCAGCGCCCTGCACCATTATGTTCCGGATCTGCATCGCAGGATGCTGCTGGCTACCCTGTGGAACACCTACATCTGTATTAACGAAGCGCTGGCATTGACCCTGAGTGATTTTTCTCTGGTCCCGCCGCATCCATACCGCCAGTTGTTTACCCTCACAACGTTCCAGTAACCGGGCATGTTCATCATCAGTAACCCGTATCGTGAGCATCCTCTCTCGTTTCATCGGTATCATTACCCCCATGAACAGAAATCCCCCTTACACGGAGGCATCAGTGACCAAACAGGAAAAAACCGCCCTTAACATGGCCCGCTTTATCAGAAGCCAGACATTAACGCTTCTGGAGAAACTCAACGAGCTGGACGCGGATGAACAGGCAGACATCTGTGAATCGCTTCACGACCACGCTGATGAGCTTTACCGCAGCTGCCTCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCGCAGCCATGACCCAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAACTATGCGGCATCAGAGCAGATTGTACTGAGAGTGCACCATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACCGCATCAGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAACACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAGAA",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4359,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CAAGAATTCTCA",
       "bottom3to5": "GTTCTTAAGAGT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAATTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGGCACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTTGCGGGATATCGTCCATTCCGACAGCATCGCCAGTCACTATGGCGTGCTGCTAGCGCTATATGCGTTGATGCAATTTCTATGCGCACCCGTTCTCGGAGCACTGTCCGACCGCTTTGGCCGCCGCCCAGTCCTGCTCGCTTCGCTACTTGGAGCCACTATCGACTACGCGATCATGGCGACCACACCCGTCCTGTGGATCCTCTACGCCGGACGCATCGTGGCCGGCATCACCGGCGCCACAGGTGCGGTTGCTGGCGCCTATATCGCCGACATCACCGATGGGGAAGATCGGGCTCGCCACTTCGGGCTCATGAGCGCTTGTTTCGGCGTGGGTATGGTGGCAGGCCCCGTGGCCGGGGGACTGTTGGGCGCCATCTCCTTGCATGCACCATTCCTTGCGGCGGCGGTGCTCAACGGCCTCAACCTACTACTGGGCTGCTTCCTAATGCAGGAGTCGCATAAGGGAGAGCGTCGACCGATGCCCTTGAGAGCCTTCAACCCAGTCAGCTCCTTCCGGTGGGCGCGGGGCATGACTATCGTCGCCGCACTTATGACTGTCTTCTTTATCATGCAACTCGTAGGACAGGTGCCGGCAGCGCTCTGGGTCATTTTCGGCGAGGACCGCTTTCGCTGGAGCGCGACGATGATCGGCCTGTCGCTTGCGGTATTCGGAATCTTGCACGCCCTCGCTCAAGCCTTCGTCACTGGTCCCGCCACCAAACGTTTCGGCGAGAAGCAGGCCATTATCGCCGGCATGGCGGCCGACGCGCTGGGCTACGTCTTGCTGGCGTTCGCGACGCGAGGCTGGATGGCCTTCCCCATTATGATTCTTCTCGCTTCCGGCGGCATCGGGATGCCCGCGTTGCAGGCCATGCTGTCCAGGCAGGTAGATGACGACCATCAGGGACAGCTTCAAGGATCGCTCGCGGCTCTTACCAGCCTAACTTCGATCACTGGACCGCTGATCGTCACGGCGATTTATGCCGCCTCGGCGAGCACATGGAACGGGTTGGCATGGATTGTAGGCGCCGCCCTATACCTTGTCTGCCTCCCCGCGTTGCGTCGCGGTGCATGGAGCCGGGCCACCTCGACCTGAATGGAAGCCGGCGGCACCTCGCTAACGGATTCACCACTCCAAGAATTGGAGCCAATCAATTCTTGCGGAGAACTGTGAATGCGCAAACCAACCCTTGGCAGAACATATCCATCGCGTCCGCCATCTCCAGCAGCCGCACGCGGCGCATCTCGGGCAGCGTTGGGTCCTGGCCACGGGTGCGCATGATCGTGCTCCTGTCGTTGAGGACCCGGCTAGGCTGGCGGGGTTGCCTTACTGGTTAGCAGAATGAATCACCGATACGCGAGCGAACGTGAAGCGACTGCTGCTGCAAAACGTCTGCGACCTGAGCAACAACATGAATGGTCTTCGGTTTCCGTGTTTCGTAAAGTCTGGAAACGCGGAAGTCAGCGCCCTGCACCATTATGTTCCGGATCTGCATCGCAGGATGCTGCTGGCTACCCTGTGGAACACCTACATCTGTATTAACGAAGCGCTGGCATTGACCCTGAGTGATTTTTCTCTGGTCCCGCCGCATCCATACCGCCAGTTGTTTACCCTCACAACGTTCCAGTAACCGGGCATGTTCATCATCAGTAACCCGTATCGTGAGCATCCTCTCTCGTTTCATCGGTATCATTACCCCCATGAACAGAAATCCCCCTTACACGGAGGCATCAGTGACCAAACAGGAAAAAACCGCCCTTAACATGGCCCGCTTTATCAGAAGCCAGACATTAACGCTTCTGGAGAAACTCAACGAGCTGGACGCGGATGAACAGGCAGACATCTGTGAATCGCTTCACGACCACGCTGATGAGCTTTACCGCAGCTGCCTCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCGCAGCCATGACCCAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAACTATGCGGCATCAGAGCAGATTGTACTGAGAGTGCACCATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACCGCATCAGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAACACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 4361
   }
  },
  {
   "id": "pbr322-ecori-rotate0--",
   "seed": "pbr322-ecori",
   "rotation": 0,
   "strand": "-",
   "sequence": "TTCTTGAAGACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTGTTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGCAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCTGATGCGGTATTTTCTCCTTACGCATCTGTGCGGTATTTCACACCGCATATGGTGCACTCTCAGTACAATCTGCTCTGATGCCGCATAGTTAAGCCAGTATACACTCCGCTATCGCTACGTGACTGGGTCATGGCTGCGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGAGGCAGCTGCGGTAAAGCTCATCAGCGTGGTCGTGAAGCGATTCACAGATGTCTGCCTGTTCATCCGCGTCCAGCTCGTTGAGTTTCTCCAGAAGCGTTAATGTCTGGCTTCTGATAAAGCGGGCCATGTTAAGGGCGGTTTTTTCCTGTTTGGTCACTGATGCCTCCGTGTAAGGGGGATTTCTGTTCATGGGGGTAATGATACCGATGAAACGAGAGAGGATGCTCACGATACGGGTTACTGATGATGAACATGCCCGGTTACTGGAACGTTGTGAGGGTAAACAACTGGCGGTATGGATGCGGCGGGACCAGAGAAAAATCACTCAGGGTCAATGCCAGCGCTTCGTTAATACAGATGTAGGTGTTCCACAGGGTAGCCAGCAGCATCCTGCGATGCAGATCCGGAACATAATGGTGCAGGGCGCTGACTTCCGCGTTTCCAGACTTTACGAAACACGGAAACCGAAGACCATTCATGTTGTTGCTCAGGTCGCAGACGTTTTGCAGCAGCAGTCGCTTCACGTTCGCTCGCGTATCGGTGATTCATTCTGCTAACCAGTAAGGCAACCCCGCCAGCCTAGCCGGGTCCTCAACGACAGGAGCACGATCATGCGCACCCGTGGCCAGGACCCAACGCTGCCCGAGATGCGCCGCGTGCGGCTGCTGGAGATGGCGGACGCGATGGATATGTTCTGCCAAGGGTTGGTTTGCGCATTCACAGTTCTCCGCAAGAATTGATTGGCTCCAATTCTTGGAGTGGTGAATCCGTTAGCGAGGTGCCGCCGGCTTCCATTCAGGTCGAGGTGGCCCGGCTCCATGCACCGCGACGCAACGCGGGGAGGCAGACAAGGTATAGGGCGGCGCCTACAATCCATGCCAACCCGTTCCATGTGCTCGCCGAGGCGGCATAAATCGCCGTGACGATCAGCGGTCCAGTGATCGAAGTTAGGCTGGTAAGAGCCGCGAGCGATCCTTGAAGCTGTCCCTGATGGTCGTCATCTACCTGCCTGGACAGCATGGCCTGCAACGCGGGCATCCCGATGCCGCCGGAAGCGAGAAGAATCATAATGGGGAAGGCCATCCAGCCTCGCGTCGCGAACGCCAGCAAGACGTAGCCCAGCGCGTCGGCCGCCATGCCGGCGATAATGGCCTGCTTCTCGCCGAAACGTTTGGTGGCGGGACCAGTGACGAAGGCTTGAGCGAGGGCGTGCAAGATTCCGAATACCGCAAGCGACAGGCCGATCATCGTCGCGCTCCAGCGAAAGCGGTCCTCGCCGAAAATGACCCAGAGCGCTGCCGGCACCTGTCCTACGAGTTGCATGATAAAGAAGACAGTCATAAGTGCGGCGACGATAGTCATGCCCCGCGCCCACCGGAAGGAGCTGACTGGGTTGAAGGCTCTCAAGGGCATCGGTCGACGCTCTCCCTTATGCGACTCCTGCATTAGGAAGCAGCCCAGTAGTAGGTTGAGGCCGTTGAGCACCGCCGCCGCAAGGAATGGTGCATGCAAGGAGATGGCGCCCAACAGTCCCCCGGCCACGGGGCCTGCCACCATACCCACGCCGAAACAAGCGCTCATGAGCCCGAAGTGGCGAGCCCGATCTTCCCCATCGGTGATGTCGGCGATATAGGCGCCAGCAACCGCACCTGTGGCGCCGGTGATGCCGGCCACGATGCGTCCGGCGTAGAGGATCCACAGGACGGGTGTGGTCGCCATGATCGCGTAGTCGATAGTGGCTCCAAGTAGCGAAGCGAGCAGGACTGGGCGGCGGCCAAAGCGGTCGGACAGTGCTCCGAGAACGGGTGCGCATAGAAATTGCATCAACGCATATAGCGCTAGCAGCACGCCATAGTGACTGGCGATGCTGTCGGAATGGACGATATCCCGCAAGAGGCCCGGCAGTACCGGCATAACCAAGCCTATGCCTACAGCATCCAGGGTGACGGTGCCGAGGATGACGATGAGCGCATTGTTAGATTTCATACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACCGCATTAAAGCTTATCGATGATAAGCTGTCAAACATGAGAA",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4359,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TGAGAATTCTTG",
       "bottom3to5": "ACTCTTAAGAAC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTGAAGACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTGTTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGCAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCTGATGCGGTATTTTCTCCTTACGCATCTGTGCGGTATTTCACACCGCATATGGTGCACTCTCAGTACAATCTGCTCTGATGCCGCATAGTTAAGCCAGTATACACTCCGCTATCGCTACGTGACTGGGTCATGGCTGCGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGAGGCAGCTGCGGTAAAGCTCATCAGCGTGGTCGTGAAGCGATTCACAGATGTCTGCCTGTTCATCCGCGTCCAGCTCGTTGAGTTTCTCCAGAAGCGTTAATGTCTGGCTTCTGATAAAGCGGGCCATGTTAAGGGCGGTTTTTTCCTGTTTGGTCACTGATGCCTCCGTGTAAGGGGGATTTCTGTTCATGGGGGTAATGATACCGATGAAACGAGAGAGGATGCTCACGATACGGGTTACTGATGATGAACATGCCCGGTTACTGGAACGTTGTGAGGGTAAACAACTGGCGGTATGGATGCGGCGGGACCAGAGAAAAATCACTCAGGGTCAATGCCAGCGCTTCGTTAATACAGATGTAGGTGTTCCACAGGGTAGCCAGCAGCATCCTGCGATGCAGATCCGGAACATAATGGTGCAGGGCGCTGACTTCCGCGTTTCCAGACTTTACGAAACACGGAAACCGAAGACCATTCATGTTGTTGCTCAGGTCGCAGACGTTTTGCAGCAGCAGTCGCTTCACGTTCGCTCGCGTATCGGTGATTCATTCTGCTAACCAGTAAGGCAACCCCGCCAGCCTAGCCGGGTCCTCAACGACAGGAGCACGATCATGCGCACCCGTGGCCAGGACCCAACGCTGCCCGAGATGCGCCGCGTGCGGCTGCTGGAGATGGCGGACGCGATGGATATGTTCTGCCAAGGGTTGGTTTGCGCATTCACAGTTCTCCGCAAGAATTGATTGGCTCCAATTCTTGGAGTGGTGAATCCGTTAGCGAGGTGCCGCCGGCTTCCATTCAGGTCGAGGTGGCCCGGCTCCATGCACCGCGACGCAACGCGGGGAGGCAGACAAGGTATAGGGCGGCGCCTACAATCCATGCCAACCCGTTCCATGTGCTCGCCGAGGCGGCATAAATCGCCGTGACGATCAGCGGTCCAGTGATCGAAGTTAGGCTGGTAAGAGCCGCGAGCGATCCTTGAAGCTGTCCCTGATGGTCGTCATCTACCTGCCTGGACAGCATGGCCTGCAACGCGGGCATCCCGATGCCGCCGGAAGCGAGAAGAATCATAATGGGGAAGGCCATCCAGCCTCGCGTCGCGAACGCCAGCAAGACGTAGCCCAGCGCGTCGGCCGCCATGCCGGCGATAATGGCCTGCTTCTCGCCGAAACGTTTGGTGGCGGGACCAGTGACGAAGGCTTGAGCGAGGGCGTGCAAGATTCCGAATACCGCAAGCGACAGGCCGATCATCGTCGCGCTCCAGCGAAAGCGGTCCTCGCCGAAAATGACCCAGAGCGCTGCCGGCACCTGTCCTACGAGTTGCATGATAAAGAAGACAGTCATAAGTGCGGCGACGATAGTCATGCCCCGCGCCCACCGGAAGGAGCTGACTGGGTTGAAGGCTCTCAAGGGCATCGGTCGACGCTCTCCCTTATGCGACTCCTGCATTAGGAAGCAGCCCAGTAGTAGGTTGAGGCCGTTGAGCACCGCCGCCGCAAGGAATGGTGCATGCAAGGAGATGGCGCCCAACAGTCCCCCGGCCACGGGGCCTGCCACCATACCCACGCCGAAACAAGCGCTCATGAGCCCGAAGTGGCGAGCCCGATCTTCCCCATCGGTGATGTCGGCGATATAGGCGCCAGCAACCGCACCTGTGGCGCCGGTGATGCCGGCCACGATGCGTCCGGCGTAGAGGATCCACAGGACGGGTGTGGTCGCCATGATCGCGTAGTCGATAGTGGCTCCAAGTAGCGAAGCGAGCAGGACTGGGCGGCGGCCAAAGCGGTCGGACAGTGCTCCGAGAACGGGTGCGCATAGAAATTGCATCAACGCATATAGCGCTAGCAGCACGCCATAGTGACTGGCGATGCTGTCGGAATGGACGATATCCCGCAAGAGGCCCGGCAGTACCGGCATAACCAAGCCTATGCCTACAGCATCCAGGGTGACGGTGCCGAGGATGACGATGAGCGCATTGTTAGATTTCATACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACCGCATTAAAGCTTATCGATGATAAGCTGTCAAACATGAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 4361
   }
  },
  {
   "id": "pbr322-ecori-rotate1-+",
   "seed": "pbr322-ecori",
   "rotation": 1,
   "strand": "+",
   "sequence": "TCTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAATTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGGCACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTTGCGGGATATCGTCCATTCCGACAGCATCGCCAGTCACTATGGCGTGCTGCTAGCGCTATATGCGTTGATGCAATTTCTATGCGCACCCGTTCTCGGAGCACTGTCCGACCGCTTTGGCCGCCGCCCAGTCCTGCTCGCTTCGCTACTTGGAGCCACTATCGACTACGCGATCATGGCGACCACACCCGTCCTGTGGATCCTCTACGCCGGACGCATCGTGGCCGGCATCACCGGCGCCACAGGTGCGGTTGCTGGCGCCTATATCGCCGACATCACCGATGGGGAAGATCGGGCTCGCCACTTCGGGCTCATGAGCGCTTGTTTCGGCGTGGGTATGGTGGCAGGCCCCGTGGCCGGGGGACTGTTGGGCGCCATCTCCTTGCATGCACCATTCCTTGCGGCGGCGGTGCTCAACGGCCTCAACCTACTACTGGGCTGCTTCCTAATGCAGGAGTCGCATAAGGGAGAGCGTCGACCGATGCCCTTGAGAGCCTTCAACCCAGTCAGCTCCTTCCGGTGGGCGCGGGGCATGACTATCGTCGCCGCACTTATGACTGTCTTCTTTATCATGCAACTCGTAGGACAGGTGCCGGCAGCGCTCTGGGTCATTTTCGGCGAGGACCGCTTTCGCTGGAGCGCGACGATGATCGGCCTGTCGCTTGCGGTATTCGGAATCTTGCACGCCCTCGCTCAAGCCTTCGTCACTGGTCCCGCCACCAAACGTTTCGGCGAGAAGCAGGCCATTATCGCCGGCATGGCGGCCGACGCGCTGGGCTACGTCTTGCTGGCGTTCGCGACGCGAGGCTGGATGGCCTTCCCCATTATGATTCTTCTCGCTTCCGGCGGCATCGGGATGCCCGCGTTGCAGGCCATGCTGTCCAGGCAGGTAGATGACGACCATCAGGGACAGCTTCAAGGATCGCTCGCGGCTCTTACCAGCCTAACTTCGATCACTGGACCGCTGATCGTCACGGCGATTTATGCCGCCTCGGCGAGCACATGGAACGGGTTGGCATGGATTGTAGGCGCCGCCCTATACCTTGTCTGCCTCCCCGCGTTGCGTCGCGGTGCATGGAGCCGGGCCACCTCGACCTGAATGGAAGCCGGCGGCACCTCGCTAACGGATTCACCACTCCAAGAATTGGAGCCAATCAATTCTTGCGGAGAACTGTGAATGCGCAAACCAACCCTTGGCAGAACATATCCATCGCGTCCGCCATCTCCAGCAGCCGCACGCGGCGCATCTCGGGCAGCGTTGGGTCCTGGCCACGGGTGCGCATGATCGTGCTCCTGTCGTTGAGGACCCGGCTAGGCTGGCGGGGTTGCCTTACTGGTTAGCAGAATGAATCACCGATACGCGAGCGAACGTGAAGCGACTGCTGCTGCAAAACGTCTGCGACCTGAGCAACAACATGAATGGTCTTCGGTTTCCGTGTTTCGTAAAGTCTGGAAACGCGGAAGTCAGCGCCCTGCACCATTATGTTCCGGATCTGCATCGCAGGATGCTGCTGGCTACCCTGTGGAACACCTACATCTGTATTAACGAAGCGCTGGCATTGACCCTGAGTGATTTTTCTCTGGTCCCGCCGCATCCATACCGCCAGTTGTTTACCCTCACAACGTTCCAGTAACCGGGCATGTTCATCATCAGTAACCCGTATCGTGAGCATCCTCTCTCGTTTCATCGGTATCATTACCCCCATGAACAGAAATCCCCCTTACACGGAGGCATCAGTGACCAAACAGGAAAAAACCGCCCTTAACATGGCCCGCTTTATCAGAAGCCAGACATTAACGCTTCTGGAGAAACTCAACGAGCTGGACGCGGATGAACAGGCAGACATCTGTGAATCGCTTCACGACCACGCTGATGAGCTTTACCGCAGCTGCCTCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCGCAGCCATGACCCAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAACTATGCGGCATCAGAGCAGATTGTACTGAGAGTGCACCATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACCGCATCAGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAACACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAGAAT",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4358,
      "bottomAfter": 1,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CAAGAATTCTCA",
       "bottom3to5": "GTTCTTAAGAGT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAATTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGGCACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTTGCGGGATATCGTCCATTCCGACAGCATCGCCAGTCACTATGGCGTGCTGCTAGCGCTATATGCGTTGATGCAATTTCTATGCGCACCCGTTCTCGGAGCACTGTCCGACCGCTTTGGCCGCCGCCCAGTCCTGCTCGCTTCGCTACTTGGAGCCACTATCGACTACGCGATCATGGCGACCACACCCGTCCTGTGGATCCTCTACGCCGGACGCATCGTGGCCGGCATCACCGGCGCCACAGGTGCGGTTGCTGGCGCCTATATCGCCGACATCACCGATGGGGAAGATCGGGCTCGCCACTTCGGGCTCATGAGCGCTTGTTTCGGCGTGGGTATGGTGGCAGGCCCCGTGGCCGGGGGACTGTTGGGCGCCATCTCCTTGCATGCACCATTCCTTGCGGCGGCGGTGCTCAACGGCCTCAACCTACTACTGGGCTGCTTCCTAATGCAGGAGTCGCATAAGGGAGAGCGTCGACCGATGCCCTTGAGAGCCTTCAACCCAGTCAGCTCCTTCCGGTGGGCGCGGGGCATGACTATCGTCGCCGCACTTATGACTGTCTTCTTTATCATGCAACTCGTAGGACAGGTGCCGGCAGCGCTCTGGGTCATTTTCGGCGAGGACCGCTTTCGCTGGAGCGCGACGATGATCGGCCTGTCGCTTGCGGTATTCGGAATCTTGCACGCCCTCGCTCAAGCCTTCGTCACTGGTCCCGCCACCAAACGTTTCGGCGAGAAGCAGGCCATTATCGCCGGCATGGCGGCCGACGCGCTGGGCTACGTCTTGCTGGCGTTCGCGACGCGAGGCTGGATGGCCTTCCCCATTATGATTCTTCTCGCTTCCGGCGGCATCGGGATGCCCGCGTTGCAGGCCATGCTGTCCAGGCAGGTAGATGACGACCATCAGGGACAGCTTCAAGGATCGCTCGCGGCTCTTACCAGCCTAACTTCGATCACTGGACCGCTGATCGTCACGGCGATTTATGCCGCCTCGGCGAGCACATGGAACGGGTTGGCATGGATTGTAGGCGCCGCCCTATACCTTGTCTGCCTCCCCGCGTTGCGTCGCGGTGCATGGAGCCGGGCCACCTCGACCTGAATGGAAGCCGGCGGCACCTCGCTAACGGATTCACCACTCCAAGAATTGGAGCCAATCAATTCTTGCGGAGAACTGTGAATGCGCAAACCAACCCTTGGCAGAACATATCCATCGCGTCCGCCATCTCCAGCAGCCGCACGCGGCGCATCTCGGGCAGCGTTGGGTCCTGGCCACGGGTGCGCATGATCGTGCTCCTGTCGTTGAGGACCCGGCTAGGCTGGCGGGGTTGCCTTACTGGTTAGCAGAATGAATCACCGATACGCGAGCGAACGTGAAGCGACTGCTGCTGCAAAACGTCTGCGACCTGAGCAACAACATGAATGGTCTTCGGTTTCCGTGTTTCGTAAAGTCTGGAAACGCGGAAGTCAGCGCCCTGCACCATTATGTTCCGGATCTGCATCGCAGGATGCTGCTGGCTACCCTGTGGAACACCTACATCTGTATTAACGAAGCGCTGGCATTGACCCTGAGTGATTTTTCTCTGGTCCCGCCGCATCCATACCGCCAGTTGTTTACCCTCACAACGTTCCAGTAACCGGGCATGTTCATCATCAGTAACCCGTATCGTGAGCATCCTCTCTCGTTTCATCGGTATCATTACCCCCATGAACAGAAATCCCCCTTACACGGAGGCATCAGTGACCAAACAGGAAAAAACCGCCCTTAACATGGCCCGCTTTATCAGAAGCCAGACATTAACGCTTCTGGAGAAACTCAACGAGCTGGACGCGGATGAACAGGCAGACATCTGTGAATCGCTTCACGACCACGCTGATGAGCTTTACCGCAGCTGCCTCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCGCAGCCATGACCCAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAACTATGCGGCATCAGAGCAGATTGTACTGAGAGTGCACCATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACCGCATCAGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAACACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 4361
   }
  },
  {
   "id": "pbr322-ecori-rotate1--",
   "seed": "pbr322-ecori",
   "rotation": 1,
   "strand": "-",
   "sequence": "ATTCTTGAAGACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTGTTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGCAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCTGATGCGGTATTTTCTCCTTACGCATCTGTGCGGTATTTCACACCGCATATGGTGCACTCTCAGTACAATCTGCTCTGATGCCGCATAGTTAAGCCAGTATACACTCCGCTATCGCTACGTGACTGGGTCATGGCTGCGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGAGGCAGCTGCGGTAAAGCTCATCAGCGTGGTCGTGAAGCGATTCACAGATGTCTGCCTGTTCATCCGCGTCCAGCTCGTTGAGTTTCTCCAGAAGCGTTAATGTCTGGCTTCTGATAAAGCGGGCCATGTTAAGGGCGGTTTTTTCCTGTTTGGTCACTGATGCCTCCGTGTAAGGGGGATTTCTGTTCATGGGGGTAATGATACCGATGAAACGAGAGAGGATGCTCACGATACGGGTTACTGATGATGAACATGCCCGGTTACTGGAACGTTGTGAGGGTAAACAACTGGCGGTATGGATGCGGCGGGACCAGAGAAAAATCACTCAGGGTCAATGCCAGCGCTTCGTTAATACAGATGTAGGTGTTCCACAGGGTAGCCAGCAGCATCCTGCGATGCAGATCCGGAACATAATGGTGCAGGGCGCTGACTTCCGCGTTTCCAGACTTTACGAAACACGGAAACCGAAGACCATTCATGTTGTTGCTCAGGTCGCAGACGTTTTGCAGCAGCAGTCGCTTCACGTTCGCTCGCGTATCGGTGATTCATTCTGCTAACCAGTAAGGCAACCCCGCCAGCCTAGCCGGGTCCTCAACGACAGGAGCACGATCATGCGCACCCGTGGCCAGGACCCAACGCTGCCCGAGATGCGCCGCGTGCGGCTGCTGGAGATGGCGGACGCGATGGATATGTTCTGCCAAGGGTTGGTTTGCGCATTCACAGTTCTCCGCAAGAATTGATTGGCTCCAATTCTTGGAGTGGTGAATCCGTTAGCGAGGTGCCGCCGGCTTCCATTCAGGTCGAGGTGGCCCGGCTCCATGCACCGCGACGCAACGCGGGGAGGCAGACAAGGTATAGGGCGGCGCCTACAATCCATGCCAACCCGTTCCATGTGCTCGCCGAGGCGGCATAAATCGCCGTGACGATCAGCGGTCCAGTGATCGAAGTTAGGCTGGTAAGAGCCGCGAGCGATCCTTGAAGCTGTCCCTGATGGTCGTCATCTACCTGCCTGGACAGCATGGCCTGCAACGCGGGCATCCCGATGCCGCCGGAAGCGAGAAGAATCATAATGGGGAAGGCCATCCAGCCTCGCGTCGCGAACGCCAGCAAGACGTAGCCCAGCGCGTCGGCCGCCATGCCGGCGATAATGGCCTGCTTCTCGCCGAAACGTTTGGTGGCGGGACCAGTGACGAAGGCTTGAGCGAGGGCGTGCAAGATTCCGAATACCGCAAGCGACAGGCCGATCATCGTCGCGCTCCAGCGAAAGCGGTCCTCGCCGAAAATGACCCAGAGCGCTGCCGGCACCTGTCCTACGAGTTGCATGATAAAGAAGACAGTCATAAGTGCGGCGACGATAGTCATGCCCCGCGCCCACCGGAAGGAGCTGACTGGGTTGAAGGCTCTCAAGGGCATCGGTCGACGCTCTCCCTTATGCGACTCCTGCATTAGGAAGCAGCCCAGTAGTAGGTTGAGGCCGTTGAGCACCGCCGCCGCAAGGAATGGTGCATGCAAGGAGATGGCGCCCAACAGTCCCCCGGCCACGGGGCCTGCCACCATACCCACGCCGAAACAAGCGCTCATGAGCCCGAAGTGGCGAGCCCGATCTTCCCCATCGGTGATGTCGGCGATATAGGCGCCAGCAACCGCACCTGTGGCGCCGGTGATGCCGGCCACGATGCGTCCGGCGTAGAGGATCCACAGGACGGGTGTGGTCGCCATGATCGCGTAGTCGATAGTGGCTCCAAGTAGCGAAGCGAGCAGGACTGGGCGGCGGCCAAAGCGGTCGGACAGTGCTCCGAGAACGGGTGCGCATAGAAATTGCATCAACGCATATAGCGCTAGCAGCACGCCATAGTGACTGGCGATGCTGTCGGAATGGACGATATCCCGCAAGAGGCCCGGCAGTACCGGCATAACCAAGCCTATGCCTACAGCATCCAGGGTGACGGTGCCGAGGATGACGATGAGCGCATTGTTAGATTTCATACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACCGCATTAAAGCTTATCGATGATAAGCTGTCAAACATGAGA",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4360,
      "bottomAfter": 3,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TGAGAATTCTTG",
       "bottom3to5": "ACTCTTAAGAAC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTGAAGACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTGTTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGCAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCTGATGCGGTATTTTCTCCTTACGCATCTGTGCGGTATTTCACACCGCATATGGTGCACTCTCAGTACAATCTGCTCTGATGCCGCATAGTTAAGCCAGTATACACTCCGCTATCGCTACGTGACTGGGTCATGGCTGCGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGAGGCAGCTGCGGTAAAGCTCATCAGCGTGGTCGTGAAGCGATTCACAGATGTCTGCCTGTTCATCCGCGTCCAGCTCGTTGAGTTTCTCCAGAAGCGTTAATGTCTGGCTTCTGATAAAGCGGGCCATGTTAAGGGCGGTTTTTTCCTGTTTGGTCACTGATGCCTCCGTGTAAGGGGGATTTCTGTTCATGGGGGTAATGATACCGATGAAACGAGAGAGGATGCTCACGATACGGGTTACTGATGATGAACATGCCCGGTTACTGGAACGTTGTGAGGGTAAACAACTGGCGGTATGGATGCGGCGGGACCAGAGAAAAATCACTCAGGGTCAATGCCAGCGCTTCGTTAATACAGATGTAGGTGTTCCACAGGGTAGCCAGCAGCATCCTGCGATGCAGATCCGGAACATAATGGTGCAGGGCGCTGACTTCCGCGTTTCCAGACTTTACGAAACACGGAAACCGAAGACCATTCATGTTGTTGCTCAGGTCGCAGACGTTTTGCAGCAGCAGTCGCTTCACGTTCGCTCGCGTATCGGTGATTCATTCTGCTAACCAGTAAGGCAACCCCGCCAGCCTAGCCGGGTCCTCAACGACAGGAGCACGATCATGCGCACCCGTGGCCAGGACCCAACGCTGCCCGAGATGCGCCGCGTGCGGCTGCTGGAGATGGCGGACGCGATGGATATGTTCTGCCAAGGGTTGGTTTGCGCATTCACAGTTCTCCGCAAGAATTGATTGGCTCCAATTCTTGGAGTGGTGAATCCGTTAGCGAGGTGCCGCCGGCTTCCATTCAGGTCGAGGTGGCCCGGCTCCATGCACCGCGACGCAACGCGGGGAGGCAGACAAGGTATAGGGCGGCGCCTACAATCCATGCCAACCCGTTCCATGTGCTCGCCGAGGCGGCATAAATCGCCGTGACGATCAGCGGTCCAGTGATCGAAGTTAGGCTGGTAAGAGCCGCGAGCGATCCTTGAAGCTGTCCCTGATGGTCGTCATCTACCTGCCTGGACAGCATGGCCTGCAACGCGGGCATCCCGATGCCGCCGGAAGCGAGAAGAATCATAATGGGGAAGGCCATCCAGCCTCGCGTCGCGAACGCCAGCAAGACGTAGCCCAGCGCGTCGGCCGCCATGCCGGCGATAATGGCCTGCTTCTCGCCGAAACGTTTGGTGGCGGGACCAGTGACGAAGGCTTGAGCGAGGGCGTGCAAGATTCCGAATACCGCAAGCGACAGGCCGATCATCGTCGCGCTCCAGCGAAAGCGGTCCTCGCCGAAAATGACCCAGAGCGCTGCCGGCACCTGTCCTACGAGTTGCATGATAAAGAAGACAGTCATAAGTGCGGCGACGATAGTCATGCCCCGCGCCCACCGGAAGGAGCTGACTGGGTTGAAGGCTCTCAAGGGCATCGGTCGACGCTCTCCCTTATGCGACTCCTGCATTAGGAAGCAGCCCAGTAGTAGGTTGAGGCCGTTGAGCACCGCCGCCGCAAGGAATGGTGCATGCAAGGAGATGGCGCCCAACAGTCCCCCGGCCACGGGGCCTGCCACCATACCCACGCCGAAACAAGCGCTCATGAGCCCGAAGTGGCGAGCCCGATCTTCCCCATCGGTGATGTCGGCGATATAGGCGCCAGCAACCGCACCTGTGGCGCCGGTGATGCCGGCCACGATGCGTCCGGCGTAGAGGATCCACAGGACGGGTGTGGTCGCCATGATCGCGTAGTCGATAGTGGCTCCAAGTAGCGAAGCGAGCAGGACTGGGCGGCGGCCAAAGCGGTCGGACAGTGCTCCGAGAACGGGTGCGCATAGAAATTGCATCAACGCATATAGCGCTAGCAGCACGCCATAGTGACTGGCGATGCTGTCGGAATGGACGATATCCCGCAAGAGGCCCGGCAGTACCGGCATAACCAAGCCTATGCCTACAGCATCCAGGGTGACGGTGCCGAGGATGACGATGAGCGCATTGTTAGATTTCATACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACCGCATTAAAGCTTATCGATGATAAGCTGTCAAACATGAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 4361
   }
  },
  {
   "id": "pbr322-ecori-rotate4359-+",
   "seed": "pbr322-ecori",
   "rotation": 4359,
   "strand": "+",
   "sequence": "AATTCTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAATTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGGCACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTTGCGGGATATCGTCCATTCCGACAGCATCGCCAGTCACTATGGCGTGCTGCTAGCGCTATATGCGTTGATGCAATTTCTATGCGCACCCGTTCTCGGAGCACTGTCCGACCGCTTTGGCCGCCGCCCAGTCCTGCTCGCTTCGCTACTTGGAGCCACTATCGACTACGCGATCATGGCGACCACACCCGTCCTGTGGATCCTCTACGCCGGACGCATCGTGGCCGGCATCACCGGCGCCACAGGTGCGGTTGCTGGCGCCTATATCGCCGACATCACCGATGGGGAAGATCGGGCTCGCCACTTCGGGCTCATGAGCGCTTGTTTCGGCGTGGGTATGGTGGCAGGCCCCGTGGCCGGGGGACTGTTGGGCGCCATCTCCTTGCATGCACCATTCCTTGCGGCGGCGGTGCTCAACGGCCTCAACCTACTACTGGGCTGCTTCCTAATGCAGGAGTCGCATAAGGGAGAGCGTCGACCGATGCCCTTGAGAGCCTTCAACCCAGTCAGCTCCTTCCGGTGGGCGCGGGGCATGACTATCGTCGCCGCACTTATGACTGTCTTCTTTATCATGCAACTCGTAGGACAGGTGCCGGCAGCGCTCTGGGTCATTTTCGGCGAGGACCGCTTTCGCTGGAGCGCGACGATGATCGGCCTGTCGCTTGCGGTATTCGGAATCTTGCACGCCCTCGCTCAAGCCTTCGTCACTGGTCCCGCCACCAAACGTTTCGGCGAGAAGCAGGCCATTATCGCCGGCATGGCGGCCGACGCGCTGGGCTACGTCTTGCTGGCGTTCGCGACGCGAGGCTGGATGGCCTTCCCCATTATGATTCTTCTCGCTTCCGGCGGCATCGGGATGCCCGCGTTGCAGGCCATGCTGTCCAGGCAGGTAGATGACGACCATCAGGGACAGCTTCAAGGATCGCTCGCGGCTCTTACCAGCCTAACTTCGATCACTGGACCGCTGATCGTCACGGCGATTTATGCCGCCTCGGCGAGCACATGGAACGGGTTGGCATGGATTGTAGGCGCCGCCCTATACCTTGTCTGCCTCCCCGCGTTGCGTCGCGGTGCATGGAGCCGGGCCACCTCGACCTGAATGGAAGCCGGCGGCACCTCGCTAACGGATTCACCACTCCAAGAATTGGAGCCAATCAATTCTTGCGGAGAACTGTGAATGCGCAAACCAACCCTTGGCAGAACATATCCATCGCGTCCGCCATCTCCAGCAGCCGCACGCGGCGCATCTCGGGCAGCGTTGGGTCCTGGCCACGGGTGCGCATGATCGTGCTCCTGTCGTTGAGGACCCGGCTAGGCTGGCGGGGTTGCCTTACTGGTTAGCAGAATGAATCACCGATACGCGAGCGAACGTGAAGCGACTGCTGCTGCAAAACGTCTGCGACCTGAGCAACAACATGAATGGTCTTCGGTTTCCGTGTTTCGTAAAGTCTGGAAACGCGGAAGTCAGCGCCCTGCACCATTATGTTCCGGATCTGCATCGCAGGATGCTGCTGGCTACCCTGTGGAACACCTACATCTGTATTAACGAAGCGCTGGCATTGACCCTGAGTGATTTTTCTCTGGTCCCGCCGCATCCATACCGCCAGTTGTTTACCCTCACAACGTTCCAGTAACCGGGCATGTTCATCATCAGTAACCCGTATCGTGAGCATCCTCTCTCGTTTCATCGGTATCATTACCCCCATGAACAGAAATCCCCCTTACACGGAGGCATCAGTGACCAAACAGGAAAAAACCGCCCTTAACATGGCCCGCTTTATCAGAAGCCAGACATTAACGCTTCTGGAGAAACTCAACGAGCTGGACGCGGATGAACAGGCAGACATCTGTGAATCGCTTCACGACCACGCTGATGAGCTTTACCGCAGCTGCCTCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCGCAGCCATGACCCAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAACTATGCGGCATCAGAGCAGATTGTACTGAGAGTGCACCATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACCGCATCAGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAACACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAG",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4361,
      "bottomAfter": 4,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CAAGAATTCTCA",
       "bottom3to5": "GTTCTTAAGAGT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAATTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGGCACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTTGCGGGATATCGTCCATTCCGACAGCATCGCCAGTCACTATGGCGTGCTGCTAGCGCTATATGCGTTGATGCAATTTCTATGCGCACCCGTTCTCGGAGCACTGTCCGACCGCTTTGGCCGCCGCCCAGTCCTGCTCGCTTCGCTACTTGGAGCCACTATCGACTACGCGATCATGGCGACCACACCCGTCCTGTGGATCCTCTACGCCGGACGCATCGTGGCCGGCATCACCGGCGCCACAGGTGCGGTTGCTGGCGCCTATATCGCCGACATCACCGATGGGGAAGATCGGGCTCGCCACTTCGGGCTCATGAGCGCTTGTTTCGGCGTGGGTATGGTGGCAGGCCCCGTGGCCGGGGGACTGTTGGGCGCCATCTCCTTGCATGCACCATTCCTTGCGGCGGCGGTGCTCAACGGCCTCAACCTACTACTGGGCTGCTTCCTAATGCAGGAGTCGCATAAGGGAGAGCGTCGACCGATGCCCTTGAGAGCCTTCAACCCAGTCAGCTCCTTCCGGTGGGCGCGGGGCATGACTATCGTCGCCGCACTTATGACTGTCTTCTTTATCATGCAACTCGTAGGACAGGTGCCGGCAGCGCTCTGGGTCATTTTCGGCGAGGACCGCTTTCGCTGGAGCGCGACGATGATCGGCCTGTCGCTTGCGGTATTCGGAATCTTGCACGCCCTCGCTCAAGCCTTCGTCACTGGTCCCGCCACCAAACGTTTCGGCGAGAAGCAGGCCATTATCGCCGGCATGGCGGCCGACGCGCTGGGCTACGTCTTGCTGGCGTTCGCGACGCGAGGCTGGATGGCCTTCCCCATTATGATTCTTCTCGCTTCCGGCGGCATCGGGATGCCCGCGTTGCAGGCCATGCTGTCCAGGCAGGTAGATGACGACCATCAGGGACAGCTTCAAGGATCGCTCGCGGCTCTTACCAGCCTAACTTCGATCACTGGACCGCTGATCGTCACGGCGATTTATGCCGCCTCGGCGAGCACATGGAACGGGTTGGCATGGATTGTAGGCGCCGCCCTATACCTTGTCTGCCTCCCCGCGTTGCGTCGCGGTGCATGGAGCCGGGCCACCTCGACCTGAATGGAAGCCGGCGGCACCTCGCTAACGGATTCACCACTCCAAGAATTGGAGCCAATCAATTCTTGCGGAGAACTGTGAATGCGCAAACCAACCCTTGGCAGAACATATCCATCGCGTCCGCCATCTCCAGCAGCCGCACGCGGCGCATCTCGGGCAGCGTTGGGTCCTGGCCACGGGTGCGCATGATCGTGCTCCTGTCGTTGAGGACCCGGCTAGGCTGGCGGGGTTGCCTTACTGGTTAGCAGAATGAATCACCGATACGCGAGCGAACGTGAAGCGACTGCTGCTGCAAAACGTCTGCGACCTGAGCAACAACATGAATGGTCTTCGGTTTCCGTGTTTCGTAAAGTCTGGAAACGCGGAAGTCAGCGCCCTGCACCATTATGTTCCGGATCTGCATCGCAGGATGCTGCTGGCTACCCTGTGGAACACCTACATCTGTATTAACGAAGCGCTGGCATTGACCCTGAGTGATTTTTCTCTGGTCCCGCCGCATCCATACCGCCAGTTGTTTACCCTCACAACGTTCCAGTAACCGGGCATGTTCATCATCAGTAACCCGTATCGTGAGCATCCTCTCTCGTTTCATCGGTATCATTACCCCCATGAACAGAAATCCCCCTTACACGGAGGCATCAGTGACCAAACAGGAAAAAACCGCCCTTAACATGGCCCGCTTTATCAGAAGCCAGACATTAACGCTTCTGGAGAAACTCAACGAGCTGGACGCGGATGAACAGGCAGACATCTGTGAATCGCTTCACGACCACGCTGATGAGCTTTACCGCAGCTGCCTCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCGCAGCCATGACCCAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAACTATGCGGCATCAGAGCAGATTGTACTGAGAGTGCACCATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACCGCATCAGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAACACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 4361
   }
  },
  {
   "id": "pbr322-ecori-rotate4359--",
   "seed": "pbr322-ecori",
   "rotation": 4359,
   "strand": "-",
   "sequence": "CTTGAAGACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTGTTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGCAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCTGATGCGGTATTTTCTCCTTACGCATCTGTGCGGTATTTCACACCGCATATGGTGCACTCTCAGTACAATCTGCTCTGATGCCGCATAGTTAAGCCAGTATACACTCCGCTATCGCTACGTGACTGGGTCATGGCTGCGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGAGGCAGCTGCGGTAAAGCTCATCAGCGTGGTCGTGAAGCGATTCACAGATGTCTGCCTGTTCATCCGCGTCCAGCTCGTTGAGTTTCTCCAGAAGCGTTAATGTCTGGCTTCTGATAAAGCGGGCCATGTTAAGGGCGGTTTTTTCCTGTTTGGTCACTGATGCCTCCGTGTAAGGGGGATTTCTGTTCATGGGGGTAATGATACCGATGAAACGAGAGAGGATGCTCACGATACGGGTTACTGATGATGAACATGCCCGGTTACTGGAACGTTGTGAGGGTAAACAACTGGCGGTATGGATGCGGCGGGACCAGAGAAAAATCACTCAGGGTCAATGCCAGCGCTTCGTTAATACAGATGTAGGTGTTCCACAGGGTAGCCAGCAGCATCCTGCGATGCAGATCCGGAACATAATGGTGCAGGGCGCTGACTTCCGCGTTTCCAGACTTTACGAAACACGGAAACCGAAGACCATTCATGTTGTTGCTCAGGTCGCAGACGTTTTGCAGCAGCAGTCGCTTCACGTTCGCTCGCGTATCGGTGATTCATTCTGCTAACCAGTAAGGCAACCCCGCCAGCCTAGCCGGGTCCTCAACGACAGGAGCACGATCATGCGCACCCGTGGCCAGGACCCAACGCTGCCCGAGATGCGCCGCGTGCGGCTGCTGGAGATGGCGGACGCGATGGATATGTTCTGCCAAGGGTTGGTTTGCGCATTCACAGTTCTCCGCAAGAATTGATTGGCTCCAATTCTTGGAGTGGTGAATCCGTTAGCGAGGTGCCGCCGGCTTCCATTCAGGTCGAGGTGGCCCGGCTCCATGCACCGCGACGCAACGCGGGGAGGCAGACAAGGTATAGGGCGGCGCCTACAATCCATGCCAACCCGTTCCATGTGCTCGCCGAGGCGGCATAAATCGCCGTGACGATCAGCGGTCCAGTGATCGAAGTTAGGCTGGTAAGAGCCGCGAGCGATCCTTGAAGCTGTCCCTGATGGTCGTCATCTACCTGCCTGGACAGCATGGCCTGCAACGCGGGCATCCCGATGCCGCCGGAAGCGAGAAGAATCATAATGGGGAAGGCCATCCAGCCTCGCGTCGCGAACGCCAGCAAGACGTAGCCCAGCGCGTCGGCCGCCATGCCGGCGATAATGGCCTGCTTCTCGCCGAAACGTTTGGTGGCGGGACCAGTGACGAAGGCTTGAGCGAGGGCGTGCAAGATTCCGAATACCGCAAGCGACAGGCCGATCATCGTCGCGCTCCAGCGAAAGCGGTCCTCGCCGAAAATGACCCAGAGCGCTGCCGGCACCTGTCCTACGAGTTGCATGATAAAGAAGACAGTCATAAGTGCGGCGACGATAGTCATGCCCCGCGCCCACCGGAAGGAGCTGACTGGGTTGAAGGCTCTCAAGGGCATCGGTCGACGCTCTCCCTTATGCGACTCCTGCATTAGGAAGCAGCCCAGTAGTAGGTTGAGGCCGTTGAGCACCGCCGCCGCAAGGAATGGTGCATGCAAGGAGATGGCGCCCAACAGTCCCCCGGCCACGGGGCCTGCCACCATACCCACGCCGAAACAAGCGCTCATGAGCCCGAAGTGGCGAGCCCGATCTTCCCCATCGGTGATGTCGGCGATATAGGCGCCAGCAACCGCACCTGTGGCGCCGGTGATGCCGGCCACGATGCGTCCGGCGTAGAGGATCCACAGGACGGGTGTGGTCGCCATGATCGCGTAGTCGATAGTGGCTCCAAGTAGCGAAGCGAGCAGGACTGGGCGGCGGCCAAAGCGGTCGGACAGTGCTCCGAGAACGGGTGCGCATAGAAATTGCATCAACGCATATAGCGCTAGCAGCACGCCATAGTGACTGGCGATGCTGTCGGAATGGACGATATCCCGCAAGAGGCCCGGCAGTACCGGCATAACCAAGCCTATGCCTACAGCATCCAGGGTGACGGTGCCGAGGATGACGATGAGCGCATTGTTAGATTTCATACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACCGCATTAAAGCTTATCGATGATAAGCTGTCAAACATGAGAATT",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4357,
      "bottomAfter": 4361,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TGAGAATTCTTG",
       "bottom3to5": "ACTCTTAAGAAC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTGAAGACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTGTTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGCAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCTGATGCGGTATTTTCTCCTTACGCATCTGTGCGGTATTTCACACCGCATATGGTGCACTCTCAGTACAATCTGCTCTGATGCCGCATAGTTAAGCCAGTATACACTCCGCTATCGCTACGTGACTGGGTCATGGCTGCGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGAGGCAGCTGCGGTAAAGCTCATCAGCGTGGTCGTGAAGCGATTCACAGATGTCTGCCTGTTCATCCGCGTCCAGCTCGTTGAGTTTCTCCAGAAGCGTTAATGTCTGGCTTCTGATAAAGCGGGCCATGTTAAGGGCGGTTTTTTCCTGTTTGGTCACTGATGCCTCCGTGTAAGGGGGATTTCTGTTCATGGGGGTAATGATACCGATGAAACGAGAGAGGATGCTCACGATACGGGTTACTGATGATGAACATGCCCGGTTACTGGAACGTTGTGAGGGTAAACAACTGGCGGTATGGATGCGGCGGGACCAGAGAAAAATCACTCAGGGTCAATGCCAGCGCTTCGTTAATACAGATGTAGGTGTTCCACAGGGTAGCCAGCAGCATCCTGCGATGCAGATCCGGAACATAATGGTGCAGGGCGCTGACTTCCGCGTTTCCAGACTTTACGAAACACGGAAACCGAAGACCATTCATGTTGTTGCTCAGGTCGCAGACGTTTTGCAGCAGCAGTCGCTTCACGTTCGCTCGCGTATCGGTGATTCATTCTGCTAACCAGTAAGGCAACCCCGCCAGCCTAGCCGGGTCCTCAACGACAGGAGCACGATCATGCGCACCCGTGGCCAGGACCCAACGCTGCCCGAGATGCGCCGCGTGCGGCTGCTGGAGATGGCGGACGCGATGGATATGTTCTGCCAAGGGTTGGTTTGCGCATTCACAGTTCTCCGCAAGAATTGATTGGCTCCAATTCTTGGAGTGGTGAATCCGTTAGCGAGGTGCCGCCGGCTTCCATTCAGGTCGAGGTGGCCCGGCTCCATGCACCGCGACGCAACGCGGGGAGGCAGACAAGGTATAGGGCGGCGCCTACAATCCATGCCAACCCGTTCCATGTGCTCGCCGAGGCGGCATAAATCGCCGTGACGATCAGCGGTCCAGTGATCGAAGTTAGGCTGGTAAGAGCCGCGAGCGATCCTTGAAGCTGTCCCTGATGGTCGTCATCTACCTGCCTGGACAGCATGGCCTGCAACGCGGGCATCCCGATGCCGCCGGAAGCGAGAAGAATCATAATGGGGAAGGCCATCCAGCCTCGCGTCGCGAACGCCAGCAAGACGTAGCCCAGCGCGTCGGCCGCCATGCCGGCGATAATGGCCTGCTTCTCGCCGAAACGTTTGGTGGCGGGACCAGTGACGAAGGCTTGAGCGAGGGCGTGCAAGATTCCGAATACCGCAAGCGACAGGCCGATCATCGTCGCGCTCCAGCGAAAGCGGTCCTCGCCGAAAATGACCCAGAGCGCTGCCGGCACCTGTCCTACGAGTTGCATGATAAAGAAGACAGTCATAAGTGCGGCGACGATAGTCATGCCCCGCGCCCACCGGAAGGAGCTGACTGGGTTGAAGGCTCTCAAGGGCATCGGTCGACGCTCTCCCTTATGCGACTCCTGCATTAGGAAGCAGCCCAGTAGTAGGTTGAGGCCGTTGAGCACCGCCGCCGCAAGGAATGGTGCATGCAAGGAGATGGCGCCCAACAGTCCCCCGGCCACGGGGCCTGCCACCATACCCACGCCGAAACAAGCGCTCATGAGCCCGAAGTGGCGAGCCCGATCTTCCCCATCGGTGATGTCGGCGATATAGGCGCCAGCAACCGCACCTGTGGCGCCGGTGATGCCGGCCACGATGCGTCCGGCGTAGAGGATCCACAGGACGGGTGTGGTCGCCATGATCGCGTAGTCGATAGTGGCTCCAAGTAGCGAAGCGAGCAGGACTGGGCGGCGGCCAAAGCGGTCGGACAGTGCTCCGAGAACGGGTGCGCATAGAAATTGCATCAACGCATATAGCGCTAGCAGCACGCCATAGTGACTGGCGATGCTGTCGGAATGGACGATATCCCGCAAGAGGCCCGGCAGTACCGGCATAACCAAGCCTATGCCTACAGCATCCAGGGTGACGGTGCCGAGGATGACGATGAGCGCATTGTTAGATTTCATACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACCGCATTAAAGCTTATCGATGATAAGCTGTCAAACATGAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 4361
   }
  },
  {
   "id": "ecori-longer-than-half-circle-rotate0-+",
   "seed": "ecori-longer-than-half-circle",
   "rotation": 0,
   "strand": "+",
   "sequence": "GAATTC",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 1,
      "bottomAfter": 5,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TTCGAATTCGAA",
       "bottom3to5": "AAGCTTAAGCTT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 6
   }
  },
  {
   "id": "ecori-longer-than-half-circle-rotate0--",
   "seed": "ecori-longer-than-half-circle",
   "rotation": 0,
   "strand": "-",
   "sequence": "GAATTC",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 1,
      "bottomAfter": 5,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TTCGAATTCGAA",
       "bottom3to5": "AAGCTTAAGCTT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 6
   }
  },
  {
   "id": "ecori-longer-than-half-circle-rotate1-+",
   "seed": "ecori-longer-than-half-circle",
   "rotation": 1,
   "strand": "+",
   "sequence": "AATTCG",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 6,
      "bottomAfter": 4,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TTCGAATTCGAA",
       "bottom3to5": "AAGCTTAAGCTT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 6
   }
  },
  {
   "id": "ecori-longer-than-half-circle-rotate1--",
   "seed": "ecori-longer-than-half-circle",
   "rotation": 1,
   "strand": "-",
   "sequence": "CGAATT",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 2,
      "bottomAfter": 6,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TTCGAATTCGAA",
       "bottom3to5": "AAGCTTAAGCTT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 6
   }
  },
  {
   "id": "ecori-longer-than-half-circle-rotate3-+",
   "seed": "ecori-longer-than-half-circle",
   "rotation": 3,
   "strand": "+",
   "sequence": "TTCGAA",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TTCGAATTCGAA",
       "bottom3to5": "AAGCTTAAGCTT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 6
   }
  },
  {
   "id": "ecori-longer-than-half-circle-rotate3--",
   "seed": "ecori-longer-than-half-circle",
   "rotation": 3,
   "strand": "-",
   "sequence": "TTCGAA",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 4,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TTCGAATTCGAA",
       "bottom3to5": "AAGCTTAAGCTT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 6
   }
  },
  {
   "id": "kpni-three-prime-rotate0-+",
   "seed": "kpni-three-prime",
   "rotation": 0,
   "strand": "+",
   "sequence": "GGTACCTTTACGACTG",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 5,
      "bottomAfter": 1,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "CTGGGTACCTTT",
       "bottom3to5": "GACCCATGGAAA",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTTACGACTGG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "kpni-three-prime-rotate0--",
   "seed": "kpni-three-prime",
   "rotation": 0,
   "strand": "-",
   "sequence": "CAGTCGTAAAGGTACC",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 15,
      "bottomAfter": 11,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "AAAGGTACCCAG",
       "bottom3to5": "TTTCCATGGGTC",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCAGTCGTAAAG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "kpni-three-prime-rotate1-+",
   "seed": "kpni-three-prime",
   "rotation": 1,
   "strand": "+",
   "sequence": "GTACCTTTACGACTGG",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 4,
      "bottomAfter": 16,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "CTGGGTACCTTT",
       "bottom3to5": "GACCCATGGAAA",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTTACGACTGG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "kpni-three-prime-rotate1--",
   "seed": "kpni-three-prime",
   "rotation": 1,
   "strand": "-",
   "sequence": "CCAGTCGTAAAGGTAC",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 16,
      "bottomAfter": 12,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "AAAGGTACCCAG",
       "bottom3to5": "TTTCCATGGGTC",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCAGTCGTAAAG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "kpni-three-prime-rotate5-+",
   "seed": "kpni-three-prime",
   "rotation": 5,
   "strand": "+",
   "sequence": "CTTTACGACTGGGTAC",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 16,
      "bottomAfter": 12,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "CTGGGTACCTTT",
       "bottom3to5": "GACCCATGGAAA",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTTACGACTGG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "kpni-three-prime-rotate5--",
   "seed": "kpni-three-prime",
   "rotation": 5,
   "strand": "-",
   "sequence": "GTACCCAGTCGTAAAG",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 4,
      "bottomAfter": 16,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "AAAGGTACCCAG",
       "bottom3to5": "TTTCCATGGGTC",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCAGTCGTAAAG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "kpni-three-prime-rotate7-+",
   "seed": "kpni-three-prime",
   "rotation": 7,
   "strand": "+",
   "sequence": "TTACGACTGGGTACCT",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 14,
      "bottomAfter": 10,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "CTGGGTACCTTT",
       "bottom3to5": "GACCCATGGAAA",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTTACGACTGG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "kpni-three-prime-rotate7--",
   "seed": "kpni-three-prime",
   "rotation": 7,
   "strand": "-",
   "sequence": "AGGTACCCAGTCGTAA",
   "circular": true,
   "enzyme": "KpnI",
   "expected": {
    "cuts": [
     {
      "enzyme": "KpnI",
      "topAfter": 6,
      "bottomAfter": 2,
      "strandOffset": -4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "top"
       },
       "rightFragmentLeft": {
        "polarity": "3'",
        "seq": "GTAC",
        "protruding": "bottom"
       }
      },
      "drawing": {
       "top": "AAAGGTACCCAG",
       "bottom3to5": "TTTCCATGGGTC",
       "topCutIndex": 8,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCAGTCGTAAAG",
      "left": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "bottom"
      },
      "right": {
       "polarity": "3'",
       "seq": "GTAC",
       "protruding": "top"
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate0-+",
   "seed": "smai-blunt",
   "rotation": 0,
   "strand": "+",
   "sequence": "CCCGGGTTTACGACTG",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 3,
      "bottomAfter": 3,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "GCCCGGGT",
       "bottom3to5": "CGGGCCCA",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGTTTACGACTGCCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate0--",
   "seed": "smai-blunt",
   "rotation": 0,
   "strand": "-",
   "sequence": "CAGTCGTAAACCCGGG",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 13,
      "bottomAfter": 13,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "ACCCGGGC",
       "bottom3to5": "TGGGCCCG",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGCAGTCGTAAACCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate1-+",
   "seed": "smai-blunt",
   "rotation": 1,
   "strand": "+",
   "sequence": "CCGGGTTTACGACTGC",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 2,
      "bottomAfter": 2,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "GCCCGGGT",
       "bottom3to5": "CGGGCCCA",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGTTTACGACTGCCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate1--",
   "seed": "smai-blunt",
   "rotation": 1,
   "strand": "-",
   "sequence": "GCAGTCGTAAACCCGG",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 14,
      "bottomAfter": 14,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "ACCCGGGC",
       "bottom3to5": "TGGGCCCG",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGCAGTCGTAAACCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate3-+",
   "seed": "smai-blunt",
   "rotation": 3,
   "strand": "+",
   "sequence": "GGGTTTACGACTGCCC",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 16,
      "bottomAfter": 16,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "GCCCGGGT",
       "bottom3to5": "CGGGCCCA",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGTTTACGACTGCCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate3--",
   "seed": "smai-blunt",
   "rotation": 3,
   "strand": "-",
   "sequence": "GGGCAGTCGTAAACCC",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 16,
      "bottomAfter": 16,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "ACCCGGGC",
       "bottom3to5": "TGGGCCCG",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGCAGTCGTAAACCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate5-+",
   "seed": "smai-blunt",
   "rotation": 5,
   "strand": "+",
   "sequence": "GTTTACGACTGCCCGG",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 14,
      "bottomAfter": 14,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "GCCCGGGT",
       "bottom3to5": "CGGGCCCA",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGTTTACGACTGCCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "smai-blunt-rotate5--",
   "seed": "smai-blunt",
   "rotation": 5,
   "strand": "-",
   "sequence": "CCGGGCAGTCGTAAAC",
   "circular": true,
   "enzyme": "SmaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "SmaI",
      "topAfter": 2,
      "bottomAfter": 2,
      "strandOffset": 0,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       },
       "rightFragmentLeft": {
        "polarity": "blunt",
        "seq": "",
        "protruding": null
       }
      },
      "drawing": {
       "top": "ACCCGGGC",
       "bottom3to5": "TGGGCCCG",
       "topCutIndex": 4,
       "bottomCutIndex": 4
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "GGGCAGTCGTAAACCC",
      "left": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      },
      "right": {
       "polarity": "blunt",
       "seq": "",
       "protruding": null
      }
     }
    ],
    "length": 16
   }
  },
  {
   "id": "bsai-forward-rotate0-+",
   "seed": "bsai-forward",
   "rotation": 0,
   "strand": "+",
   "sequence": "GGTCTCTAATGCCCCATACGT",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 7,
      "bottomAfter": 11,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAATGCCCC",
       "bottom3to5": "GAGATTACGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTGGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsai-forward-rotate0--",
   "seed": "bsai-forward",
   "rotation": 0,
   "strand": "-",
   "sequence": "ACGTATGGGGCATTAGAGACC",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 10,
      "bottomAfter": 14,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGCATTAGAG",
       "bottom3to5": "CCCCGTAATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACCACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsai-forward-rotate1-+",
   "seed": "bsai-forward",
   "rotation": 1,
   "strand": "+",
   "sequence": "GTCTCTAATGCCCCATACGTG",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 6,
      "bottomAfter": 10,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAATGCCCC",
       "bottom3to5": "GAGATTACGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTGGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsai-forward-rotate1--",
   "seed": "bsai-forward",
   "rotation": 1,
   "strand": "-",
   "sequence": "CACGTATGGGGCATTAGAGAC",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 11,
      "bottomAfter": 15,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGCATTAGAG",
       "bottom3to5": "CCCCGTAATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACCACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsai-forward-rotate7-+",
   "seed": "bsai-forward",
   "rotation": 7,
   "strand": "+",
   "sequence": "AATGCCCCATACGTGGTCTCT",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 21,
      "bottomAfter": 4,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAATGCCCC",
       "bottom3to5": "GAGATTACGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTGGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsai-forward-rotate7--",
   "seed": "bsai-forward",
   "rotation": 7,
   "strand": "-",
   "sequence": "AGAGACCACGTATGGGGCATT",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 17,
      "bottomAfter": 21,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGCATTAGAG",
       "bottom3to5": "CCCCGTAATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACCACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsai-forward-rotate9-+",
   "seed": "bsai-forward",
   "rotation": 9,
   "strand": "+",
   "sequence": "TGCCCCATACGTGGTCTCTAA",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 19,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAATGCCCC",
       "bottom3to5": "GAGATTACGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTGGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsai-forward-rotate9--",
   "seed": "bsai-forward",
   "rotation": 9,
   "strand": "-",
   "sequence": "TTAGAGACCACGTATGGGGCA",
   "circular": true,
   "enzyme": "BsaI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsaI",
      "topAfter": 19,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATG",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "CATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGCATTAGAG",
       "bottom3to5": "CCCCGTAATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACCACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "CATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATG",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate0-+",
   "seed": "bsmbi-forward",
   "rotation": 0,
   "strand": "+",
   "sequence": "CGTCTCTAGGACCCCATACGT",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 7,
      "bottomAfter": 11,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAGGACCCC",
       "bottom3to5": "GAGATCCTGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTCGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate0--",
   "seed": "bsmbi-forward",
   "rotation": 0,
   "strand": "-",
   "sequence": "ACGTATGGGGTCCTAGAGACG",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 10,
      "bottomAfter": 14,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGTCCTAGAG",
       "bottom3to5": "CCCCAGGATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACGACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate1-+",
   "seed": "bsmbi-forward",
   "rotation": 1,
   "strand": "+",
   "sequence": "GTCTCTAGGACCCCATACGTC",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 6,
      "bottomAfter": 10,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAGGACCCC",
       "bottom3to5": "GAGATCCTGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTCGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate1--",
   "seed": "bsmbi-forward",
   "rotation": 1,
   "strand": "-",
   "sequence": "GACGTATGGGGTCCTAGAGAC",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 11,
      "bottomAfter": 15,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGTCCTAGAG",
       "bottom3to5": "CCCCAGGATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACGACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate7-+",
   "seed": "bsmbi-forward",
   "rotation": 7,
   "strand": "+",
   "sequence": "AGGACCCCATACGTCGTCTCT",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 21,
      "bottomAfter": 4,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAGGACCCC",
       "bottom3to5": "GAGATCCTGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTCGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate7--",
   "seed": "bsmbi-forward",
   "rotation": 7,
   "strand": "-",
   "sequence": "AGAGACGACGTATGGGGTCCT",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 17,
      "bottomAfter": 21,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGTCCTAGAG",
       "bottom3to5": "CCCCAGGATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACGACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate9-+",
   "seed": "bsmbi-forward",
   "rotation": 9,
   "strand": "+",
   "sequence": "GACCCCATACGTCGTCTCTAG",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 19,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTCTAGGACCCC",
       "bottom3to5": "GAGATCCTGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATACGTCGTCTCT",
      "left": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "bsmbi-forward-rotate9--",
   "seed": "bsmbi-forward",
   "rotation": 9,
   "strand": "-",
   "sequence": "CTAGAGACGACGTATGGGGTC",
   "circular": true,
   "enzyme": "BsmBI",
   "expected": {
    "cuts": [
     {
      "enzyme": "BsmBI",
      "topAfter": 19,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "-",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AGGA",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "TCCT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGTCCTAGAG",
       "bottom3to5": "CCCCAGGATCTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "AGAGACGACGTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "TCCT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AGGA",
       "protruding": "bottom"
      }
     }
    ],
    "length": 21
   }
  },
  {
   "id": "ecori-multiple-rotate0-+",
   "seed": "ecori-multiple",
   "rotation": 0,
   "strand": "+",
   "sequence": "GAATTCTTTACGACTGGAATTCCCCATAG",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 1,
      "bottomAfter": 5,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TAGGAATTCTTT",
       "bottom3to5": "ATCCTTAAGAAA",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     },
     {
      "enzyme": "EcoRI",
      "topAfter": 17,
      "bottomAfter": 21,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTGGAATTCCCC",
       "bottom3to5": "GACCTTAAGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CTTTACGACTGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     },
     {
      "coreTop": "CCCCATAGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 29
   }
  },
  {
   "id": "ecori-multiple-rotate0--",
   "seed": "ecori-multiple",
   "rotation": 0,
   "strand": "-",
   "sequence": "CTATGGGGAATTCCAGTCGTAAAGAATTC",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 8,
      "bottomAfter": 12,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGAATTCCAG",
       "bottom3to5": "CCCCTTAAGGTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     },
     {
      "enzyme": "EcoRI",
      "topAfter": 24,
      "bottomAfter": 28,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "AAAGAATTCCTA",
       "bottom3to5": "TTTCTTAAGGAT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCAGTCGTAAAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     },
     {
      "coreTop": "CCTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 29
   }
  },
  {
   "id": "ecori-multiple-rotate1-+",
   "seed": "ecori-multiple",
   "rotation": 1,
   "strand": "+",
   "sequence": "AATTCTTTACGACTGGAATTCCCCATAGG",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 16,
      "bottomAfter": 20,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTGGAATTCCCC",
       "bottom3to5": "GACCTTAAGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     },
     {
      "enzyme": "EcoRI",
      "topAfter": 29,
      "bottomAfter": 4,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TAGGAATTCTTT",
       "bottom3to5": "ATCCTTAAGAAA",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATAGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     },
     {
      "coreTop": "CTTTACGACTGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 29
   }
  },
  {
   "id": "ecori-multiple-rotate1--",
   "seed": "ecori-multiple",
   "rotation": 1,
   "strand": "-",
   "sequence": "CCTATGGGGAATTCCAGTCGTAAAGAATT",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 9,
      "bottomAfter": 13,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGAATTCCAG",
       "bottom3to5": "CCCCTTAAGGTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     },
     {
      "enzyme": "EcoRI",
      "topAfter": 25,
      "bottomAfter": 29,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "AAAGAATTCCTA",
       "bottom3to5": "TTTCTTAAGGAT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCAGTCGTAAAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     },
     {
      "coreTop": "CCTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 29
   }
  },
  {
   "id": "ecori-multiple-rotate3-+",
   "seed": "ecori-multiple",
   "rotation": 3,
   "strand": "+",
   "sequence": "TTCTTTACGACTGGAATTCCCCATAGGAA",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 14,
      "bottomAfter": 18,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "CTGGAATTCCCC",
       "bottom3to5": "GACCTTAAGGGG",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     },
     {
      "enzyme": "EcoRI",
      "topAfter": 27,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "TAGGAATTCTTT",
       "bottom3to5": "ATCCTTAAGAAA",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCCCATAGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     },
     {
      "coreTop": "CTTTACGACTGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 29
   }
  },
  {
   "id": "ecori-multiple-rotate3--",
   "seed": "ecori-multiple",
   "rotation": 3,
   "strand": "-",
   "sequence": "TTCCTATGGGGAATTCCAGTCGTAAAGAA",
   "circular": true,
   "enzyme": "EcoRI",
   "expected": {
    "cuts": [
     {
      "enzyme": "EcoRI",
      "topAfter": 11,
      "bottomAfter": 15,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "GGGGAATTCCAG",
       "bottom3to5": "CCCCTTAAGGTC",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     },
     {
      "enzyme": "EcoRI",
      "topAfter": 27,
      "bottomAfter": 2,
      "strandOffset": 4,
      "strand": "+",
      "expected": {
       "leftFragmentRight": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "bottom"
       },
       "rightFragmentLeft": {
        "polarity": "5'",
        "seq": "AATT",
        "protruding": "top"
       }
      },
      "drawing": {
       "top": "AAAGAATTCCTA",
       "bottom3to5": "TTTCTTAAGGAT",
       "topCutIndex": 4,
       "bottomCutIndex": 8
      }
     }
    ],
    "fragments": [
     {
      "coreTop": "CCAGTCGTAAAG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     },
     {
      "coreTop": "CCTATGGGG",
      "left": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "top"
      },
      "right": {
       "polarity": "5'",
       "seq": "AATT",
       "protruding": "bottom"
      }
     }
    ],
    "length": 29
   }
  }
 ],
 "goldenGate": [
  {
   "id": "bsai-two-part-rotate0-+",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "GGGGGGAAAAATGCAGAGACCAAAAAAGGTCTCTTTCA",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AAGGTCTCTATGCTTTTTCCCCCACCTAGAGACCAA",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "AAGGTCTCTACCTAAGGTTACGTTTCAAGAGACCAA",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsai-two-part-rotate0--",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "TGAAAGAGACCTTTTTTGGTCTCTGCATTTTTCCCCCC",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTGGTCTCTAGGTGGGGGAAAAAGCATAGAGACCTT",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "TTGGTCTCTTGAAACGTAACCTTAGGTAGAGACCTT",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsai-two-part-rotate1-+",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "GGGGGAAAAATGCAGAGACCAAAAAAGGTCTCTTTCAG",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AAGGTCTCTATGCTTTTTCCCCCACCTAGAGACCAA",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "AAGGTCTCTACCTAAGGTTACGTTTCAAGAGACCAA",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsai-two-part-rotate1--",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "CTGAAAGAGACCTTTTTTGGTCTCTGCATTTTTCCCCC",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTGGTCTCTAGGTGGGGGAAAAAGCATAGAGACCTT",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "TTGGTCTCTTGAAACGTAACCTTAGGTAGAGACCTT",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsai-two-part-rotate12-+",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "GCAGAGACCAAAAAAGGTCTCTTTCAGGGGGGAAAAAT",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AAGGTCTCTATGCTTTTTCCCCCACCTAGAGACCAA",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "AAGGTCTCTACCTAAGGTTACGTTTCAAGAGACCAA",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsai-two-part-rotate12--",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "ATTTTTCCCCCCTGAAAGAGACCTTTTTTGGTCTCTGC",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTGGTCTCTAGGTGGGGGAAAAAGCATAGAGACCTT",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "TTGGTCTCTTGAAACGTAACCTTAGGTAGAGACCTT",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsai-two-part-rotate36-+",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "CAGGGGGGAAAAATGCAGAGACCAAAAAAGGTCTCTTT",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AAGGTCTCTATGCTTTTTCCCCCACCTAGAGACCAA",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "AAGGTCTCTACCTAAGGTTACGTTTCAAGAGACCAA",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsai-two-part-rotate36--",
   "enzyme": "BsaI",
   "vector": {
    "sequence": "AAAGAGACCTTTTTTGGTCTCTGCATTTTTCCCCCCTG",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTGGTCTCTAGGTGGGGGAAAAAGCATAGAGACCTT",
     "circular": false,
     "name": "part 1"
    },
    {
     "sequence": "TTGGTCTCTTGAAACGTAACCTTAGGTAGAGACCTT",
     "circular": false,
     "name": "part 2"
    }
   ],
   "product": "GGGGGGAAAAATGCTTTTTCCCCCACCTAAGGTTACGTTTCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate0-+",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "CCCCCCGGGGAGGAAGAGACGAAAAAACGTCTCTTCCA",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AACGTCTCTAGGAATATGCGCATTCCAAGAGACGAA",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate0--",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "TGGAAGAGACGTTTTTTCGTCTCTTCCTCCCCGGGGGG",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTCGTCTCTTGGAATGCGCATATTCCTAGAGACGTT",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate1-+",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "CCCCCGGGGAGGAAGAGACGAAAAAACGTCTCTTCCAC",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AACGTCTCTAGGAATATGCGCATTCCAAGAGACGAA",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate1--",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "GTGGAAGAGACGTTTTTTCGTCTCTTCCTCCCCGGGGG",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTCGTCTCTTGGAATGCGCATATTCCTAGAGACGTT",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate12-+",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "GAAGAGACGAAAAAACGTCTCTTCCACCCCCCGGGGAG",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AACGTCTCTAGGAATATGCGCATTCCAAGAGACGAA",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate12--",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "CTCCCCGGGGGGTGGAAGAGACGTTTTTTCGTCTCTTC",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTCGTCTCTTGGAATGCGCATATTCCTAGAGACGTT",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate36-+",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "CACCCCCCGGGGAGGAAGAGACGAAAAAACGTCTCTTC",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "AACGTCTCTAGGAATATGCGCATTCCAAGAGACGAA",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  },
  {
   "id": "bsmbi-one-part-rotate36--",
   "enzyme": "BsmBI",
   "vector": {
    "sequence": "GAAGAGACGTTTTTTCGTCTCTTCCTCCCCGGGGGGTG",
    "circular": true,
    "name": "destination"
   },
   "parts": [
    {
     "sequence": "TTCGTCTCTTGGAATGCGCATATTCCTAGAGACGTT",
     "circular": false,
     "name": "insert"
    }
   ],
   "product": "CCCCCCGGGGAGGAATATGCGCATTCCA",
   "note": "Hand-authored scarless seed product, unchanged up to circular rotation and strand. All inputs are the same physical molecules."
  }
 ],
 "refusals": [
  {
   "id": "overlapping-bsai-cleavage-intervals",
   "sequence": "GGTCTCAAAAAAAAGAGACCCCCC",
   "circular": true,
   "enzyme": "BsaI",
   "reason": "overlapping-cuts",
   "note": "Top cuts after 7 and 9, bottom cuts after 11 and 13: the staggered cleavage intervals overlap by two bases. A nonnegative paired-core fragment model cannot represent both cuts; refuse rather than wrap a negative core."
  }
 ]
}
