Skip to content

Instantly share code, notes, and snippets.

@100ideas
Last active October 8, 2016 09:56
Show Gist options
  • Save 100ideas/ac4d39e1fd10824459a941e4c653f8b9 to your computer and use it in GitHub Desktop.
Save 100ideas/ac4d39e1fd10824459a941e4c653f8b9 to your computer and use it in GitHub Desktop.

see the output of the notebook here: http://nbviewer.jupyter.org/gist/100ideas/ac4d39e1fd10824459a941e4c653f8b9/coral-d3-plasmid.ipynb

sources:

process:

  • spend way too long figuring out undocumented config problems with "official" coral dockerhub image
    • (dockerfile is missing; docker image 'cmd' doesn't launch jupyter automatically; coral is out of date; not configured to allow connections except localhost; bleh. just make a new dockerfile next time)
  • clone klavinslab/coral for tutorial files local to jupyter
  • run local jupyter notebook (python 2.7 kernel)
       python2 -m ipykernel install
       -m pip install ipykernel --upgrade
    
  • commands as below
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import coral as cor"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"pKL278 = cor.seqio.read_dna('files_for_tutorial/maps/pMODKan-HO-pACT1GEV.ape')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div id=sequence_fea2d504-8d3c-11e6-9d4e-0242ac110002></div>\n",
" <script>\n",
" require(['//d3js.org/d3.v3.min.js'], function(lib) {\n",
" window.data = {\"features\": [{\"color\": [\"#96bbff\"], \"start\": 28, \"stop\": 51, \"name\": \"pGEX_3_primer\", \"type\": \"misc_feature\"}, {\"color\": [\"#0064ff\"], \"start\": 132, \"stop\": 154, \"name\": \"pMOD_t1pre\", \"type\": \"misc_feature\"}, {\"color\": [\"#ff0000\"], \"start\": 154, \"stop\": 162, \"name\": \"PmeI(1)\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 162, \"stop\": 725, \"name\": \"HO Targeting 1\", \"type\": \"misc_feature\"}, {\"color\": [\"#0071ff\"], \"start\": 725, \"stop\": 755, \"name\": \"pMOD_t1suf\", \"type\": \"misc_feature\"}, {\"color\": [\"#edd079\"], \"start\": 755, \"stop\": 1152, \"name\": \"KANMX Wach et al 1994 (genome del. project)\", \"type\": \"misc_feature\"}, {\"color\": [\"#acb1ff\"], \"start\": 1152, \"stop\": 1962, \"name\": \"KanMX CDS\", \"type\": \"misc_feature\"}, {\"color\": [\"#e9c021\"], \"start\": 1962, \"stop\": 2200, \"name\": \"KanMX terminator\", \"type\": \"misc_feature\"}, {\"color\": [\"#1ed628\"], \"start\": 2200, \"stop\": 2224, \"name\": \"M13 Forward (-47) primer\", \"type\": \"primer_bind\"}, {\"color\": [\"#f6ff39\"], \"start\": 2224, \"stop\": 2885, \"name\": \"pACT1\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 2921, \"stop\": 2932, \"name\": \"Extra sequence not found in Gottschling map\", \"type\": \"misc_feature\"}, {\"color\": [\"#00ff29\"], \"start\": 2940, \"stop\": 3218, \"name\": \"GAL4(1-93) DBD\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 3218, \"stop\": 3219, \"name\": \"Differs from Gottschling map (backbone)\", \"type\": \"misc_feature\"}, {\"color\": [\"#6c59ff\"], \"start\": 3255, \"stop\": 4140, \"name\": \"hER HBD\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 4140, \"stop\": 4344, \"name\": \"HSV1 VP16\", \"type\": \"misc_feature\"}, {\"color\": [\"#ff4638\"], \"start\": 4235, \"stop\": 4236, \"name\": \"Differs from Gottschling Map\", \"type\": \"misc_feature\"}, {\"color\": [\"#d0410e\"], \"start\": 4344, \"stop\": 4347, \"name\": \"stop codon\", \"type\": \"misc_feature\"}, {\"color\": [\"#40ff40\"], \"start\": 4347, \"stop\": 4377, \"name\": \"L2\", \"type\": \"misc_feature\"}, {\"color\": [\"#eb66ff\"], \"start\": 4377, \"stop\": 4399, \"name\": \"T + pBluescript KS linker\", \"type\": \"misc_feature\"}, {\"color\": [\"#59c0cb\"], \"start\": 4403, \"stop\": 4643, \"name\": \"CYC1\", \"type\": \"terminator\"}, {\"color\": [\"#6cc0cb\"], \"start\": 4412, \"stop\": 4431, \"name\": \"pYESTrp_rev primer\", \"type\": \"primer_bind\"}, {\"color\": [\"#6cc0cb\"], \"start\": 4643, \"stop\": 4665, \"name\": \"T7 EEV primer\", \"type\": \"primer_bind\"}, {\"color\": [\"cyan\"], \"start\": 4665, \"stop\": 5571, \"name\": \"upstream HO targeting\", \"type\": \"misc_feature\"}, {\"color\": [\"#96bbff\"], \"start\": 5571, \"stop\": 5579, \"name\": \"PmeI\", \"type\": \"misc_feature\"}, {\"color\": [\"#ff0000\"], \"start\": 5571, \"stop\": 5579, \"name\": \"PmeI site\", \"type\": \"misc_feature\"}, {\"color\": [\"#00ff00\"], \"start\": 5579, \"stop\": 5619, \"name\": \"M13R\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 5804, \"stop\": 5889, \"name\": \"origin-extended\", \"type\": \"misc_feature\"}, {\"color\": [\"#f1de49\"], \"start\": 5889, \"stop\": 6744, \"name\": \"ori\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 6426, \"stop\": 6427, \"name\": \"is a g in normal maps.\", \"type\": \"misc_feature\"}, {\"color\": [\"#fcabe4\"], \"start\": 6744, \"stop\": 7605, \"name\": \"bla\", \"type\": \"misc_feature\"}, {\"color\": [\"#f96061\"], \"start\": 7605, \"stop\": 7684, \"name\": \"AmpR promoter\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 7684, \"stop\": 7704, \"name\": \"New Feature\", \"type\": \"misc_feature\"}], \"bottom\": \"GACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTTCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGGTTTAAACAATTATCCTGGGCACGAGTGAAACAAAGCTAAAACCTTTATTTAGCATGGCCATTGAATGTAACAATTATATATATCGCAAGCACAAAAAATCAAGGAGAGAGAACTACCACTTTGTTCATGTGTACAATGTTCATTATCTCCATAAGCAAAAAAAAAAAATAGAAAACATATGCTATAAGGTTGATATTCTCACGAGTAAGCGGCACTTGCTACTTATTGACATTGCAGATTTTTGGCTACAGAAATAGTATATTAGAGATTATAATTGCTAATCAAATCAAAATATAAAATTAGTAAACCAAACCATTTATACCCTTCCTTAGTAGTTATGGATTGTTTTTTAATGATATTTCTGCAAACCAAAGAAAGATTGTTATCCAGATAGAATTTAGTTTTGATATTCATTTTTTTGTTGAAGATTGAACGCCATATCTGGGCCTCATAATTCAAAAGACGGTGCCATTATCGGTAGCGTTTCGCATTGTACTGGATTTCAGAAATTTCACAGTTGATGAATCGAAAAGAATGGTCTCATTGCAACACGTAAGGTTAAGATGTCCCTTTTTACCATTATAGGCAATAAATGAATCATAAAACGACCGTATACTGGTGAAATAGTAGGGAGAACGAGTACCTGTAGTAAAAAGTATAAATCATAGTTAATCGGGCAATGTCCCTCGATCAAGGAGTATTGTGTCATGTTCGAGACAAACGCCAACATTTTTGTTTCTTTTGGACAAATGTTGTTTGCATTTATGATCCGTTATATTTTGATCTAATGTAGAGTTGCACGTAGTTCTTACTGGCAAAGAAATCGATGCATACCAAAAAAGAATAAAGGTGATATTTGATCTTTACCGTTTAGTTCCAACGTAAAATTGTGCCTTTGGACTTAAAATGGCGTCGGGGCGGGGTTATTACGACATCAAATTAAAGCCTTCGAGCGTCCCAAAACCTTCTCAAGCAAGGTTTTCAGTATAATGTTACATGCGTACACGCGTCTGTACAGAAAAAAAAGAAAAATTTGAAATATAAATAACGTTCTTAATACTAACATAACTATAAAAAAATAAATAGGGACCTAGACTTCAGGTTGTCTAACTCCTTCCTTTTCGGTTAGAGCGGATGTGGGGGGAGGGCGTGAATGTAAGCGTGACATAACTAATTACATGACTCGAGGTCGACGGTATCAGGATCCGGATCCACTTCCGGAACCGGATCCCTACCCACCGTACTCGTCAATTCCAAGGGCATCGGTAAACATCTGCTCAAACTCGAAGTCGGCCATATCCAGAGCGCCGTAGGGGGCGGAGTCGTGGGGGGTAAATCCCGGACCCGGGGAATCCCCGTCCCCCAACATGTCCAGATCGAAATCGTCTAGCGCGTCGGCATGCGCCATCGCCACGTCCTCGCCGTCTAAGTGGAGCTCCGATGAAGTAGAGCCCGCAGTGGCCAAGTGGCTTTGGTCCGTCTCCTCCACGGATGCCCCTCCACGGCTAGTGGGCGCATGTAGGCGGTGGGCGTCCAGCATCTCCAGCAGCAGGTCATAGAGGGGCACCACGTTCTTGCACTTCATGCTGTACAGATGCTCCATGCCTTTGTTACTCATGTGCCTGATGTGGGAGAGGATGAGGAGGAGCTGGGCCAGCCGCTGGTGCTGCTGCTGCAGGGTCAGGCCTGCCTTGGCCATCAGGTGGATCAAAGTGTCTGTGATCTTGTCCAGGACTCGGTGGATATGGTCCTTCTCTTCCAGAGACTTCAGGGTGCTGGACAGAAATGTGTACACTCCAGAATTAAGCAAAATAATAGATTTGAGGCACACAAACTCCTCTCCCTGCAGATTCATCATGCGGAACCGAGATGATGTAGCCAGCAGCATGTCGAAGATCTCCACCATGCCCTCTACACATTTTCCCTGGTTCCTGTCCAAGAGCAAGTTAGGAGCAAACAGTAGCTTCACTGGGTGCTCCATGGAGCGCCAGACGAGACCAATCATCAGGATCTCTAGCCAGGCACATTCTAGAAGGTGGACCTGATCATGGAGGGTCAAATCCACAAAGCCTGGCACCCTCTTCGCCCAGTTGATCATGTGAACCAGCTCCCTGTCTGCCAGGTTGGTCAGTAAGCCCATCATCGAAGCTTCACTGAAGGGTCTGGTAGGATCATACTCGGAATAGAGTATGGGGGGCTCAGCATCCAACAAGGCACTGACCATCTGGTCGGCCGTCAGGGACAAGGCCAGGCTGTTCTTCTTAGAGCGTTTGATCATGAGCGGGCTTGGCCAAAGGTTGGCAGCTCTCATGTCTCCAGCAGATGGATCCTCTAGAGTCGACGCAGCTGCAGGGGTACCCAACAATGCTTTTATATCCTGTAAAGAATCCATTTTCAAAATCATGTCAAGGTCTTCTCGAGGAAAAATCAGTAGAAATAGCTGTTCCAGTCTTTCTAGCCTTGATTCCACTTCTGTCAGATGTGCCCTAGTCAGCGGAGACCTTTTGGTTTTGGGAGAGTAGCGACACTCCCAGTTGTTCTTCAGACACTTGGCGCACTTCGGTTTTTCTTTGGAGCACTTGAGCTTTTTAAGTCGGCAAATATCGCATGCTTGTTCGATAGAAGACAGTAGCTTCATCTTTCAGGAGGCTTGCTTCAAGCTTATCGATACCGTCGACCTCGAGGGGGGGCCCTGTTAATTCAGTAAATTTTCGATCTTGGGAAGAAAAAAGCAGTAAGCGTGAAAAATCTAAAAGCTGATGTAGTAGAAGATCCTATTCTTTAACAAAGATTGACCTTTTCTTTTTCTTCTTGGTTTGAGTAGAAAGGGGAAGGAAGAATACAAGAGAGAGGAAAAAAAGGAAGATAAAAAGAGAGCGTGATATAAATGAATATATATTAAACAAGAGAGATTGGGAAGGAAAGGATCAAACAAACCCAAAAATATTTCAAAAAGGAGAGAGAGAGGCGAGTTTGGTTTCAAAACGGTTTATTTATTTATGCAAGAGGACGTGGAAGAAAAAGAAGAAGGAAGAAAAAAATTTGAAAGAAAAAAACGCGTGGCGGGTAAAGAAGAAAATGGAAAATAGAGGCCGGGTGACAGAGAAATATTGAGGGTTAATTGGAAAATATGTTAGGGTGAGGCATATGTTTTTAAGGGTTTTGAGGATCCGATAAGGAAGAATGTAGGTTAAATGTTGTGCATTAATTGCTGTGGCAGCTTACCCGCTTCCCCACACATTTTGGTAGTATCTGTCCTCTTGTTATTGTTACTGTAATTGTGTATATATGTTCTCGCGTGTGTCTTATTTACTTATTTAGTTATTATATTATATGGGTCTGCAAGGTAGAGGCGTCGTGACTGGGAAAACCCTGGCGGACACTGGATGGCGGCGTTAGTATCGAATCGACAGCAGTATAGCGACCAGCATTCACATACGATTGACGCATGATATTACTTTCTGCGCACTTAACTTCGCATCTGGGCAGATGATGTCGAGGCGAAAAAAAATATAAATCACGCTAACATTTGATTAAAATAGAACAACTACAATATAAAAAAACTATACAAATGACAAGTTCTTGAAAACAAGAATCTTTTTATTGTCAGTACTGATTAGAAAAACTCATCGAGCATCAAATGAAACTGCAATTTATTCATATCAGGATTATCAATACCATATTTTTGAAAAAGCCGTTTCTGTAATGAAGGAGAAAACTCACCGAGGCAGTTCCATAGGATGGCAAGATCCTGGTATCGGTCTGCGATTCCGACTCGTCCAACATCAATACAACCTATTAATTTCCCCTCGTCAAAAATAAGGTTATCAAGTGAGAAATCACCATGAGTGACGACTGAATCCGGTGAGAATGGCAAAAGCTTATGCATTTCTTTCCAGACTTGTTCAACAGGCCAGCCATTACGCTCGTCATCAAAATCACTCGCATCAACCAAACCGTTATTCATTCGTGATTGCGCCTGAGCGAGACGAAATACGCGATCGCTGTTAAAAGGACAATTACAAACAGGAATCGAATGCAACCGGCGCAGGAACACTGCCAGCGCATCAACAATATTTTCACCTGAATCAGGATATTCTTCTAATATCTGGAATGCTGTTTTGCCGGGGATCGCAGTGGTGAGTAACCATGCATCATCAGGAGTACGGATAAAATGCTTGATGGTCGGAAGAGGCATAAATTCCGTCAGCCAGTTTAGTCTGACCATCTCATCTGTAACATCATTGGCAACGCTACCTTTGCCATGTTTCAGAAACAACTCTGGCGCATCGGGCTTCCCATACAATCGATAGATTGTCGCACCTGATTGCCCGACATTATCGCGAGCCCATTTATACCCATATAAATCAGCATCCATGTTGGAATTTAATCGCGGCCTCGAAACGTGAGTCTTTTCCTTACCCATGGTTGTTTATGTTCGGATGTGATGTGAGAACTGTATCCTAGCAAGATTTTAAAAGGAAGTATATGAAAGAAGAACCTCAGTGGCAAATCCTAACCTTTTATATTTCTCTACAGGGGCGCGGCGTGGGGACAATTCAACGCGTCTGTGAGGGGAGCGTTTCCCTGCTCGCAGGTCTGCAGCGAGGAGCCGTAATTTTTGCTTCGCGCCGTGCGGCCATCAAAATGTATGGATGCAAATGATTATACATGGGGATGTATGGGCTAAATGTACGGGCGACAGTCACATCATGCCCCTGAGCTGCGCACGTCAAGACTGTCAAGGAGGGTATTCTGGGCCCCCATGTCGCTGGCCGGGTGACCCGGCGGGGACGAGGCAAGCTAAACAGATCTGGCGCGCCGGTGCACTCTCAGTACAATCTGCTCTGATGCTGGGGGAACAACTTCACAGAATGTTTTGTCATATTGTCGAAGTGGTCACAAAACAAGAGAAGTTCCGCCAATTATAAAAAGGGAACCCGTATATTTCAGCTTCACGGATGATTTCCAGGGTGAGAGTACTGTATATGGGCTTACGATAGAAGGCCATAAAAATTTCTTGCTTGGCAACAAAATAGAAGTGAAATCATGTCGAGGCTGCTGTGTGGGAGAACAGCTTAAAATATCACAAAAAAAGAATCTAAAACACTGTGTTGCTTGTCCCAGAAAGGGAATCAAGTATTTTTATAAAGATTGGAGTGGTAAAAATCGAGTATGTGCTAGATGCTATGGAAGATACAAATTCAGCGGTCATCACTGTATAAATTGCAAGTATGTACCAGAAGCACGTGAAGTGAAAAAGGCAAAAGACAAAGGCGAAAAATTGGGCATTACGCCCGAAGGTTTGCCAGTTAAAGGACCAGAGTGTATAAAATGTGGCGGAATCTTACAGTTTGATGCTGTCCGCGGGCCTCATAAGAGTTGTGGTAACAACGCAGGTGCGCGCATCTGCTAAGTTTAAACGCCGCATAGTTAAGCCAGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGA\", \"material\": \"dna\", \"sequence\": \"TCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCTGGCTTAACTATGCGGCGTTTAAACTTAGCAGATGCGCGCACCTGCGTTGTTACCACAACTCTTATGAGGCCCGCGGACAGCATCAAACTGTAAGATTCCGCCACATTTTATACACTCTGGTCCTTTAACTGGCAAACCTTCGGGCGTAATGCCCAATTTTTCGCCTTTGTCTTTTGCCTTTTTCACTTCACGTGCTTCTGGTACATACTTGCAATTTATACAGTGATGACCGCTGAATTTGTATCTTCCATAGCATCTAGCACATACTCGATTTTTACCACTCCAATCTTTATAAAAATACTTGATTCCCTTTCTGGGACAAGCAACACAGTGTTTTAGATTCTTTTTTTGTGATATTTTAAGCTGTTCTCCCACACAGCAGCCTCGACATGATTTCACTTCTATTTTGTTGCCAAGCAAGAAATTTTTATGGCCTTCTATCGTAAGCCCATATACAGTACTCTCACCCTGGAAATCATCCGTGAAGCTGAAATATACGGGTTCCCTTTTTATAATTGGCGGAACTTCTCTTGTTTTGTGACCACTTCGACAATATGACAAAACATTCTGTGAAGTTGTTCCCCCAGCATCAGAGCAGATTGTACTGAGAGTGCACCGGCGCGCCAGATCTGTTTAGCTTGCCTCGTCCCCGCCGGGTCACCCGGCCAGCGACATGGGGGCCCAGAATACCCTCCTTGACAGTCTTGACGTGCGCAGCTCAGGGGCATGATGTGACTGTCGCCCGTACATTTAGCCCATACATCCCCATGTATAATCATTTGCATCCATACATTTTGATGGCCGCACGGCGCGAAGCAAAAATTACGGCTCCTCGCTGCAGACCTGCGAGCAGGGAAACGCTCCCCTCACAGACGCGTTGAATTGTCCCCACGCCGCGCCCCTGTAGAGAAATATAAAAGGTTAGGATTTGCCACTGAGGTTCTTCTTTCATATACTTCCTTTTAAAATCTTGCTAGGATACAGTTCTCACATCACATCCGAACATAAACAACCATGGGTAAGGAAAAGACTCACGTTTCGAGGCCGCGATTAAATTCCAACATGGATGCTGATTTATATGGGTATAAATGGGCTCGCGATAATGTCGGGCAATCAGGTGCGACAATCTATCGATTGTATGGGAAGCCCGATGCGCCAGAGTTGTTTCTGAAACATGGCAAAGGTAGCGTTGCCAATGATGTTACAGATGAGATGGTCAGACTAAACTGGCTGACGGAATTTATGCCTCTTCCGACCATCAAGCATTTTATCCGTACTCCTGATGATGCATGGTTACTCACCACTGCGATCCCCGGCAAAACAGCATTCCAGATATTAGAAGAATATCCTGATTCAGGTGAAAATATTGTTGATGCGCTGGCAGTGTTCCTGCGCCGGTTGCATTCGATTCCTGTTTGTAATTGTCCTTTTAACAGCGATCGCGTATTTCGTCTCGCTCAGGCGCAATCACGAATGAATAACGGTTTGGTTGATGCGAGTGATTTTGATGACGAGCGTAATGGCTGGCCTGTTGAACAAGTCTGGAAAGAAATGCATAAGCTTTTGCCATTCTCACCGGATTCAGTCGTCACTCATGGTGATTTCTCACTTGATAACCTTATTTTTGACGAGGGGAAATTAATAGGTTGTATTGATGTTGGACGAGTCGGAATCGCAGACCGATACCAGGATCTTGCCATCCTATGGAACTGCCTCGGTGAGTTTTCTCCTTCATTACAGAAACGGCTTTTTCAAAAATATGGTATTGATAATCCTGATATGAATAAATTGCAGTTTCATTTGATGCTCGATGAGTTTTTCTAATCAGTACTGACAATAAAAAGATTCTTGTTTTCAAGAACTTGTCATTTGTATAGTTTTTTTATATTGTAGTTGTTCTATTTTAATCAAATGTTAGCGTGATTTATATTTTTTTTCGCCTCGACATCATCTGCCCAGATGCGAAGTTAAGTGCGCAGAAAGTAATATCATGCGTCAATCGTATGTGAATGCTGGTCGCTATACTGCTGTCGATTCGATACTAACGCCGCCATCCAGTGTCCGCCAGGGTTTTCCCAGTCACGACGCCTCTACCTTGCAGACCCATATAATATAATAACTAAATAAGTAAATAAGACACACGCGAGAACATATATACACAATTACAGTAACAATAACAAGAGGACAGATACTACCAAAATGTGTGGGGAAGCGGGTAAGCTGCCACAGCAATTAATGCACAACATTTAACCTACATTCTTCCTTATCGGATCCTCAAAACCCTTAAAAACATATGCCTCACCCTAACATATTTTCCAATTAACCCTCAATATTTCTCTGTCACCCGGCCTCTATTTTCCATTTTCTTCTTTACCCGCCACGCGTTTTTTTCTTTCAAATTTTTTTCTTCCTTCTTCTTTTTCTTCCACGTCCTCTTGCATAAATAAATAAACCGTTTTGAAACCAAACTCGCCTCTCTCTCTCCTTTTTGAAATATTTTTGGGTTTGTTTGATCCTTTCCTTCCCAATCTCTCTTGTTTAATATATATTCATTTATATCACGCTCTCTTTTTATCTTCCTTTTTTTCCTCTCTCTTGTATTCTTCCTTCCCCTTTCTACTCAAACCAAGAAGAAAAAGAAAAGGTCAATCTTTGTTAAAGAATAGGATCTTCTACTACATCAGCTTTTAGATTTTTCACGCTTACTGCTTTTTTCTTCCCAAGATCGAAAATTTACTGAATTAACAGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGAAGCAAGCCTCCTGAAAGATGAAGCTACTGTCTTCTATCGAACAAGCATGCGATATTTGCCGACTTAAAAAGCTCAAGTGCTCCAAAGAAAAACCGAAGTGCGCCAAGTGTCTGAAGAACAACTGGGAGTGTCGCTACTCTCCCAAAACCAAAAGGTCTCCGCTGACTAGGGCACATCTGACAGAAGTGGAATCAAGGCTAGAAAGACTGGAACAGCTATTTCTACTGATTTTTCCTCGAGAAGACCTTGACATGATTTTGAAAATGGATTCTTTACAGGATATAAAAGCATTGTTGGGTACCCCTGCAGCTGCGTCGACTCTAGAGGATCCATCTGCTGGAGACATGAGAGCTGCCAACCTTTGGCCAAGCCCGCTCATGATCAAACGCTCTAAGAAGAACAGCCTGGCCTTGTCCCTGACGGCCGACCAGATGGTCAGTGCCTTGTTGGATGCTGAGCCCCCCATACTCTATTCCGAGTATGATCCTACCAGACCCTTCAGTGAAGCTTCGATGATGGGCTTACTGACCAACCTGGCAGACAGGGAGCTGGTTCACATGATCAACTGGGCGAAGAGGGTGCCAGGCTTTGTGGATTTGACCCTCCATGATCAGGTCCACCTTCTAGAATGTGCCTGGCTAGAGATCCTGATGATTGGTCTCGTCTGGCGCTCCATGGAGCACCCAGTGAAGCTACTGTTTGCTCCTAACTTGCTCTTGGACAGGAACCAGGGAAAATGTGTAGAGGGCATGGTGGAGATCTTCGACATGCTGCTGGCTACATCATCTCGGTTCCGCATGATGAATCTGCAGGGAGAGGAGTTTGTGTGCCTCAAATCTATTATTTTGCTTAATTCTGGAGTGTACACATTTCTGTCCAGCACCCTGAAGTCTCTGGAAGAGAAGGACCATATCCACCGAGTCCTGGACAAGATCACAGACACTTTGATCCACCTGATGGCCAAGGCAGGCCTGACCCTGCAGCAGCAGCACCAGCGGCTGGCCCAGCTCCTCCTCATCCTCTCCCACATCAGGCACATGAGTAACAAAGGCATGGAGCATCTGTACAGCATGAAGTGCAAGAACGTGGTGCCCCTCTATGACCTGCTGCTGGAGATGCTGGACGCCCACCGCCTACATGCGCCCACTAGCCGTGGAGGGGCATCCGTGGAGGAGACGGACCAAAGCCACTTGGCCACTGCGGGCTCTACTTCATCGGAGCTCCACTTAGACGGCGAGGACGTGGCGATGGCGCATGCCGACGCGCTAGACGATTTCGATCTGGACATGTTGGGGGACGGGGATTCCCCGGGTCCGGGATTTACCCCCCACGACTCCGCCCCCTACGGCGCTCTGGATATGGCCGACTTCGAGTTTGAGCAGATGTTTACCGATGCCCTTGGAATTGACGAGTACGGTGGGTAGGGATCCGGTTCCGGAAGTGGATCCGGATCCTGATACCGTCGACCTCGAGTCATGTAATTAGTTATGTCACGCTTACATTCACGCCCTCCCCCCACATCCGCTCTAACCGAAAAGGAAGGAGTTAGACAACCTGAAGTCTAGGTCCCTATTTATTTTTTTATAGTTATGTTAGTATTAAGAACGTTATTTATATTTCAAATTTTTCTTTTTTTTCTGTACAGACGCGTGTACGCATGTAACATTATACTGAAAACCTTGCTTGAGAAGGTTTTGGGACGCTCGAAGGCTTTAATTTGATGTCGTAATAACCCCGCCCCGACGCCATTTTAAGTCCAAAGGCACAATTTTACGTTGGAACTAAACGGTAAAGATCAAATATCACCTTTATTCTTTTTTGGTATGCATCGATTTCTTTGCCAGTAAGAACTACGTGCAACTCTACATTAGATCAAAATATAACGGATCATAAATGCAAACAACATTTGTCCAAAAGAAACAAAAATGTTGGCGTTTGTCTCGAACATGACACAATACTCCTTGATCGAGGGACATTGCCCGATTAACTATGATTTATACTTTTTACTACAGGTACTCGTTCTCCCTACTATTTCACCAGTATACGGTCGTTTTATGATTCATTTATTGCCTATAATGGTAAAAAGGGACATCTTAACCTTACGTGTTGCAATGAGACCATTCTTTTCGATTCATCAACTGTGAAATTTCTGAAATCCAGTACAATGCGAAACGCTACCGATAATGGCACCGTCTTTTGAATTATGAGGCCCAGATATGGCGTTCAATCTTCAACAAAAAAATGAATATCAAAACTAAATTCTATCTGGATAACAATCTTTCTTTGGTTTGCAGAAATATCATTAAAAAACAATCCATAACTACTAAGGAAGGGTATAAATGGTTTGGTTTACTAATTTTATATTTTGATTTGATTAGCAATTATAATCTCTAATATACTATTTCTGTAGCCAAAAATCTGCAATGTCAATAAGTAGCAAGTGCCGCTTACTCGTGAGAATATCAACCTTATAGCATATGTTTTCTATTTTTTTTTTTTGCTTATGGAGATAATGAACATTGTACACATGAACAAAGTGGTAGTTCTCTCTCCTTGATTTTTTGTGCTTGCGATATATATAATTGTTACATTCAATGGCCATGCTAAATAAAGGTTTTAGCTTTGTTTCACTCGTGCCCAGGATAATTGTTTAAACCATGGTCATAGCTGTTTCCTGTGTGAAATTGTTATCCGCTCACAATTCCACACAACATACGAGCCGGAAGCATAAAGTGTAAAGCCTGGGGTGCCTAATGAGTGAGCTAACTCACATTAATTGCGTTGCGCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGAACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAATACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTC\", \"circular\": true, \"name\": \"pMODKan_HO_pACT1GE\"};// Full JSON description of plasmid - in the future, this would be\n",
"// downloaded dynamically\n",
"function d3sequence(sequence_json, div_id) {\n",
" // TODO: Have methods for drawing circular vs. linear, keep core logic the same\n",
" // Option that might make it into a configurable version\n",
" // TODO: control more of these with CSS\n",
"\n",
" var circularConfig = {\n",
" 'width': 500,\n",
" 'height': 500,\n",
" 'padding': 75,\n",
" 'featureScale': 1.2,\n",
" 'featureOpacity': 0.5,\n",
" 'backboneThickness': 0.2,\n",
" 'backboneColor': '#eee',\n",
" 'minFeatureSize': 5,\n",
" 'ticks': 80,\n",
" 'majorTickInterval': 5,\n",
" 'tickColorMinor': '#94aab0',\n",
" 'tickColorMajor': 'black',\n",
" 'tickLength': 6,\n",
" 'lineFeatureWidth': 4,\n",
" 'titleFontSize': '25px'\n",
" };\n",
"\n",
" var linearConfig = {\n",
" 'width': 800,\n",
" 'height': 150,\n",
" 'padding': 35,\n",
" 'featureScale': 1.2,\n",
" 'featureOpacity': 0.5,\n",
" 'backboneThickness': 0.2,\n",
" 'backboneColor': '#eee',\n",
" 'minFeatureSize': 5,\n",
" 'ticks': 40,\n",
" 'majorTickInterval': 5,\n",
" 'tickColorMinor': '#94aab0',\n",
" 'tickColorMajor': 'black',\n",
" 'tickLength': 6,\n",
" 'lineFeatureWidth': 4,\n",
" 'titleFontSize': '25px'\n",
" };\n",
"\n",
" if (!sequence_json.circular) {\n",
" config = linearConfig;\n",
" } else if (sequence_json.circular) {\n",
" config = circularConfig;\n",
" }\n",
"\n",
" ///////////////////////\n",
" // Initialize svg space\n",
" ///////////////////////\n",
" var svg = d3.select('#' + div_id)\n",
" .append('svg')\n",
" .attr('width', config.width)\n",
" .attr('height', config.height)\n",
" .append('g');\n",
"\n",
" var center = {'x': config.width / 2, 'y': config.height / 2};\n",
"\n",
" if (sequence_json.circular) {\n",
"\n",
" var outerRadius = Math.min(config.width, config.height) / 2 - config.padding;\n",
" var innerRadius = outerRadius - config.backboneThickness * outerRadius;\n",
" var centerRadius = d3.mean([outerRadius, innerRadius]);\n",
" var featureOffset = (config.featureScale * (outerRadius - innerRadius) - (outerRadius - innerRadius)) / 2;\n",
"\n",
" /////////////////////////////////////////\n",
" // Placement rules for circular sequences\n",
" /////////////////////////////////////////\n",
" var centerTranslation = 'translate(' + center.x + ',' + center.y + ')';\n",
" svg.attr('transform', centerTranslation);\n",
"\n",
" var baseToRadians = d3.scale.linear()\n",
" .domain([0, sequence_json.sequence.length])\n",
" .range([-(Math.PI / 2), 1.5 * Math.PI]);\n",
"\n",
" // Placement around the plasmid is always prior to centering in the svg\n",
" function polarToCartesian(radius, angle) {\n",
" return {'x': radius * Math.cos(angle), 'y': radius * Math.sin(angle)};\n",
" }\n",
"\n",
"\n",
" ///////////////////////////////////////////\n",
" // Make an annulus for the plasmid backbone\n",
" ///////////////////////////////////////////\n",
"\n",
" var annulus = d3.svg.arc()\n",
" .innerRadius(innerRadius)\n",
" .outerRadius(outerRadius)\n",
" .startAngle(0)\n",
" .endAngle(2 * Math.PI);\n",
"\n",
" backbone = svg.append('path')\n",
" .attr('class', 'backbone')\n",
" .attr('d', annulus)\n",
" .style('fill-rule', 'evenodd')\n",
" .style('fill', config.backboneColor)\n",
" .style('stroke', d3.rgb(config.backboneColor).darker(0.5))\n",
" .style('stroke-width', '1.5px');\n",
"\n",
" /////////////////////////////////\n",
" // Add plasmid name, number of bp\n",
" /////////////////////////////////\n",
" svg.append('text')\n",
" .text(sequence_json.name)\n",
" .attr('x', 0)\n",
" .attr('y', 0)\n",
" .style('text-anchor', 'middle')\n",
" .style('font-size', config.titleFontSize);\n",
"\n",
" svg.append('text')\n",
" .text(sequence_json.sequence.length + ' bp')\n",
" .attr('x', 0)\n",
" .attr('y', 40)\n",
" .style('text-anchor', 'middle');\n",
"\n",
" /////////////\n",
" // Tick Marks\n",
" /////////////\n",
"\n",
" // Generate ticks data\n",
" var tickData = [];\n",
" for (var i=0; i < config.ticks; i++) {\n",
" tickData.push(i * Math.floor(sequence_json.sequence.length / config.ticks));\n",
" }\n",
"\n",
" // FIXME: why use paths to make Ticks when lines can be used?\n",
" var line = d3.svg.line()\n",
" .x(function(d) { return d.x; } )\n",
" .y(function(d) { return d.y; } );\n",
"\n",
" tickGroup = svg.append('g')\n",
" .attr('id', 'tick-group');\n",
"\n",
" ticks = tickGroup.selectAll('.tick')\n",
" .data(tickData)\n",
" .enter().append('path')\n",
" .attr('d', function(d, i) {\n",
" tickAngle = baseToRadians(d);\n",
" inner = polarToCartesian(outerRadius, tickAngle);\n",
" outer = polarToCartesian(outerRadius + config.tickLength, tickAngle);\n",
" return line([inner, outer]);\n",
" })\n",
" .attr('stroke', function(d, i) {\n",
" if (i === 0) {\n",
" tickColor = 'red';\n",
" } else if (i % config.majorTickInterval === 0) {\n",
" tickColor = config.tickColorMajor;\n",
" } else {\n",
" tickColor = config.tickColorMinor;\n",
" }\n",
" return tickColor;\n",
" })\n",
" .attr('stroke-width', 2)\n",
" .attr('fill', 'none');\n",
"\n",
" tickLabels = tickGroup.selectAll('.tick-label')\n",
" .data(tickData)\n",
" .enter().append('text')\n",
" .text(function(d) {\n",
" if (d % config.majorTickInterval === 0) {\n",
" return d;\n",
" }\n",
" })\n",
" .attr('x', function(d) {\n",
" tickAngle = baseToRadians(d);\n",
" return polarToCartesian(outerRadius + 22, tickAngle).x;\n",
" })\n",
" .attr('y', function(d) {\n",
" tickAngle = baseToRadians(d);\n",
" return polarToCartesian(outerRadius + 22, tickAngle).y;\n",
" })\n",
" .attr('dy', '0.4em')\n",
" .attr('fill', config.tickColorMinor)\n",
" .style('text-anchor', 'middle')\n",
" .style('font-size', '12px');\n",
"\n",
" ////////////////////////////////\n",
" // Add features and their labels\n",
" ////////////////////////////////\n",
"\n",
" // Separate out arc features and line features\n",
" var blockData = [];\n",
" var lineData = [];\n",
" for (var i = 0; i < sequence_json.features.length; i++) {\n",
" feature = sequence_json.features[i];\n",
" arcAngle = 2 * Math.PI / sequence_json.sequence.length * (feature.stop - feature.start);\n",
" arcLength = centerRadius * arcAngle;\n",
" if (arcLength > config.minFeatureSize) {\n",
" blockData.push(feature);\n",
" } else {\n",
" lineData.push(feature);\n",
" }\n",
" }\n",
"\n",
" var featuresGroup = svg.append('g')\n",
" .attr('id', 'features');\n",
" var blockGroup = featuresGroup.append('g')\n",
" .attr('id', 'block-features');\n",
"\n",
" var blockFeatures = blockGroup.selectAll('.feature')\n",
" .data(blockData)\n",
" .enter()\n",
" .append('g')\n",
" .attr('class', 'feature')\n",
" .append('path')\n",
" .attr('d', function(d, i) {\n",
" the_arc = d3.svg.arc()\n",
" // d3 svg arc origin is at the top\n",
" .startAngle(baseToRadians(d.start) + Math.PI / 2)\n",
" .endAngle(baseToRadians(d.stop) + Math.PI / 2)\n",
" .innerRadius(innerRadius - featureOffset)\n",
" .outerRadius(outerRadius + featureOffset)\n",
" (d, i);\n",
" return the_arc;\n",
" })\n",
" .attr('id', function(d, i) { return 'block' + i; })\n",
" .style('fill-rule', 'evenodd')\n",
" .style('fill', function(d) {\n",
" if (d.hasOwnProperty('color')) {\n",
" return d.color;\n",
" } else {\n",
" return 'rgb(192, 192, 256)';\n",
" }\n",
" })\n",
" .style('fill-opacity', config.featureOpacity)\n",
" .style('stroke', function(d) {\n",
" if (d.hasOwnProperty('color')) {\n",
" color = d.color;\n",
" } else {\n",
" color = 'rgb(192, 192, 256)';\n",
" }\n",
" return d3.rgb(color).darker(0.5);\n",
" })\n",
" .style('stroke-width', '1.5px');\n",
"\n",
"\n",
" // Gaussian blur filter for making text shadow\n",
" var filter = svg.append('defs')\n",
" .append('filter')\n",
" .attr('id', 'text-shadow')\n",
" .attr('height', '130%')\n",
" .append('feGaussianBlur')\n",
" .attr('in', 'SourceAlpha')\n",
" .attr('stdDeviation', 2)\n",
" .attr('result', 'blur');\n",
"\n",
" // Add invisible arcs for aligning text\n",
" function describeArc(radius, start, end) {\n",
" start_xy = polarToCartesian(radius, baseToRadians(start));\n",
" end_xy = polarToCartesian(radius, baseToRadians(end));\n",
"\n",
" var d = [\n",
" 'M', start_xy.x, start_xy.y,\n",
" 'A', radius, radius, 0, 0, 1, end_xy.x, end_xy.y\n",
" ].join(' ');\n",
"\n",
" return d;\n",
" };\n",
"\n",
" var centerArcs = blockGroup.selectAll('.feature, .center-arcs')\n",
" .append('path')\n",
" .attr('d', function(d) {\n",
" return describeArc(0.97 * centerRadius, d.start, d.stop)\n",
" })\n",
" .attr('class', 'center-arc')\n",
" .attr('id', function(d, i) { return div_id + '-center-arc' + i; })\n",
" .style('stroke', 'none')\n",
" .style('fill', 'none');\n",
"\n",
" var shadows = blockGroup.selectAll('.feature')\n",
" .append('text')\n",
" .attr('class', 'block-label-shadow')\n",
" .append('textPath')\n",
" .attr('class', 'shadow')\n",
" .attr('startOffset', '50%')\n",
" .attr('xlink:href', function(d, i) {\n",
" return '#' + div_id + '-center-arc' + i;\n",
" })\n",
" .attr('id', function(d, i) {\n",
" return 'shadow' + i;\n",
" })\n",
" .style('text-anchor', 'middle')\n",
" .style('font-family', 'sans-serif')\n",
" .style('font-weight', 'bold')\n",
" .style('font-size', '11px')\n",
" .style('filter', 'url(#text-shadow)')\n",
" .text(function(d) { return d.name; });\n",
"\n",
" var blockText = blockGroup.selectAll('.feature')\n",
" .append('text')\n",
" .attr('class', 'block-label')\n",
" .append('textPath')\n",
" .attr('class', 'block-text')\n",
" .attr('fill', 'white')\n",
" .attr('startOffset', '50%')\n",
" .attr('xlink:href', function(d, i) {\n",
" return '#' + div_id + '-center-arc' + i;\n",
" })\n",
" .attr('id', function(d, i) { return 'label' + i; })\n",
" .style('text-anchor', 'middle')\n",
" .style('font-family', 'sans-serif')\n",
" .style('font-weight', 'bold')\n",
" .style('font-size', '11px')\n",
" .text(function(d) { return d.name; });\n",
"\n",
" // If text is too big, don't offset and set anchor to left\n",
" // FIXME: this should really be done with more d3-style methods\n",
" feature_selection = document.getElementsByClassName('feature');\n",
" for (var i = 0; i < feature_selection.length; i++) {\n",
" blocktemp = feature_selection[i];\n",
" text = blocktemp.getElementsByClassName('block-text')[0];\n",
" shadow = blocktemp.getElementsByClassName('shadow')[0];\n",
"\n",
" centerArc = blocktemp.getElementsByClassName('center-arc')[0];\n",
" blockLength = centerArc.getTotalLength();\n",
"\n",
" nameLength = text.innerHTML.length;\n",
" while (1.2 * text.getComputedTextLength() > blockLength) {\n",
" nameLength -= 1;\n",
" // Trim until it isn't\n",
" text.innerHTML = text.innerHTML.slice(0, nameLength);\n",
" text.setAttribute('startOffset', '10%');\n",
" text.style['text-anchor'] = 'start';\n",
"\n",
" shadow.innerHTML = shadow.innerHTML.slice(0, nameLength);\n",
" shadow.setAttribute('startOffset', '10%');\n",
" shadow.style['text-anchor'] = 'start';\n",
" }\n",
" }\n",
"\n",
" // Add line features\n",
" var lineGroup = featuresGroup.append('g')\n",
" .attr('class', 'lineFeatureGroup');\n",
"\n",
" var lineFeatures = lineGroup.selectAll('.feature')\n",
" .data(lineData)\n",
" .enter().append('g')\n",
" .append('path')\n",
" .attr('class', 'feature')\n",
" .attr('class', 'line-feature')\n",
" .attr('d', function(d, i) {\n",
" featureAngle = baseToRadians((d.start + d.stop) / 2);\n",
" inner = polarToCartesian(innerRadius - featureOffset - config.tickLength, featureAngle);\n",
" outer = polarToCartesian(outerRadius + featureOffset + config.tickLength, featureAngle);\n",
"\n",
" return line([inner, outer]);\n",
" })\n",
" .attr('stroke', 'rgb(96, 96, 96)')\n",
" .attr('stroke-width', config.lineFeatureWidth)\n",
" .attr('fill', 'none')\n",
" .on('mouseover', function(d) {\n",
" angle = baseToRadians((d.start + d.stop) / 2);\n",
" position = polarToCartesian((outerRadius + featureOffset + config.tickLength + 3), angle);\n",
" lineGroup.append('text')\n",
" .attr('id', 'lineFeatureHighlight')\n",
" .attr('x', position.x)\n",
" .attr('y', position.y)\n",
" .attr('text-anchor', 'middle')\n",
" .attr('font-family', 'sans-serif')\n",
" .attr('font-size', '14px')\n",
" .style('font-weight', 'bold')\n",
" .attr('fill', 'red')\n",
" .attr('dy', '-1em')\n",
" .attr('transform', function(d) {\n",
" degrees = (angle + Math.PI) / (2 * Math.PI) * 360;\n",
" return 'rotate(' + (degrees - 90) + ' ' + (position.x) + ',' + (position.y) + ')';\n",
" })\n",
" .text(d.name);\n",
" })\n",
" .on('mouseout', function(d) {\n",
" d3.select('#lineFeatureHighlight').remove();\n",
" });\n",
" } else {\n",
"\n",
" ///////////////////////////////////////\n",
" // Placement rules for linear sequences\n",
" ///////////////////////////////////////\n",
" var backboneHeight = 25; // TODO: replace with unified thickness param\n",
" var xMin = config.padding;\n",
" var xMax = config.width - config.padding;\n",
"\n",
" var backboneDim = {\n",
" 'left': xMin,\n",
" 'right': xMax,\n",
" 'top': center.y - backboneHeight / 2,\n",
" 'bottom': center.y + backboneHeight / 2\n",
" };\n",
"\n",
" // Offset of 1 pixel makes the display look nicer\n",
" var xScale = d3.scale.linear()\n",
" .domain([0, sequence_json.sequence.length])\n",
" .range([xMin + 1, xMax + 1]);\n",
"\n",
" ////////////////////\n",
" // Draw the backbone\n",
" ////////////////////\n",
" // TODO: similarities with circular - same fill, stroke, etc. Could simplify\n",
" // with a backboneWidth attribute that's in pixels\n",
" svg.append('rect')\n",
" .attr('class', 'backbone')\n",
" .attr('x', backboneDim.left)\n",
" .attr('y', backboneDim.top)\n",
" .attr('width', backboneDim.right - backboneDim.left)\n",
" .attr('height', backboneDim.bottom - backboneDim.top)\n",
" .style('fill', config.backboneColor)\n",
" .style('stroke', d3.rgb(config.backboneColor).darker(0.5))\n",
" .style('stroke-width', '1.5px');\n",
"\n",
" /////////////////////////////////\n",
" // Add plasmid name, number of bp\n",
" /////////////////////////////////\n",
" // TODO: similarities with circular - identical, just different placement\n",
" // FIXME: make the placement of text have no magic numbers\n",
" svg.append('text')\n",
" .text(sequence_json.name)\n",
" .attr('x', center.x)\n",
" .attr('y', backboneDim.bottom + 50)\n",
" .style('text-anchor', 'middle')\n",
" .style('font-size', config.titleFontSize);\n",
"\n",
" svg.append('text')\n",
" .text(sequence_json.sequence.length + ' bp')\n",
" .attr('x', center.x)\n",
" .attr('y', backboneDim.bottom + 80)\n",
" .style('text-anchor', 'middle');\n",
"\n",
" /////////////\n",
" // Tick Marks\n",
" /////////////\n",
" // TODO: similarities with circular - almost everything\n",
" // Generate ticks data\n",
" var tickData = [];\n",
" for (var i=0; i < config.ticks; i++) {\n",
" tickData.push(i * Math.floor(sequence_json.sequence.length / config.ticks));\n",
" }\n",
"\n",
" var tickGroup = svg.append('g')\n",
" .attr('id', 'tick-group');\n",
"\n",
" var ticks = tickGroup.selectAll('.tick')\n",
" .data(tickData)\n",
" .enter().append('line')\n",
" .attr('x1', function(d) { return xScale(d); })\n",
" .attr('x2', function(d) { return xScale(d); })\n",
" .attr('y1', backboneDim.bottom)\n",
" .attr('y2', backboneDim.bottom + config.tickLength)\n",
" .attr('stroke', function(d, i) {\n",
" if (i % config.majorTickInterval === 0) {\n",
" tickColor = config.tickColorMajor;\n",
" } else {\n",
" tickColor = config.tickColorMinor;\n",
" }\n",
" return tickColor;\n",
" })\n",
" .attr('stroke-width', 2)\n",
" .attr('fill', 'none');\n",
"\n",
" var tickLabels = tickGroup.selectAll('.tick-label')\n",
" .data(tickData)\n",
" .enter().append('text')\n",
" .text(function(d) {\n",
" if (d % config.majorTickInterval === 0) {\n",
" return d;\n",
" }\n",
" })\n",
" .attr('x', function(d) { return xScale(d); })\n",
" .attr('y', function(d) { return backboneDim.bottom + config.tickLength + 8; })\n",
" .attr('dy', '0.4em')\n",
" .attr('fill', config.tickColorMinor)\n",
" .style('text-anchor', 'middle')\n",
" .style('font-size', '12px');\n",
"\n",
" ////////////////////////////////\n",
" // Add features and their labels\n",
" ////////////////////////////////\n",
"\n",
" // Separate out arc features and line features\n",
" var blockData = [];\n",
" var lineData = [];\n",
" // FIXME: this process is broken and should be determined by fit, not n\n",
" // arbitrary scaling factor\n",
" for (var i = 0; i < sequence_json.features.length; i++) {\n",
" feature = sequence_json.features[i];\n",
" if (xScale(feature.stop - feature.start) > 10 * config.minFeatureSize) {\n",
" blockData.push(feature);\n",
" } else {\n",
" lineData.push(feature);\n",
" }\n",
" }\n",
"\n",
" var featuresGroup = svg.append('g')\n",
" .attr('id', 'features');\n",
" var blockGroup = featuresGroup.append('g')\n",
" .attr('id', 'block-features');\n",
"\n",
" var blockFeatures = blockGroup.selectAll('.feature')\n",
" .data(blockData)\n",
" .enter().append('g')\n",
" .attr('class', 'feature')\n",
" .append('rect')\n",
" .attr('class', 'feature-block')\n",
" .attr('x', function(d) { return xScale(d.start); })\n",
" .attr('y', function(d) { return backboneDim.top - (config.featureScale * backboneHeight - backboneHeight) / 2; })\n",
" .attr('width', function(d) { return xScale(d.stop) - xScale(d.start); })\n",
" .attr('height', function(d) { return config.featureScale * backboneHeight; })\n",
" .attr('id', function(d, i) { return 'block' + i; })\n",
" .style('fill', function(d) {\n",
" if (d.hasOwnProperty('color')) {\n",
" return d.color;\n",
" } else {\n",
" return 'rgb(192, 192, 256)';\n",
" }\n",
" })\n",
" .style('fill-opacity', config.featureOpacity)\n",
" .style('stroke', function(d) {\n",
" if (d.hasOwnProperty('color')) {\n",
" color = d.color;\n",
" } else {\n",
" color = 'rgb(192, 192, 256)';\n",
" }\n",
" return d3.rgb(color).darker(0.5);\n",
" })\n",
" .style('stroke-width', '1.5px');\n",
"\n",
" // Gaussian blur filter for making text shadow\n",
" var filter = svg.append('defs')\n",
" .append('filter')\n",
" .attr('id', 'text-shadow')\n",
" .attr('height', '130%')\n",
" .append('feGaussianBlur')\n",
" .attr('in', 'SourceAlpha')\n",
" .attr('stdDeviation', 2)\n",
" .attr('result', 'blur');\n",
"\n",
" var shadows = blockGroup.selectAll('.feature')\n",
" .append('text')\n",
" .attr('class', 'shadow')\n",
" .attr('id', function(d, i) {\n",
" return 'shadow' + i;\n",
" })\n",
" .attr('x', function(d) { return xScale((d.start + d.stop) / 2); })\n",
" .attr('y', function(d) { return (backboneDim.top + backboneDim.bottom) / 2 + 3; })\n",
" .style('text-anchor', 'middle')\n",
" .style('font-family', 'sans-serif')\n",
" .style('font-weight', 'bold')\n",
" .style('font-size', '10px')\n",
" .style('filter', 'url(#text-shadow)')\n",
" .text(function(d) { return d.name; });\n",
"\n",
" var blockText = blockGroup.selectAll('.feature')\n",
" .append('text')\n",
" .attr('class', 'block-text')\n",
" .attr('fill', 'white')\n",
" .attr('id', function(d, i) { return 'label' + i; })\n",
" .attr('x', function(d) { return xScale((d.start + d.stop) / 2); })\n",
" .attr('y', function(d) { return (backboneDim.top + backboneDim.bottom) / 2; })\n",
" .style('text-anchor', 'middle')\n",
" .style('font-family', 'sans-serif')\n",
" .style('font-weight', 'bold')\n",
" .style('font-size', '10px')\n",
" .text(function(d) { return d.name; });\n",
"\n",
" // If text is too big, don't offset and set anchor to left\n",
" // FIXME: this should really be done with more d3-style methods\n",
" feature_selection = document.getElementsByClassName('feature');\n",
" for (var i = 0; i < feature_selection.length; i++) {\n",
" blocktemp = feature_selection[i];\n",
" text = blocktemp.getElementsByClassName('block-text')[0];\n",
" shadow = blocktemp.getElementsByClassName('shadow')[0];\n",
"\n",
" block = blocktemp.getElementsByClassName('feature-block');\n",
" blockLength = block[0].width.baseVal.value\n",
"\n",
" nameLength = text.innerHTML.length;\n",
" while (1.2 * text.getComputedTextLength() > blockLength) {\n",
" nameLength -= 1;\n",
" // Trim until it isn't\n",
" text.innerHTML = text.innerHTML.slice(0, nameLength);\n",
"\n",
" shadow.innerHTML = shadow.innerHTML.slice(0, nameLength);\n",
" }\n",
" }\n",
"\n",
" // Add line features\n",
" var lineGroup = featuresGroup.append('g')\n",
" .attr('class', 'lineFeatureGroup');\n",
"\n",
" var lineFeatures = lineGroup.selectAll('.feature')\n",
" .data(lineData)\n",
" .enter().append('g')\n",
" .append('line')\n",
" .attr('class', 'feature')\n",
" .attr('class', 'line-feature')\n",
" .attr('x1', function(d) { return xScale(d.start); })\n",
" .attr('x2', function(d) { return xScale(d.start); })\n",
" .attr('y1', function(d) { return backboneDim.bottom + (config.featureScale * backboneHeight - backboneHeight) / 2 + config.tickLength; })\n",
" .attr('y2', function(d) { return backboneDim.top - (config.featureScale * backboneHeight - backboneHeight) / 2 - config.tickLength; })\n",
" .attr('stroke', 'rgb(96, 96, 96)')\n",
" .attr('stroke-width', config.lineFeatureWidth)\n",
" .attr('fill', 'none')\n",
" .on('mouseover', function(d) {\n",
" lineGroup.append('text')\n",
" .attr('id', 'lineFeatureHighlight')\n",
" .attr('x', xScale(d.start))\n",
" .attr('y', backboneDim.top - (config.featureScale * backboneHeight - backboneHeight) / 2 - 3)\n",
" .attr('text-anchor', 'middle')\n",
" .attr('font-family', 'sans-serif')\n",
" .attr('font-size', '14px')\n",
" .style('font-weight', 'bold')\n",
" .attr('fill', 'red')\n",
" .attr('dy', '-1em')\n",
" .text(d.name);\n",
" })\n",
" .on('mouseout', function(d) {\n",
" d3.select('#lineFeatureHighlight').remove();\n",
" });\n",
"\n",
" }\n",
"}\n",
"\n",
" d3sequence(window.data, 'sequence_fea2d504-8d3c-11e6-9d4e-0242ac110002')\n",
" });\n",
" </script>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pKL278.display()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"'{\"features\": [{\"color\": [\"#96bbff\"], \"start\": 28, \"stop\": 51, \"name\": \"pGEX_3_primer\", \"type\": \"misc_feature\"}, {\"color\": [\"#0064ff\"], \"start\": 132, \"stop\": 154, \"name\": \"pMOD_t1pre\", \"type\": \"misc_feature\"}, {\"color\": [\"#ff0000\"], \"start\": 154, \"stop\": 162, \"name\": \"PmeI(1)\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 162, \"stop\": 725, \"name\": \"HO Targeting 1\", \"type\": \"misc_feature\"}, {\"color\": [\"#0071ff\"], \"start\": 725, \"stop\": 755, \"name\": \"pMOD_t1suf\", \"type\": \"misc_feature\"}, {\"color\": [\"#edd079\"], \"start\": 755, \"stop\": 1152, \"name\": \"KANMX Wach et al 1994 (genome del. project)\", \"type\": \"misc_feature\"}, {\"color\": [\"#acb1ff\"], \"start\": 1152, \"stop\": 1962, \"name\": \"KanMX CDS\", \"type\": \"misc_feature\"}, {\"color\": [\"#e9c021\"], \"start\": 1962, \"stop\": 2200, \"name\": \"KanMX terminator\", \"type\": \"misc_feature\"}, {\"color\": [\"#1ed628\"], \"start\": 2200, \"stop\": 2224, \"name\": \"M13 Forward (-47) primer\", \"type\": \"primer_bind\"}, {\"color\": [\"#f6ff39\"], \"start\": 2224, \"stop\": 2885, \"name\": \"pACT1\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 2921, \"stop\": 2932, \"name\": \"Extra sequence not found in Gottschling map\", \"type\": \"misc_feature\"}, {\"color\": [\"#00ff29\"], \"start\": 2940, \"stop\": 3218, \"name\": \"GAL4(1-93) DBD\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 3218, \"stop\": 3219, \"name\": \"Differs from Gottschling map (backbone)\", \"type\": \"misc_feature\"}, {\"color\": [\"#6c59ff\"], \"start\": 3255, \"stop\": 4140, \"name\": \"hER HBD\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 4140, \"stop\": 4344, \"name\": \"HSV1 VP16\", \"type\": \"misc_feature\"}, {\"color\": [\"#ff4638\"], \"start\": 4235, \"stop\": 4236, \"name\": \"Differs from Gottschling Map\", \"type\": \"misc_feature\"}, {\"color\": [\"#d0410e\"], \"start\": 4344, \"stop\": 4347, \"name\": \"stop codon\", \"type\": \"misc_feature\"}, {\"color\": [\"#40ff40\"], \"start\": 4347, \"stop\": 4377, \"name\": \"L2\", \"type\": \"misc_feature\"}, {\"color\": [\"#eb66ff\"], \"start\": 4377, \"stop\": 4399, \"name\": \"T + pBluescript KS linker\", \"type\": \"misc_feature\"}, {\"color\": [\"#59c0cb\"], \"start\": 4403, \"stop\": 4643, \"name\": \"CYC1\", \"type\": \"terminator\"}, {\"color\": [\"#6cc0cb\"], \"start\": 4412, \"stop\": 4431, \"name\": \"pYESTrp_rev primer\", \"type\": \"primer_bind\"}, {\"color\": [\"#6cc0cb\"], \"start\": 4643, \"stop\": 4665, \"name\": \"T7 EEV primer\", \"type\": \"primer_bind\"}, {\"color\": [\"cyan\"], \"start\": 4665, \"stop\": 5571, \"name\": \"upstream HO targeting\", \"type\": \"misc_feature\"}, {\"color\": [\"#96bbff\"], \"start\": 5571, \"stop\": 5579, \"name\": \"PmeI\", \"type\": \"misc_feature\"}, {\"color\": [\"#ff0000\"], \"start\": 5571, \"stop\": 5579, \"name\": \"PmeI site\", \"type\": \"misc_feature\"}, {\"color\": [\"#00ff00\"], \"start\": 5579, \"stop\": 5619, \"name\": \"M13R\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 5804, \"stop\": 5889, \"name\": \"origin-extended\", \"type\": \"misc_feature\"}, {\"color\": [\"#f1de49\"], \"start\": 5889, \"stop\": 6744, \"name\": \"ori\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 6426, \"stop\": 6427, \"name\": \"is a g in normal maps.\", \"type\": \"misc_feature\"}, {\"color\": [\"#fcabe4\"], \"start\": 6744, \"stop\": 7605, \"name\": \"bla\", \"type\": \"misc_feature\"}, {\"color\": [\"#f96061\"], \"start\": 7605, \"stop\": 7684, \"name\": \"AmpR promoter\", \"type\": \"misc_feature\"}, {\"color\": [\"cyan\"], \"start\": 7684, \"stop\": 7704, \"name\": \"New Feature\", \"type\": \"misc_feature\"}], \"bottom\": \"GACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTTCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGGTTTAAACAATTATCCTGGGCACGAGTGAAACAAAGCTAAAACCTTTATTTAGCATGGCCATTGAATGTAACAATTATATATATCGCAAGCACAAAAAATCAAGGAGAGAGAACTACCACTTTGTTCATGTGTACAATGTTCATTATCTCCATAAGCAAAAAAAAAAAATAGAAAACATATGCTATAAGGTTGATATTCTCACGAGTAAGCGGCACTTGCTACTTATTGACATTGCAGATTTTTGGCTACAGAAATAGTATATTAGAGATTATAATTGCTAATCAAATCAAAATATAAAATTAGTAAACCAAACCATTTATACCCTTCCTTAGTAGTTATGGATTGTTTTTTAATGATATTTCTGCAAACCAAAGAAAGATTGTTATCCAGATAGAATTTAGTTTTGATATTCATTTTTTTGTTGAAGATTGAACGCCATATCTGGGCCTCATAATTCAAAAGACGGTGCCATTATCGGTAGCGTTTCGCATTGTACTGGATTTCAGAAATTTCACAGTTGATGAATCGAAAAGAATGGTCTCATTGCAACACGTAAGGTTAAGATGTCCCTTTTTACCATTATAGGCAATAAATGAATCATAAAACGACCGTATACTGGTGAAATAGTAGGGAGAACGAGTACCTGTAGTAAAAAGTATAAATCATAGTTAATCGGGCAATGTCCCTCGATCAAGGAGTATTGTGTCATGTTCGAGACAAACGCCAACATTTTTGTTTCTTTTGGACAAATGTTGTTTGCATTTATGATCCGTTATATTTTGATCTAATGTAGAGTTGCACGTAGTTCTTACTGGCAAAGAAATCGATGCATACCAAAAAAGAATAAAGGTGATATTTGATCTTTACCGTTTAGTTCCAACGTAAAATTGTGCCTTTGGACTTAAAATGGCGTCGGGGCGGGGTTATTACGACATCAAATTAAAGCCTTCGAGCGTCCCAAAACCTTCTCAAGCAAGGTTTTCAGTATAATGTTACATGCGTACACGCGTCTGTACAGAAAAAAAAGAAAAATTTGAAATATAAATAACGTTCTTAATACTAACATAACTATAAAAAAATAAATAGGGACCTAGACTTCAGGTTGTCTAACTCCTTCCTTTTCGGTTAGAGCGGATGTGGGGGGAGGGCGTGAATGTAAGCGTGACATAACTAATTACATGACTCGAGGTCGACGGTATCAGGATCCGGATCCACTTCCGGAACCGGATCCCTACCCACCGTACTCGTCAATTCCAAGGGCATCGGTAAACATCTGCTCAAACTCGAAGTCGGCCATATCCAGAGCGCCGTAGGGGGCGGAGTCGTGGGGGGTAAATCCCGGACCCGGGGAATCCCCGTCCCCCAACATGTCCAGATCGAAATCGTCTAGCGCGTCGGCATGCGCCATCGCCACGTCCTCGCCGTCTAAGTGGAGCTCCGATGAAGTAGAGCCCGCAGTGGCCAAGTGGCTTTGGTCCGTCTCCTCCACGGATGCCCCTCCACGGCTAGTGGGCGCATGTAGGCGGTGGGCGTCCAGCATCTCCAGCAGCAGGTCATAGAGGGGCACCACGTTCTTGCACTTCATGCTGTACAGATGCTCCATGCCTTTGTTACTCATGTGCCTGATGTGGGAGAGGATGAGGAGGAGCTGGGCCAGCCGCTGGTGCTGCTGCTGCAGGGTCAGGCCTGCCTTGGCCATCAGGTGGATCAAAGTGTCTGTGATCTTGTCCAGGACTCGGTGGATATGGTCCTTCTCTTCCAGAGACTTCAGGGTGCTGGACAGAAATGTGTACACTCCAGAATTAAGCAAAATAATAGATTTGAGGCACACAAACTCCTCTCCCTGCAGATTCATCATGCGGAACCGAGATGATGTAGCCAGCAGCATGTCGAAGATCTCCACCATGCCCTCTACACATTTTCCCTGGTTCCTGTCCAAGAGCAAGTTAGGAGCAAACAGTAGCTTCACTGGGTGCTCCATGGAGCGCCAGACGAGACCAATCATCAGGATCTCTAGCCAGGCACATTCTAGAAGGTGGACCTGATCATGGAGGGTCAAATCCACAAAGCCTGGCACCCTCTTCGCCCAGTTGATCATGTGAACCAGCTCCCTGTCTGCCAGGTTGGTCAGTAAGCCCATCATCGAAGCTTCACTGAAGGGTCTGGTAGGATCATACTCGGAATAGAGTATGGGGGGCTCAGCATCCAACAAGGCACTGACCATCTGGTCGGCCGTCAGGGACAAGGCCAGGCTGTTCTTCTTAGAGCGTTTGATCATGAGCGGGCTTGGCCAAAGGTTGGCAGCTCTCATGTCTCCAGCAGATGGATCCTCTAGAGTCGACGCAGCTGCAGGGGTACCCAACAATGCTTTTATATCCTGTAAAGAATCCATTTTCAAAATCATGTCAAGGTCTTCTCGAGGAAAAATCAGTAGAAATAGCTGTTCCAGTCTTTCTAGCCTTGATTCCACTTCTGTCAGATGTGCCCTAGTCAGCGGAGACCTTTTGGTTTTGGGAGAGTAGCGACACTCCCAGTTGTTCTTCAGACACTTGGCGCACTTCGGTTTTTCTTTGGAGCACTTGAGCTTTTTAAGTCGGCAAATATCGCATGCTTGTTCGATAGAAGACAGTAGCTTCATCTTTCAGGAGGCTTGCTTCAAGCTTATCGATACCGTCGACCTCGAGGGGGGGCCCTGTTAATTCAGTAAATTTTCGATCTTGGGAAGAAAAAAGCAGTAAGCGTGAAAAATCTAAAAGCTGATGTAGTAGAAGATCCTATTCTTTAACAAAGATTGACCTTTTCTTTTTCTTCTTGGTTTGAGTAGAAAGGGGAAGGAAGAATACAAGAGAGAGGAAAAAAAGGAAGATAAAAAGAGAGCGTGATATAAATGAATATATATTAAACAAGAGAGATTGGGAAGGAAAGGATCAAACAAACCCAAAAATATTTCAAAAAGGAGAGAGAGAGGCGAGTTTGGTTTCAAAACGGTTTATTTATTTATGCAAGAGGACGTGGAAGAAAAAGAAGAAGGAAGAAAAAAATTTGAAAGAAAAAAACGCGTGGCGGGTAAAGAAGAAAATGGAAAATAGAGGCCGGGTGACAGAGAAATATTGAGGGTTAATTGGAAAATATGTTAGGGTGAGGCATATGTTTTTAAGGGTTTTGAGGATCCGATAAGGAAGAATGTAGGTTAAATGTTGTGCATTAATTGCTGTGGCAGCTTACCCGCTTCCCCACACATTTTGGTAGTATCTGTCCTCTTGTTATTGTTACTGTAATTGTGTATATATGTTCTCGCGTGTGTCTTATTTACTTATTTAGTTATTATATTATATGGGTCTGCAAGGTAGAGGCGTCGTGACTGGGAAAACCCTGGCGGACACTGGATGGCGGCGTTAGTATCGAATCGACAGCAGTATAGCGACCAGCATTCACATACGATTGACGCATGATATTACTTTCTGCGCACTTAACTTCGCATCTGGGCAGATGATGTCGAGGCGAAAAAAAATATAAATCACGCTAACATTTGATTAAAATAGAACAACTACAATATAAAAAAACTATACAAATGACAAGTTCTTGAAAACAAGAATCTTTTTATTGTCAGTACTGATTAGAAAAACTCATCGAGCATCAAATGAAACTGCAATTTATTCATATCAGGATTATCAATACCATATTTTTGAAAAAGCCGTTTCTGTAATGAAGGAGAAAACTCACCGAGGCAGTTCCATAGGATGGCAAGATCCTGGTATCGGTCTGCGATTCCGACTCGTCCAACATCAATACAACCTATTAATTTCCCCTCGTCAAAAATAAGGTTATCAAGTGAGAAATCACCATGAGTGACGACTGAATCCGGTGAGAATGGCAAAAGCTTATGCATTTCTTTCCAGACTTGTTCAACAGGCCAGCCATTACGCTCGTCATCAAAATCACTCGCATCAACCAAACCGTTATTCATTCGTGATTGCGCCTGAGCGAGACGAAATACGCGATCGCTGTTAAAAGGACAATTACAAACAGGAATCGAATGCAACCGGCGCAGGAACACTGCCAGCGCATCAACAATATTTTCACCTGAATCAGGATATTCTTCTAATATCTGGAATGCTGTTTTGCCGGGGATCGCAGTGGTGAGTAACCATGCATCATCAGGAGTACGGATAAAATGCTTGATGGTCGGAAGAGGCATAAATTCCGTCAGCCAGTTTAGTCTGACCATCTCATCTGTAACATCATTGGCAACGCTACCTTTGCCATGTTTCAGAAACAACTCTGGCGCATCGGGCTTCCCATACAATCGATAGATTGTCGCACCTGATTGCCCGACATTATCGCGAGCCCATTTATACCCATATAAATCAGCATCCATGTTGGAATTTAATCGCGGCCTCGAAACGTGAGTCTTTTCCTTACCCATGGTTGTTTATGTTCGGATGTGATGTGAGAACTGTATCCTAGCAAGATTTTAAAAGGAAGTATATGAAAGAAGAACCTCAGTGGCAAATCCTAACCTTTTATATTTCTCTACAGGGGCGCGGCGTGGGGACAATTCAACGCGTCTGTGAGGGGAGCGTTTCCCTGCTCGCAGGTCTGCAGCGAGGAGCCGTAATTTTTGCTTCGCGCCGTGCGGCCATCAAAATGTATGGATGCAAATGATTATACATGGGGATGTATGGGCTAAATGTACGGGCGACAGTCACATCATGCCCCTGAGCTGCGCACGTCAAGACTGTCAAGGAGGGTATTCTGGGCCCCCATGTCGCTGGCCGGGTGACCCGGCGGGGACGAGGCAAGCTAAACAGATCTGGCGCGCCGGTGCACTCTCAGTACAATCTGCTCTGATGCTGGGGGAACAACTTCACAGAATGTTTTGTCATATTGTCGAAGTGGTCACAAAACAAGAGAAGTTCCGCCAATTATAAAAAGGGAACCCGTATATTTCAGCTTCACGGATGATTTCCAGGGTGAGAGTACTGTATATGGGCTTACGATAGAAGGCCATAAAAATTTCTTGCTTGGCAACAAAATAGAAGTGAAATCATGTCGAGGCTGCTGTGTGGGAGAACAGCTTAAAATATCACAAAAAAAGAATCTAAAACACTGTGTTGCTTGTCCCAGAAAGGGAATCAAGTATTTTTATAAAGATTGGAGTGGTAAAAATCGAGTATGTGCTAGATGCTATGGAAGATACAAATTCAGCGGTCATCACTGTATAAATTGCAAGTATGTACCAGAAGCACGTGAAGTGAAAAAGGCAAAAGACAAAGGCGAAAAATTGGGCATTACGCCCGAAGGTTTGCCAGTTAAAGGACCAGAGTGTATAAAATGTGGCGGAATCTTACAGTTTGATGCTGTCCGCGGGCCTCATAAGAGTTGTGGTAACAACGCAGGTGCGCGCATCTGCTAAGTTTAAACGCCGCATAGTTAAGCCAGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGA\", \"material\": \"dna\", \"sequence\": \"TCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCTGGCTTAACTATGCGGCGTTTAAACTTAGCAGATGCGCGCACCTGCGTTGTTACCACAACTCTTATGAGGCCCGCGGACAGCATCAAACTGTAAGATTCCGCCACATTTTATACACTCTGGTCCTTTAACTGGCAAACCTTCGGGCGTAATGCCCAATTTTTCGCCTTTGTCTTTTGCCTTTTTCACTTCACGTGCTTCTGGTACATACTTGCAATTTATACAGTGATGACCGCTGAATTTGTATCTTCCATAGCATCTAGCACATACTCGATTTTTACCACTCCAATCTTTATAAAAATACTTGATTCCCTTTCTGGGACAAGCAACACAGTGTTTTAGATTCTTTTTTTGTGATATTTTAAGCTGTTCTCCCACACAGCAGCCTCGACATGATTTCACTTCTATTTTGTTGCCAAGCAAGAAATTTTTATGGCCTTCTATCGTAAGCCCATATACAGTACTCTCACCCTGGAAATCATCCGTGAAGCTGAAATATACGGGTTCCCTTTTTATAATTGGCGGAACTTCTCTTGTTTTGTGACCACTTCGACAATATGACAAAACATTCTGTGAAGTTGTTCCCCCAGCATCAGAGCAGATTGTACTGAGAGTGCACCGGCGCGCCAGATCTGTTTAGCTTGCCTCGTCCCCGCCGGGTCACCCGGCCAGCGACATGGGGGCCCAGAATACCCTCCTTGACAGTCTTGACGTGCGCAGCTCAGGGGCATGATGTGACTGTCGCCCGTACATTTAGCCCATACATCCCCATGTATAATCATTTGCATCCATACATTTTGATGGCCGCACGGCGCGAAGCAAAAATTACGGCTCCTCGCTGCAGACCTGCGAGCAGGGAAACGCTCCCCTCACAGACGCGTTGAATTGTCCCCACGCCGCGCCCCTGTAGAGAAATATAAAAGGTTAGGATTTGCCACTGAGGTTCTTCTTTCATATACTTCCTTTTAAAATCTTGCTAGGATACAGTTCTCACATCACATCCGAACATAAACAACCATGGGTAAGGAAAAGACTCACGTTTCGAGGCCGCGATTAAATTCCAACATGGATGCTGATTTATATGGGTATAAATGGGCTCGCGATAATGTCGGGCAATCAGGTGCGACAATCTATCGATTGTATGGGAAGCCCGATGCGCCAGAGTTGTTTCTGAAACATGGCAAAGGTAGCGTTGCCAATGATGTTACAGATGAGATGGTCAGACTAAACTGGCTGACGGAATTTATGCCTCTTCCGACCATCAAGCATTTTATCCGTACTCCTGATGATGCATGGTTACTCACCACTGCGATCCCCGGCAAAACAGCATTCCAGATATTAGAAGAATATCCTGATTCAGGTGAAAATATTGTTGATGCGCTGGCAGTGTTCCTGCGCCGGTTGCATTCGATTCCTGTTTGTAATTGTCCTTTTAACAGCGATCGCGTATTTCGTCTCGCTCAGGCGCAATCACGAATGAATAACGGTTTGGTTGATGCGAGTGATTTTGATGACGAGCGTAATGGCTGGCCTGTTGAACAAGTCTGGAAAGAAATGCATAAGCTTTTGCCATTCTCACCGGATTCAGTCGTCACTCATGGTGATTTCTCACTTGATAACCTTATTTTTGACGAGGGGAAATTAATAGGTTGTATTGATGTTGGACGAGTCGGAATCGCAGACCGATACCAGGATCTTGCCATCCTATGGAACTGCCTCGGTGAGTTTTCTCCTTCATTACAGAAACGGCTTTTTCAAAAATATGGTATTGATAATCCTGATATGAATAAATTGCAGTTTCATTTGATGCTCGATGAGTTTTTCTAATCAGTACTGACAATAAAAAGATTCTTGTTTTCAAGAACTTGTCATTTGTATAGTTTTTTTATATTGTAGTTGTTCTATTTTAATCAAATGTTAGCGTGATTTATATTTTTTTTCGCCTCGACATCATCTGCCCAGATGCGAAGTTAAGTGCGCAGAAAGTAATATCATGCGTCAATCGTATGTGAATGCTGGTCGCTATACTGCTGTCGATTCGATACTAACGCCGCCATCCAGTGTCCGCCAGGGTTTTCCCAGTCACGACGCCTCTACCTTGCAGACCCATATAATATAATAACTAAATAAGTAAATAAGACACACGCGAGAACATATATACACAATTACAGTAACAATAACAAGAGGACAGATACTACCAAAATGTGTGGGGAAGCGGGTAAGCTGCCACAGCAATTAATGCACAACATTTAACCTACATTCTTCCTTATCGGATCCTCAAAACCCTTAAAAACATATGCCTCACCCTAACATATTTTCCAATTAACCCTCAATATTTCTCTGTCACCCGGCCTCTATTTTCCATTTTCTTCTTTACCCGCCACGCGTTTTTTTCTTTCAAATTTTTTTCTTCCTTCTTCTTTTTCTTCCACGTCCTCTTGCATAAATAAATAAACCGTTTTGAAACCAAACTCGCCTCTCTCTCTCCTTTTTGAAATATTTTTGGGTTTGTTTGATCCTTTCCTTCCCAATCTCTCTTGTTTAATATATATTCATTTATATCACGCTCTCTTTTTATCTTCCTTTTTTTCCTCTCTCTTGTATTCTTCCTTCCCCTTTCTACTCAAACCAAGAAGAAAAAGAAAAGGTCAATCTTTGTTAAAGAATAGGATCTTCTACTACATCAGCTTTTAGATTTTTCACGCTTACTGCTTTTTTCTTCCCAAGATCGAAAATTTACTGAATTAACAGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGAAGCAAGCCTCCTGAAAGATGAAGCTACTGTCTTCTATCGAACAAGCATGCGATATTTGCCGACTTAAAAAGCTCAAGTGCTCCAAAGAAAAACCGAAGTGCGCCAAGTGTCTGAAGAACAACTGGGAGTGTCGCTACTCTCCCAAAACCAAAAGGTCTCCGCTGACTAGGGCACATCTGACAGAAGTGGAATCAAGGCTAGAAAGACTGGAACAGCTATTTCTACTGATTTTTCCTCGAGAAGACCTTGACATGATTTTGAAAATGGATTCTTTACAGGATATAAAAGCATTGTTGGGTACCCCTGCAGCTGCGTCGACTCTAGAGGATCCATCTGCTGGAGACATGAGAGCTGCCAACCTTTGGCCAAGCCCGCTCATGATCAAACGCTCTAAGAAGAACAGCCTGGCCTTGTCCCTGACGGCCGACCAGATGGTCAGTGCCTTGTTGGATGCTGAGCCCCCCATACTCTATTCCGAGTATGATCCTACCAGACCCTTCAGTGAAGCTTCGATGATGGGCTTACTGACCAACCTGGCAGACAGGGAGCTGGTTCACATGATCAACTGGGCGAAGAGGGTGCCAGGCTTTGTGGATTTGACCCTCCATGATCAGGTCCACCTTCTAGAATGTGCCTGGCTAGAGATCCTGATGATTGGTCTCGTCTGGCGCTCCATGGAGCACCCAGTGAAGCTACTGTTTGCTCCTAACTTGCTCTTGGACAGGAACCAGGGAAAATGTGTAGAGGGCATGGTGGAGATCTTCGACATGCTGCTGGCTACATCATCTCGGTTCCGCATGATGAATCTGCAGGGAGAGGAGTTTGTGTGCCTCAAATCTATTATTTTGCTTAATTCTGGAGTGTACACATTTCTGTCCAGCACCCTGAAGTCTCTGGAAGAGAAGGACCATATCCACCGAGTCCTGGACAAGATCACAGACACTTTGATCCACCTGATGGCCAAGGCAGGCCTGACCCTGCAGCAGCAGCACCAGCGGCTGGCCCAGCTCCTCCTCATCCTCTCCCACATCAGGCACATGAGTAACAAAGGCATGGAGCATCTGTACAGCATGAAGTGCAAGAACGTGGTGCCCCTCTATGACCTGCTGCTGGAGATGCTGGACGCCCACCGCCTACATGCGCCCACTAGCCGTGGAGGGGCATCCGTGGAGGAGACGGACCAAAGCCACTTGGCCACTGCGGGCTCTACTTCATCGGAGCTCCACTTAGACGGCGAGGACGTGGCGATGGCGCATGCCGACGCGCTAGACGATTTCGATCTGGACATGTTGGGGGACGGGGATTCCCCGGGTCCGGGATTTACCCCCCACGACTCCGCCCCCTACGGCGCTCTGGATATGGCCGACTTCGAGTTTGAGCAGATGTTTACCGATGCCCTTGGAATTGACGAGTACGGTGGGTAGGGATCCGGTTCCGGAAGTGGATCCGGATCCTGATACCGTCGACCTCGAGTCATGTAATTAGTTATGTCACGCTTACATTCACGCCCTCCCCCCACATCCGCTCTAACCGAAAAGGAAGGAGTTAGACAACCTGAAGTCTAGGTCCCTATTTATTTTTTTATAGTTATGTTAGTATTAAGAACGTTATTTATATTTCAAATTTTTCTTTTTTTTCTGTACAGACGCGTGTACGCATGTAACATTATACTGAAAACCTTGCTTGAGAAGGTTTTGGGACGCTCGAAGGCTTTAATTTGATGTCGTAATAACCCCGCCCCGACGCCATTTTAAGTCCAAAGGCACAATTTTACGTTGGAACTAAACGGTAAAGATCAAATATCACCTTTATTCTTTTTTGGTATGCATCGATTTCTTTGCCAGTAAGAACTACGTGCAACTCTACATTAGATCAAAATATAACGGATCATAAATGCAAACAACATTTGTCCAAAAGAAACAAAAATGTTGGCGTTTGTCTCGAACATGACACAATACTCCTTGATCGAGGGACATTGCCCGATTAACTATGATTTATACTTTTTACTACAGGTACTCGTTCTCCCTACTATTTCACCAGTATACGGTCGTTTTATGATTCATTTATTGCCTATAATGGTAAAAAGGGACATCTTAACCTTACGTGTTGCAATGAGACCATTCTTTTCGATTCATCAACTGTGAAATTTCTGAAATCCAGTACAATGCGAAACGCTACCGATAATGGCACCGTCTTTTGAATTATGAGGCCCAGATATGGCGTTCAATCTTCAACAAAAAAATGAATATCAAAACTAAATTCTATCTGGATAACAATCTTTCTTTGGTTTGCAGAAATATCATTAAAAAACAATCCATAACTACTAAGGAAGGGTATAAATGGTTTGGTTTACTAATTTTATATTTTGATTTGATTAGCAATTATAATCTCTAATATACTATTTCTGTAGCCAAAAATCTGCAATGTCAATAAGTAGCAAGTGCCGCTTACTCGTGAGAATATCAACCTTATAGCATATGTTTTCTATTTTTTTTTTTTGCTTATGGAGATAATGAACATTGTACACATGAACAAAGTGGTAGTTCTCTCTCCTTGATTTTTTGTGCTTGCGATATATATAATTGTTACATTCAATGGCCATGCTAAATAAAGGTTTTAGCTTTGTTTCACTCGTGCCCAGGATAATTGTTTAAACCATGGTCATAGCTGTTTCCTGTGTGAAATTGTTATCCGCTCACAATTCCACACAACATACGAGCCGGAAGCATAAAGTGTAAAGCCTGGGGTGCCTAATGAGTGAGCTAACTCACATTAATTGCGTTGCGCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGAACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAATACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTC\", \"circular\": true, \"name\": \"pMODKan_HO_pACT1GE\"}'"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pKL278.json()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
import coral as cor
pKL278 = cor.seqio.read_dna('files_for_tutorial/maps/pMODKan-HO-pACT1GEV.ape')
pKL278.display()
{
"features": [
{
"color": [
"#96bbff"
],
"start": 28,
"stop": 51,
"name": "pGEX_3_primer",
"type": "misc_feature"
},
{
"color": [
"#0064ff"
],
"start": 132,
"stop": 154,
"name": "pMOD_t1pre",
"type": "misc_feature"
},
{
"color": [
"#ff0000"
],
"start": 154,
"stop": 162,
"name": "PmeI(1)",
"type": "misc_feature"
},
{
"color": [
"cyan"
],
"start": 162,
"stop": 725,
"name": "HO Targeting 1",
"type": "misc_feature"
},
{
"color": [
"#0071ff"
],
"start": 725,
"stop": 755,
"name": "pMOD_t1suf",
"type": "misc_feature"
},
{
"color": [
"#edd079"
],
"start": 755,
"stop": 1152,
"name": "KANMX Wach et al 1994 (genome del. project)",
"type": "misc_feature"
},
{
"color": [
"#acb1ff"
],
"start": 1152,
"stop": 1962,
"name": "KanMX CDS",
"type": "misc_feature"
},
{
"color": [
"#e9c021"
],
"start": 1962,
"stop": 2200,
"name": "KanMX terminator",
"type": "misc_feature"
},
{
"color": [
"#1ed628"
],
"start": 2200,
"stop": 2224,
"name": "M13 Forward (-47) primer",
"type": "primer_bind"
},
{
"color": [
"#f6ff39"
],
"start": 2224,
"stop": 2885,
"name": "pACT1",
"type": "misc_feature"
},
{
"color": [
"cyan"
],
"start": 2921,
"stop": 2932,
"name": "Extra sequence not found in Gottschling map",
"type": "misc_feature"
},
{
"color": [
"#00ff29"
],
"start": 2940,
"stop": 3218,
"name": "GAL4(1-93) DBD",
"type": "misc_feature"
},
{
"color": [
"cyan"
],
"start": 3218,
"stop": 3219,
"name": "Differs from Gottschling map (backbone)",
"type": "misc_feature"
},
{
"color": [
"#6c59ff"
],
"start": 3255,
"stop": 4140,
"name": "hER HBD",
"type": "misc_feature"
},
{
"color": [
"cyan"
],
"start": 4140,
"stop": 4344,
"name": "HSV1 VP16",
"type": "misc_feature"
},
{
"color": [
"#ff4638"
],
"start": 4235,
"stop": 4236,
"name": "Differs from Gottschling Map",
"type": "misc_feature"
},
{
"color": [
"#d0410e"
],
"start": 4344,
"stop": 4347,
"name": "stop codon",
"type": "misc_feature"
},
{
"color": [
"#40ff40"
],
"start": 4347,
"stop": 4377,
"name": "L2",
"type": "misc_feature"
},
{
"color": [
"#eb66ff"
],
"start": 4377,
"stop": 4399,
"name": "T + pBluescript KS linker",
"type": "misc_feature"
},
{
"color": [
"#59c0cb"
],
"start": 4403,
"stop": 4643,
"name": "CYC1",
"type": "terminator"
},
{
"color": [
"#6cc0cb"
],
"start": 4412,
"stop": 4431,
"name": "pYESTrp_rev primer",
"type": "primer_bind"
},
{
"color": [
"#6cc0cb"
],
"start": 4643,
"stop": 4665,
"name": "T7 EEV primer",
"type": "primer_bind"
},
{
"color": [
"cyan"
],
"start": 4665,
"stop": 5571,
"name": "upstream HO targeting",
"type": "misc_feature"
},
{
"color": [
"#96bbff"
],
"start": 5571,
"stop": 5579,
"name": "PmeI",
"type": "misc_feature"
},
{
"color": [
"#ff0000"
],
"start": 5571,
"stop": 5579,
"name": "PmeI site",
"type": "misc_feature"
},
{
"color": [
"#00ff00"
],
"start": 5579,
"stop": 5619,
"name": "M13R",
"type": "misc_feature"
},
{
"color": [
"cyan"
],
"start": 5804,
"stop": 5889,
"name": "origin-extended",
"type": "misc_feature"
},
{
"color": [
"#f1de49"
],
"start": 5889,
"stop": 6744,
"name": "ori",
"type": "misc_feature"
},
{
"color": [
"cyan"
],
"start": 6426,
"stop": 6427,
"name": "is a g in normal maps.",
"type": "misc_feature"
},
{
"color": [
"#fcabe4"
],
"start": 6744,
"stop": 7605,
"name": "bla",
"type": "misc_feature"
},
{
"color": [
"#f96061"
],
"start": 7605,
"stop": 7684,
"name": "AmpR promoter",
"type": "misc_feature"
},
{
"color": [
"cyan"
],
"start": 7684,
"stop": 7704,
"name": "New Feature",
"type": "misc_feature"
}
],
"bottom": "GACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTCCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTTCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGGTTTAAACAATTATCCTGGGCACGAGTGAAACAAAGCTAAAACCTTTATTTAGCATGGCCATTGAATGTAACAATTATATATATCGCAAGCACAAAAAATCAAGGAGAGAGAACTACCACTTTGTTCATGTGTACAATGTTCATTATCTCCATAAGCAAAAAAAAAAAATAGAAAACATATGCTATAAGGTTGATATTCTCACGAGTAAGCGGCACTTGCTACTTATTGACATTGCAGATTTTTGGCTACAGAAATAGTATATTAGAGATTATAATTGCTAATCAAATCAAAATATAAAATTAGTAAACCAAACCATTTATACCCTTCCTTAGTAGTTATGGATTGTTTTTTAATGATATTTCTGCAAACCAAAGAAAGATTGTTATCCAGATAGAATTTAGTTTTGATATTCATTTTTTTGTTGAAGATTGAACGCCATATCTGGGCCTCATAATTCAAAAGACGGTGCCATTATCGGTAGCGTTTCGCATTGTACTGGATTTCAGAAATTTCACAGTTGATGAATCGAAAAGAATGGTCTCATTGCAACACGTAAGGTTAAGATGTCCCTTTTTACCATTATAGGCAATAAATGAATCATAAAACGACCGTATACTGGTGAAATAGTAGGGAGAACGAGTACCTGTAGTAAAAAGTATAAATCATAGTTAATCGGGCAATGTCCCTCGATCAAGGAGTATTGTGTCATGTTCGAGACAAACGCCAACATTTTTGTTTCTTTTGGACAAATGTTGTTTGCATTTATGATCCGTTATATTTTGATCTAATGTAGAGTTGCACGTAGTTCTTACTGGCAAAGAAATCGATGCATACCAAAAAAGAATAAAGGTGATATTTGATCTTTACCGTTTAGTTCCAACGTAAAATTGTGCCTTTGGACTTAAAATGGCGTCGGGGCGGGGTTATTACGACATCAAATTAAAGCCTTCGAGCGTCCCAAAACCTTCTCAAGCAAGGTTTTCAGTATAATGTTACATGCGTACACGCGTCTGTACAGAAAAAAAAGAAAAATTTGAAATATAAATAACGTTCTTAATACTAACATAACTATAAAAAAATAAATAGGGACCTAGACTTCAGGTTGTCTAACTCCTTCCTTTTCGGTTAGAGCGGATGTGGGGGGAGGGCGTGAATGTAAGCGTGACATAACTAATTACATGACTCGAGGTCGACGGTATCAGGATCCGGATCCACTTCCGGAACCGGATCCCTACCCACCGTACTCGTCAATTCCAAGGGCATCGGTAAACATCTGCTCAAACTCGAAGTCGGCCATATCCAGAGCGCCGTAGGGGGCGGAGTCGTGGGGGGTAAATCCCGGACCCGGGGAATCCCCGTCCCCCAACATGTCCAGATCGAAATCGTCTAGCGCGTCGGCATGCGCCATCGCCACGTCCTCGCCGTCTAAGTGGAGCTCCGATGAAGTAGAGCCCGCAGTGGCCAAGTGGCTTTGGTCCGTCTCCTCCACGGATGCCCCTCCACGGCTAGTGGGCGCATGTAGGCGGTGGGCGTCCAGCATCTCCAGCAGCAGGTCATAGAGGGGCACCACGTTCTTGCACTTCATGCTGTACAGATGCTCCATGCCTTTGTTACTCATGTGCCTGATGTGGGAGAGGATGAGGAGGAGCTGGGCCAGCCGCTGGTGCTGCTGCTGCAGGGTCAGGCCTGCCTTGGCCATCAGGTGGATCAAAGTGTCTGTGATCTTGTCCAGGACTCGGTGGATATGGTCCTTCTCTTCCAGAGACTTCAGGGTGCTGGACAGAAATGTGTACACTCCAGAATTAAGCAAAATAATAGATTTGAGGCACACAAACTCCTCTCCCTGCAGATTCATCATGCGGAACCGAGATGATGTAGCCAGCAGCATGTCGAAGATCTCCACCATGCCCTCTACACATTTTCCCTGGTTCCTGTCCAAGAGCAAGTTAGGAGCAAACAGTAGCTTCACTGGGTGCTCCATGGAGCGCCAGACGAGACCAATCATCAGGATCTCTAGCCAGGCACATTCTAGAAGGTGGACCTGATCATGGAGGGTCAAATCCACAAAGCCTGGCACCCTCTTCGCCCAGTTGATCATGTGAACCAGCTCCCTGTCTGCCAGGTTGGTCAGTAAGCCCATCATCGAAGCTTCACTGAAGGGTCTGGTAGGATCATACTCGGAATAGAGTATGGGGGGCTCAGCATCCAACAAGGCACTGACCATCTGGTCGGCCGTCAGGGACAAGGCCAGGCTGTTCTTCTTAGAGCGTTTGATCATGAGCGGGCTTGGCCAAAGGTTGGCAGCTCTCATGTCTCCAGCAGATGGATCCTCTAGAGTCGACGCAGCTGCAGGGGTACCCAACAATGCTTTTATATCCTGTAAAGAATCCATTTTCAAAATCATGTCAAGGTCTTCTCGAGGAAAAATCAGTAGAAATAGCTGTTCCAGTCTTTCTAGCCTTGATTCCACTTCTGTCAGATGTGCCCTAGTCAGCGGAGACCTTTTGGTTTTGGGAGAGTAGCGACACTCCCAGTTGTTCTTCAGACACTTGGCGCACTTCGGTTTTTCTTTGGAGCACTTGAGCTTTTTAAGTCGGCAAATATCGCATGCTTGTTCGATAGAAGACAGTAGCTTCATCTTTCAGGAGGCTTGCTTCAAGCTTATCGATACCGTCGACCTCGAGGGGGGGCCCTGTTAATTCAGTAAATTTTCGATCTTGGGAAGAAAAAAGCAGTAAGCGTGAAAAATCTAAAAGCTGATGTAGTAGAAGATCCTATTCTTTAACAAAGATTGACCTTTTCTTTTTCTTCTTGGTTTGAGTAGAAAGGGGAAGGAAGAATACAAGAGAGAGGAAAAAAAGGAAGATAAAAAGAGAGCGTGATATAAATGAATATATATTAAACAAGAGAGATTGGGAAGGAAAGGATCAAACAAACCCAAAAATATTTCAAAAAGGAGAGAGAGAGGCGAGTTTGGTTTCAAAACGGTTTATTTATTTATGCAAGAGGACGTGGAAGAAAAAGAAGAAGGAAGAAAAAAATTTGAAAGAAAAAAACGCGTGGCGGGTAAAGAAGAAAATGGAAAATAGAGGCCGGGTGACAGAGAAATATTGAGGGTTAATTGGAAAATATGTTAGGGTGAGGCATATGTTTTTAAGGGTTTTGAGGATCCGATAAGGAAGAATGTAGGTTAAATGTTGTGCATTAATTGCTGTGGCAGCTTACCCGCTTCCCCACACATTTTGGTAGTATCTGTCCTCTTGTTATTGTTACTGTAATTGTGTATATATGTTCTCGCGTGTGTCTTATTTACTTATTTAGTTATTATATTATATGGGTCTGCAAGGTAGAGGCGTCGTGACTGGGAAAACCCTGGCGGACACTGGATGGCGGCGTTAGTATCGAATCGACAGCAGTATAGCGACCAGCATTCACATACGATTGACGCATGATATTACTTTCTGCGCACTTAACTTCGCATCTGGGCAGATGATGTCGAGGCGAAAAAAAATATAAATCACGCTAACATTTGATTAAAATAGAACAACTACAATATAAAAAAACTATACAAATGACAAGTTCTTGAAAACAAGAATCTTTTTATTGTCAGTACTGATTAGAAAAACTCATCGAGCATCAAATGAAACTGCAATTTATTCATATCAGGATTATCAATACCATATTTTTGAAAAAGCCGTTTCTGTAATGAAGGAGAAAACTCACCGAGGCAGTTCCATAGGATGGCAAGATCCTGGTATCGGTCTGCGATTCCGACTCGTCCAACATCAATACAACCTATTAATTTCCCCTCGTCAAAAATAAGGTTATCAAGTGAGAAATCACCATGAGTGACGACTGAATCCGGTGAGAATGGCAAAAGCTTATGCATTTCTTTCCAGACTTGTTCAACAGGCCAGCCATTACGCTCGTCATCAAAATCACTCGCATCAACCAAACCGTTATTCATTCGTGATTGCGCCTGAGCGAGACGAAATACGCGATCGCTGTTAAAAGGACAATTACAAACAGGAATCGAATGCAACCGGCGCAGGAACACTGCCAGCGCATCAACAATATTTTCACCTGAATCAGGATATTCTTCTAATATCTGGAATGCTGTTTTGCCGGGGATCGCAGTGGTGAGTAACCATGCATCATCAGGAGTACGGATAAAATGCTTGATGGTCGGAAGAGGCATAAATTCCGTCAGCCAGTTTAGTCTGACCATCTCATCTGTAACATCATTGGCAACGCTACCTTTGCCATGTTTCAGAAACAACTCTGGCGCATCGGGCTTCCCATACAATCGATAGATTGTCGCACCTGATTGCCCGACATTATCGCGAGCCCATTTATACCCATATAAATCAGCATCCATGTTGGAATTTAATCGCGGCCTCGAAACGTGAGTCTTTTCCTTACCCATGGTTGTTTATGTTCGGATGTGATGTGAGAACTGTATCCTAGCAAGATTTTAAAAGGAAGTATATGAAAGAAGAACCTCAGTGGCAAATCCTAACCTTTTATATTTCTCTACAGGGGCGCGGCGTGGGGACAATTCAACGCGTCTGTGAGGGGAGCGTTTCCCTGCTCGCAGGTCTGCAGCGAGGAGCCGTAATTTTTGCTTCGCGCCGTGCGGCCATCAAAATGTATGGATGCAAATGATTATACATGGGGATGTATGGGCTAAATGTACGGGCGACAGTCACATCATGCCCCTGAGCTGCGCACGTCAAGACTGTCAAGGAGGGTATTCTGGGCCCCCATGTCGCTGGCCGGGTGACCCGGCGGGGACGAGGCAAGCTAAACAGATCTGGCGCGCCGGTGCACTCTCAGTACAATCTGCTCTGATGCTGGGGGAACAACTTCACAGAATGTTTTGTCATATTGTCGAAGTGGTCACAAAACAAGAGAAGTTCCGCCAATTATAAAAAGGGAACCCGTATATTTCAGCTTCACGGATGATTTCCAGGGTGAGAGTACTGTATATGGGCTTACGATAGAAGGCCATAAAAATTTCTTGCTTGGCAACAAAATAGAAGTGAAATCATGTCGAGGCTGCTGTGTGGGAGAACAGCTTAAAATATCACAAAAAAAGAATCTAAAACACTGTGTTGCTTGTCCCAGAAAGGGAATCAAGTATTTTTATAAAGATTGGAGTGGTAAAAATCGAGTATGTGCTAGATGCTATGGAAGATACAAATTCAGCGGTCATCACTGTATAAATTGCAAGTATGTACCAGAAGCACGTGAAGTGAAAAAGGCAAAAGACAAAGGCGAAAAATTGGGCATTACGCCCGAAGGTTTGCCAGTTAAAGGACCAGAGTGTATAAAATGTGGCGGAATCTTACAGTTTGATGCTGTCCGCGGGCCTCATAAGAGTTGTGGTAACAACGCAGGTGCGCGCATCTGCTAAGTTTAAACGCCGCATAGTTAAGCCAGCCCCGACACCCGCCAACACCCGCTGACGCGCCCTGACGGGCTTGTCTGCTCCCGGCATCCGCTTACAGACAAGCTGTGACCGTCTCCGGGAGCTGCATGTGTCAGAGGTTTTCACCGTCATCACCGAAACGCGCGA",
"material": "dna",
"sequence": "TCGCGCGTTTCGGTGATGACGGTGAAAACCTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCTGGCTTAACTATGCGGCGTTTAAACTTAGCAGATGCGCGCACCTGCGTTGTTACCACAACTCTTATGAGGCCCGCGGACAGCATCAAACTGTAAGATTCCGCCACATTTTATACACTCTGGTCCTTTAACTGGCAAACCTTCGGGCGTAATGCCCAATTTTTCGCCTTTGTCTTTTGCCTTTTTCACTTCACGTGCTTCTGGTACATACTTGCAATTTATACAGTGATGACCGCTGAATTTGTATCTTCCATAGCATCTAGCACATACTCGATTTTTACCACTCCAATCTTTATAAAAATACTTGATTCCCTTTCTGGGACAAGCAACACAGTGTTTTAGATTCTTTTTTTGTGATATTTTAAGCTGTTCTCCCACACAGCAGCCTCGACATGATTTCACTTCTATTTTGTTGCCAAGCAAGAAATTTTTATGGCCTTCTATCGTAAGCCCATATACAGTACTCTCACCCTGGAAATCATCCGTGAAGCTGAAATATACGGGTTCCCTTTTTATAATTGGCGGAACTTCTCTTGTTTTGTGACCACTTCGACAATATGACAAAACATTCTGTGAAGTTGTTCCCCCAGCATCAGAGCAGATTGTACTGAGAGTGCACCGGCGCGCCAGATCTGTTTAGCTTGCCTCGTCCCCGCCGGGTCACCCGGCCAGCGACATGGGGGCCCAGAATACCCTCCTTGACAGTCTTGACGTGCGCAGCTCAGGGGCATGATGTGACTGTCGCCCGTACATTTAGCCCATACATCCCCATGTATAATCATTTGCATCCATACATTTTGATGGCCGCACGGCGCGAAGCAAAAATTACGGCTCCTCGCTGCAGACCTGCGAGCAGGGAAACGCTCCCCTCACAGACGCGTTGAATTGTCCCCACGCCGCGCCCCTGTAGAGAAATATAAAAGGTTAGGATTTGCCACTGAGGTTCTTCTTTCATATACTTCCTTTTAAAATCTTGCTAGGATACAGTTCTCACATCACATCCGAACATAAACAACCATGGGTAAGGAAAAGACTCACGTTTCGAGGCCGCGATTAAATTCCAACATGGATGCTGATTTATATGGGTATAAATGGGCTCGCGATAATGTCGGGCAATCAGGTGCGACAATCTATCGATTGTATGGGAAGCCCGATGCGCCAGAGTTGTTTCTGAAACATGGCAAAGGTAGCGTTGCCAATGATGTTACAGATGAGATGGTCAGACTAAACTGGCTGACGGAATTTATGCCTCTTCCGACCATCAAGCATTTTATCCGTACTCCTGATGATGCATGGTTACTCACCACTGCGATCCCCGGCAAAACAGCATTCCAGATATTAGAAGAATATCCTGATTCAGGTGAAAATATTGTTGATGCGCTGGCAGTGTTCCTGCGCCGGTTGCATTCGATTCCTGTTTGTAATTGTCCTTTTAACAGCGATCGCGTATTTCGTCTCGCTCAGGCGCAATCACGAATGAATAACGGTTTGGTTGATGCGAGTGATTTTGATGACGAGCGTAATGGCTGGCCTGTTGAACAAGTCTGGAAAGAAATGCATAAGCTTTTGCCATTCTCACCGGATTCAGTCGTCACTCATGGTGATTTCTCACTTGATAACCTTATTTTTGACGAGGGGAAATTAATAGGTTGTATTGATGTTGGACGAGTCGGAATCGCAGACCGATACCAGGATCTTGCCATCCTATGGAACTGCCTCGGTGAGTTTTCTCCTTCATTACAGAAACGGCTTTTTCAAAAATATGGTATTGATAATCCTGATATGAATAAATTGCAGTTTCATTTGATGCTCGATGAGTTTTTCTAATCAGTACTGACAATAAAAAGATTCTTGTTTTCAAGAACTTGTCATTTGTATAGTTTTTTTATATTGTAGTTGTTCTATTTTAATCAAATGTTAGCGTGATTTATATTTTTTTTCGCCTCGACATCATCTGCCCAGATGCGAAGTTAAGTGCGCAGAAAGTAATATCATGCGTCAATCGTATGTGAATGCTGGTCGCTATACTGCTGTCGATTCGATACTAACGCCGCCATCCAGTGTCCGCCAGGGTTTTCCCAGTCACGACGCCTCTACCTTGCAGACCCATATAATATAATAACTAAATAAGTAAATAAGACACACGCGAGAACATATATACACAATTACAGTAACAATAACAAGAGGACAGATACTACCAAAATGTGTGGGGAAGCGGGTAAGCTGCCACAGCAATTAATGCACAACATTTAACCTACATTCTTCCTTATCGGATCCTCAAAACCCTTAAAAACATATGCCTCACCCTAACATATTTTCCAATTAACCCTCAATATTTCTCTGTCACCCGGCCTCTATTTTCCATTTTCTTCTTTACCCGCCACGCGTTTTTTTCTTTCAAATTTTTTTCTTCCTTCTTCTTTTTCTTCCACGTCCTCTTGCATAAATAAATAAACCGTTTTGAAACCAAACTCGCCTCTCTCTCTCCTTTTTGAAATATTTTTGGGTTTGTTTGATCCTTTCCTTCCCAATCTCTCTTGTTTAATATATATTCATTTATATCACGCTCTCTTTTTATCTTCCTTTTTTTCCTCTCTCTTGTATTCTTCCTTCCCCTTTCTACTCAAACCAAGAAGAAAAAGAAAAGGTCAATCTTTGTTAAAGAATAGGATCTTCTACTACATCAGCTTTTAGATTTTTCACGCTTACTGCTTTTTTCTTCCCAAGATCGAAAATTTACTGAATTAACAGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGAAGCAAGCCTCCTGAAAGATGAAGCTACTGTCTTCTATCGAACAAGCATGCGATATTTGCCGACTTAAAAAGCTCAAGTGCTCCAAAGAAAAACCGAAGTGCGCCAAGTGTCTGAAGAACAACTGGGAGTGTCGCTACTCTCCCAAAACCAAAAGGTCTCCGCTGACTAGGGCACATCTGACAGAAGTGGAATCAAGGCTAGAAAGACTGGAACAGCTATTTCTACTGATTTTTCCTCGAGAAGACCTTGACATGATTTTGAAAATGGATTCTTTACAGGATATAAAAGCATTGTTGGGTACCCCTGCAGCTGCGTCGACTCTAGAGGATCCATCTGCTGGAGACATGAGAGCTGCCAACCTTTGGCCAAGCCCGCTCATGATCAAACGCTCTAAGAAGAACAGCCTGGCCTTGTCCCTGACGGCCGACCAGATGGTCAGTGCCTTGTTGGATGCTGAGCCCCCCATACTCTATTCCGAGTATGATCCTACCAGACCCTTCAGTGAAGCTTCGATGATGGGCTTACTGACCAACCTGGCAGACAGGGAGCTGGTTCACATGATCAACTGGGCGAAGAGGGTGCCAGGCTTTGTGGATTTGACCCTCCATGATCAGGTCCACCTTCTAGAATGTGCCTGGCTAGAGATCCTGATGATTGGTCTCGTCTGGCGCTCCATGGAGCACCCAGTGAAGCTACTGTTTGCTCCTAACTTGCTCTTGGACAGGAACCAGGGAAAATGTGTAGAGGGCATGGTGGAGATCTTCGACATGCTGCTGGCTACATCATCTCGGTTCCGCATGATGAATCTGCAGGGAGAGGAGTTTGTGTGCCTCAAATCTATTATTTTGCTTAATTCTGGAGTGTACACATTTCTGTCCAGCACCCTGAAGTCTCTGGAAGAGAAGGACCATATCCACCGAGTCCTGGACAAGATCACAGACACTTTGATCCACCTGATGGCCAAGGCAGGCCTGACCCTGCAGCAGCAGCACCAGCGGCTGGCCCAGCTCCTCCTCATCCTCTCCCACATCAGGCACATGAGTAACAAAGGCATGGAGCATCTGTACAGCATGAAGTGCAAGAACGTGGTGCCCCTCTATGACCTGCTGCTGGAGATGCTGGACGCCCACCGCCTACATGCGCCCACTAGCCGTGGAGGGGCATCCGTGGAGGAGACGGACCAAAGCCACTTGGCCACTGCGGGCTCTACTTCATCGGAGCTCCACTTAGACGGCGAGGACGTGGCGATGGCGCATGCCGACGCGCTAGACGATTTCGATCTGGACATGTTGGGGGACGGGGATTCCCCGGGTCCGGGATTTACCCCCCACGACTCCGCCCCCTACGGCGCTCTGGATATGGCCGACTTCGAGTTTGAGCAGATGTTTACCGATGCCCTTGGAATTGACGAGTACGGTGGGTAGGGATCCGGTTCCGGAAGTGGATCCGGATCCTGATACCGTCGACCTCGAGTCATGTAATTAGTTATGTCACGCTTACATTCACGCCCTCCCCCCACATCCGCTCTAACCGAAAAGGAAGGAGTTAGACAACCTGAAGTCTAGGTCCCTATTTATTTTTTTATAGTTATGTTAGTATTAAGAACGTTATTTATATTTCAAATTTTTCTTTTTTTTCTGTACAGACGCGTGTACGCATGTAACATTATACTGAAAACCTTGCTTGAGAAGGTTTTGGGACGCTCGAAGGCTTTAATTTGATGTCGTAATAACCCCGCCCCGACGCCATTTTAAGTCCAAAGGCACAATTTTACGTTGGAACTAAACGGTAAAGATCAAATATCACCTTTATTCTTTTTTGGTATGCATCGATTTCTTTGCCAGTAAGAACTACGTGCAACTCTACATTAGATCAAAATATAACGGATCATAAATGCAAACAACATTTGTCCAAAAGAAACAAAAATGTTGGCGTTTGTCTCGAACATGACACAATACTCCTTGATCGAGGGACATTGCCCGATTAACTATGATTTATACTTTTTACTACAGGTACTCGTTCTCCCTACTATTTCACCAGTATACGGTCGTTTTATGATTCATTTATTGCCTATAATGGTAAAAAGGGACATCTTAACCTTACGTGTTGCAATGAGACCATTCTTTTCGATTCATCAACTGTGAAATTTCTGAAATCCAGTACAATGCGAAACGCTACCGATAATGGCACCGTCTTTTGAATTATGAGGCCCAGATATGGCGTTCAATCTTCAACAAAAAAATGAATATCAAAACTAAATTCTATCTGGATAACAATCTTTCTTTGGTTTGCAGAAATATCATTAAAAAACAATCCATAACTACTAAGGAAGGGTATAAATGGTTTGGTTTACTAATTTTATATTTTGATTTGATTAGCAATTATAATCTCTAATATACTATTTCTGTAGCCAAAAATCTGCAATGTCAATAAGTAGCAAGTGCCGCTTACTCGTGAGAATATCAACCTTATAGCATATGTTTTCTATTTTTTTTTTTTGCTTATGGAGATAATGAACATTGTACACATGAACAAAGTGGTAGTTCTCTCTCCTTGATTTTTTGTGCTTGCGATATATATAATTGTTACATTCAATGGCCATGCTAAATAAAGGTTTTAGCTTTGTTTCACTCGTGCCCAGGATAATTGTTTAAACCATGGTCATAGCTGTTTCCTGTGTGAAATTGTTATCCGCTCACAATTCCACACAACATACGAGCCGGAAGCATAAAGTGTAAAGCCTGGGGTGCCTAATGAGTGAGCTAACTCACATTAATTGCGTTGCGCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGAACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAATACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTC",
"circular": true,
"name": "pMODKan_HO_pACT1GE"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment