window.JST = window.JST || {};
var template = function(str){var fn = new Function('obj', 'var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push(\''+str.replace(/\\/g, '\\\\').replace(/'/g, "\\'").replace(/<%=([\s\S]+?)%>/g,function(match,code){return "',"+code.replace(/\\'/g, "'")+",'";}).replace(/<%([\s\S]+?)%>/g,function(match,code){return "');"+code.replace(/\\'/g, "'").replace(/[\r\n\t]/g,' ')+"__p.push('";}).replace(/\r/g,'\\r').replace(/\n/g,'\\n').replace(/\t/g,'\\t')+"');}return __p.join('');");return fn;};
window.JST['blast-results'] = template('<table class="table table-condensed table-bordered">\n    <tr class="success">\n        <th>Query</th>\n        <th>Fragment</th>\n        <th>e-value</th>\n        <th>Alignment</th>\n    </tr>\n\n    <tr ng-repeat="hit in blast_results">\n        <td> Query {{ hit.query_start }}-{{ hit.query_end }} </td>\n        <td>\n            {{ hit.hit_def }}\n            <a href="#/genomes/{{ genome.id }}/fragments/{{ hit.fragment_id }}?bp={{ hit.subject_start }}"\n             >{{ hit.subject_start }}-{{ hit.subject_end }}</a>\n        </td>\n        <td> {{ hit.evalue.toExponential(4) }} </td>\n        <td>\n            <div class="alignment">\n                <div>{{ hit.alignment.subject }}</div>\n                <div>{{ hit.alignment.matchi }}</div>\n                <div>{{ hit.alignment.query }}</div>\n            </div>\n        </td>\n    </tr>\n</table>\n');
window.JST['fragment-annotation-list'] = template('<div class="well" ng-show="annotate_error">\n    <span class="text-danger">Error: {{ annotate_error.message }}</span>\n</div>\n\n<form class="form-inline" role="form">\n    From\n    <div class="form-group">\n        <input required class="form-control" type="text" ng-model="annotation.base_first" size="6"\n         placeholder="Bp" />\n    </div>\n    To\n    <div class="form-group">\n        <input required class="form-control" type="text" ng-model="annotation.base_last" size="6"\n         placeholder="Bp" />\n    </div>\n    <div class="form-group">\n        <input required class="form-control" type="text" ng-model="annotation.name" size="8"\n         placeholder="Name" />\n    </div>\n    <br/>\n    <div class="form-group space-top-small">\n        <select required class="form-control select-mini" ng-model="annotation.type"\n         ng-options="feature_type for feature_type in featureTypes">\n        </select>\n    </div>\n    <div class="form-group space-top-small">\n        <select required class="form-control select-mini" ng-model="annotation.strand">\n            <option value="1">Fwd</option>\n            <option value="-1">Rev</option>\n        </select>\n    </div>\n    <div class="form-group space-top-small">\n        <button class="btn btn-primary" ng-click="addAnnotation(annotation)">Annotate</button>\n    </div>\n</form>\n\n<div class="space-top annotation-control">\n    <div class="input-group">\n        <span class="input-group-addon"> Search: </span>\n        <input ng-model="query" class=\'form-control\'>\n        <span class="input-group-addon"> Sort by: </span>\n        <select ng-model="annotationOrderProp" class=\'form-control\'>\n            <option value="base_first">Position</option>\n            <option value="name">Alphabetical</option>\n        </select>\n    </div>\n</div>\n\n<div ng-if="display_summary == false || (query && query.length >= 2)">\n<table class="table table-striped table-condensed">\n<thead><tr> <th>Start</th> <th>End</th> <th>Name</th> <th>Type</th> <th>Strand</th> </tr></thead>\n<tr ng-repeat="annotation in zoom.annotations | filter:query | orderBy:annotationOrderProp">\n    <td>{{ annotation.base_first }}</td>\n    <td>{{ annotation.base_last }}</td>\n    <td>\n        <a href=\'javascript:void(0);\' ng-click="zoomAt(annotation)" title="{{ annotation.formatted_qualifiers }}"\n         >{{ annotation.display_name }}</a>\n    </td>\n    <td>{{ annotation.type }}</td>\n    <td>{{ annotation.strand }}</td>\n</tr>\n</table>\n</div>\n\n');
window.JST['fragment-detail'] = template('<header>\n  <div class="container">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/fragments">Fragments</a> </li>\n        <li ng-bind-html-unsafe=\'fragment.name\'></li>\n    </ol>\n  </div>\n</header>\n\n<div class="container container-wide">\n\n<h3>\n  <div class="dropdown pull-right" ng-if="!genomes">\n    <a class="btn btn-default" href="javascript:void(0);"\n       data-toggle="dropdown">Operations <span class=\'caret\'></span></a>\n    <ul class="dropdown-menu">\n      <li> <a href="/admin/edge/fragment/{{ fragment.id }}/">Edit Name, Status</a> </li>\n    </ul>\n  </div>\n\n  Fragment {{ fragment.id }}: <span ng-bind-html-unsafe=\'fragment.name\'></span>, {{ fragment.length | number }} bps\n</h3>\n\n<p ng-if=\'genomes\' class="lead space-top">\n  <span ng-repeat=\'genome in genomes\'>\n    Genome: <a href="#/genomes/{{ genome.id }}" ng-bind-html-unsafe=\'genome.name\'></a>\n    <br/>\n  </span>\n</p>\n\n<partial template="fragment-layout"></partial>\n\n</div> <!-- container -->\n\n');
window.JST['fragment-layout'] = template('<div class="row">\n\n<!-- left -->\n<div class="col-md-7">\n    <partial template="fragment-left"></partial>\n    <div ng-if="!fetchedAnnotations" class="progress progress-striped active space-top">\n      <div class="progress-bar" role="progressbar"\n           aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%">\n        <span class="sr-only">45% Complete</span>\n      </div>\n    </div>\n</div>\n<!-- left -->\n\n<!-- right -->\n<div class="col-md-5">\n    <partial template="fragment-annotation-list"></partial>\n</div> <!-- right -->\n\n</div> <!-- row -->\n');
window.JST['fragment-left'] = template('<div ng-show="display_summary">\n    <span ng-repeat="annotation in summary_annotations | orderBy:base_first"\n          class="pull-left {{ annotation.display_css }}"\n          ng-click="zoomAt(annotation)" title="bp {{ annotation.base_first | number }}">\n        {{ annotation.display_name }}\n    </span>\n    <div class="clearfix"></div>\n    <div ng-if="fragment.length < 10000">\n      <button class="btn btn-primary" ng-click="fetchAllSequence()">Show Sequence</button>\n      <textarea class="sequence" readonly ng-if="sequence">{{ sequence.sequence }}</textarea>\n    </div>\n</div>\n\n<div ng-show="display_summary == false">\n\n    <form class="form-inline bp-control">\n        <button class="btn btn-default" ng-click="zoomOut()">\n          <span class="glyphicon glyphicon-zoom-out"></span>\n        </button>\n\n        <button class="btn btn-default" ng-click="zoomMoveLeft()">\n          <span class="glyphicon glyphicon-arrow-left"></span>\n        </button>\n\n        Bps:\n        <div class="form-group">\n            <input class="form-control" type="text" ng-model="zoom.base_first" size="6" ng-change="updateBaseInput()" />\n        </div>\n        <div class="form-group">\n            <input class="form-control" type="text" ng-model="zoom.base_last" size="6" ng-change="updateBaseInput()" />\n        </div>\n        <button class="btn btn-default" ng-click="userGoto()">Go</button>\n\n        <button class="btn btn-default" ng-click="zoomMoveRight()">\n          <span class="glyphicon glyphicon-arrow-right"></span>\n        </button>\n\n        <button class="btn btn-default" ng-click="zoomIn()">\n          <span class="glyphicon glyphicon-zoom-in"></span>\n        </button>\n\n        <button class="btn btn-default" ng-click="showSummary()">\n          <span class="glyphicon glyphicon-fullscreen"></span>\n        </button>\n    </form>\n\n    <div class="zoom-container">\n        <span ng-repeat="display in zoom.display"\n              class="{{ display.css }}"\n              style="left:{{ display.left }}; top:{{ display.top }}; width:{{ display.width }};"\n              ng-click="zoomAtExact(display.annotation)" title="{{ display.formatted_qualifiers }}">\n            {{ display.title }}\n        </span>\n    </div>\n\n    <div class="clearfix"></div>\n\n    <div class="sequence-container">\n        <button class="btn btn-primary" ng-click="fetchSequence()">Show Sequence</button>\n        <div ng-show="zoom.has_sequence">\n            <div id="sequence-viewer"></div>\n        </div>\n    </div>\n\n</div>\n');
window.JST['fragment-list'] = template('<header>\n  <div class="container">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/genomes">Genomes</a> </li>\n        <li> <a href="#/fragments">Fragments</a> </li>\n    </ol>\n  </div>\n</header>\n\n<div class="container">\n\n<p class="lead">Fragments</p>\n\n<p>\n    Define an insertion cassette as a fragment first, annotate the fragment,\n    then easily insert the fragment into a genome.\n</p>\n\n<div class="well">\n<div class="input-group">\n    <span class="input-group-addon"> Search: </span>\n    <input ng-model="query" class=\'form-control\' ng-change="delayFetch()">\n</div>\n</div>\n\n<div class="pull-right">\n<button class="btn btn-primary btn-xs"\n        ng-if="hasPrev" ng-click="prevPage()">Prev Page</button>\n&nbsp;\n<button class="btn btn-primary btn-xs"\n        ng-if="hasMore" ng-click="nextPage()">Next Page</button>\n</div>\n\n<table class="table table-striped table-condensed">\n<thead> <tr> <th>ID</th> <th>Name</th> <th>Length</th></tr> </thead>\n<tr ng-repeat="fragment in fragments">\n    <td> <a href="#/fragments/{{fragment.id}}">{{ fragment.id }}</a> </td>\n    <td> <a href="#/fragments/{{fragment.id}}">{{ fragment.name }}</a> </td>\n    <td> {{ fragment.length }} </td>\n</tr>\n</table>\n\n<p class="lead space-top">\nAdd new fragment\n</p>\n\n<div class="well" ng-show="add_fragment_error">\n    <span class="text-danger">Error: {{ add_fragment_error.message }}</span>\n</div>\n\n<form role="form">\n    <div class="form-group">\n        <label for="fragment_name">Name:</label>\n        <input id="fragment_name" type="text" ng-model="fragment.name" />\n    </div>\n    <div class="form-group">\n        <label for="fragment_sequence">Sequence:</label><br/>\n        <textarea id="fragment_sequence" class="sequence" ng-model="fragment.sequence"></textarea>\n    </div>\n    <button class="btn btn-primary" ng-click="addFragment(fragment)">Create Fragment</button>\n</form>\n\n</div> <!-- container -->\n\n');
window.JST['genome-blast'] = template('<header>\n  <div class="container">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/genomes">Genomes</a> </li>\n        <li> <a href="#/genomes/{{ genome.id }}"><span ng-bind-html-unsafe=\'genome.name\'></span></a> </li>\n        <li> Blast </li>\n    </ol>\n  </div>\n</header>\n\n<div class="container">\n\n<h3>BLAST on Genome {{ genome.id }}: <span ng-bind-html-unsafe=\'genome.name\'></span></h3>\n\n<div role="form" id="blast-inputs" class="space-top" ng-init="program = \'blastn\'">\n    <div class="form-inline">\n        Program\n        <div class="form-group">\n            <select class="form-control" ng-model="program">\n                <option value="blastn">blastn</option>\n                <option value="tblastn">tblastn</option>\n            </select>\n        </div>\n    </div>\n    Query\n    <br/>\n    <textarea class="form-control sequence" ng-model="query"></textarea>\n    <button class="btn btn-primary" ng-click="Blast(query, program)">BLAST</button>\n</div>\n\n<div ng-if="waiting === true">\n  <p>\n    <br/>\n    <em>Waiting for server to respond ...</em>\n    <br/>\n  </p>\n</div>\n\n<div ng-if="results" class="space-top">\n    <partial template="blast-results" ng-init="blast_results=results"></partial>\n</div>\n\n</div>\n');
window.JST['genome-detail'] = template('<header>\n  <div class="container">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/genomes">Genomes</a> </li>\n        <li ng-bind-html-unsafe=\'genome.name\'></li>\n    </ol>\n  </div>\n</header>\n\n<div class="container">\n\n<h3>\n  <div class="dropdown pull-right">\n    <a class="btn btn-default" href="javascript:void(0);" data-toggle="dropdown">Operations <span class=\'caret\'></span></a>\n    <ul class="dropdown-menu">\n      <li> <a href="#/genomes/{{ genome.id }}/blast">Blast</a> </li>\n      <li> <a href="#/genomes/{{ genome.id }}/pcr">PCR</a> </li>\n      <li> <a href="#/genomes/{{ genome.id }}/recombination">Recombination</a> </li>\n      <li class="divider"></li>\n      <li> <a href="/admin/edge/genome/{{ genome.id }}/">Edit Name, Status</a> </li>\n    </ul>\n  </div>\n\n  Genome {{ genome.id }}: <span ng-bind-html-unsafe=\'genome.name\'></span>\n</h3>\n\n<div class="lead space-top">\n  <p>Parent: <span ng-bind-html-unsafe="parent"></span></p>\n  <p ng-if="genome.notes">Notes: {{ genome.notes }} </p>\n</div>\n\n<div ng-if="genome.operations">\n  <p class="lead">History:</p>\n  <div ng-repeat=\'op in genome.operations\'>\n    <p>\n      {{ op.type }} on\n      <a href="#/genomes/{{genome.parent_id}}">Genome {{ genome.parent_id }}: {{ genome.parent_name }}</a>\n    </p>\n    <ul>\n      <li ng-repeat="a in op.annotations">\n        <a href="#/genomes/{{genome.id}}/fragments/{{a.fragment_id}}"\n         >{{ a.fragment_name }}: {{ a.name }} [{{ a.base_first }}, {{ a.base_last }}]</a>\n      </li>\n      <li ng-repeat=\'(k,v) in op.params\' class="op-params">\n        {{ k }}: {{ v }}\n      </li>\n    </ul>\n  </div>\n</div>\n\n<table class="table table-striped table-condensed space-top">\n<thead><tr>\n    <th>Fragment</th><th>Length (bps)</th><th>Changes</th>\n</tr></thead>\n<tr ng-repeat="fragment in genome.fragments | orderBy:id">\n    <td> <a href="#/genomes/{{genome.id}}/fragments/{{fragment.id}}"\n          ng-bind-html-unsafe=\'fragment.name\'></a> </td>\n    <td>\n      <span ng-if=\'fragment.length\'>{{fragment.length | number}}</span>\n      <span ng-if=\'!fragment.length\'><em>Not indexed</em></span>\n    </td>\n    <td>\n      <span ng-repeat="op in genome.operations">\n        <span ng-repeat="annotation in op.annotations">\n          <span ng-if="annotation.fragment_id === fragment.id">\n            {{ annotation.base_first }}-{{ annotation.base_last }}\n          </span>\n        </span>\n      </span>\n    </td>\n</tr>\n</table>\n\n</div> <!-- container -->\n');
window.JST['genome-fragment-layout'] = template('<div class="row">\n\n<!-- left -->\n<div class="col-md-7">\n    <partial template="fragment-left"></partial>\n</div>\n<!-- left -->\n\n<!-- right -->\n<div class="col-md-5">\n    <partial template="fragment-annotation-list"></partial>\n</div> <!-- right -->\n\n</div> <!-- row -->\n');
window.JST['genome-fragment'] = template('<header>\n  <div class="container container-wide">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/genomes">Genomes</a> </li>\n        <li> <a href="#/genomes/{{ genome.id }}" ng-bind-html-unsafe=\'genome.name\'></a> </li>\n        <li ng-bind-html-unsafe=\'fragment.name\'></li>\n    </ol>\n  </div>\n</header>\n\n<div class="container container-wide">\n\n<h3>\n  Fragment {{ fragment.id }}:\n  <span ng-bind-html-unsafe=\'fragment.name\'></span>, {{ fragment.length | number }} bps\n</h3>\n\n<div class="lead space-top">\n    <p>Genome: <a href="#/genomes/{{ genome.id }}" ng-bind-html-unsafe=\'genome.name\'></a> </p>\n    <p>\n      Changes:\n      <span ng-repeat="op in genome.operations">\n        <span ng-repeat="annotation in op.annotations">\n          <span ng-if="annotation.fragment_id === fragment.id">\n            <a href="javascript:void(0);"\n               ng-click="zoomAt(annotation)"\n             >{{ annotation.name }} ({{ annotation.base_first }}-{{ annotation.base_last }})</a>\n          </span>\n        </span>\n      </span>\n    </p>\n</div>\n\n<partial template="genome-fragment-layout"></partial>\n\n</div> <!-- container -->\n');
window.JST['genome-list'] = template('<header>\n  <div class="container">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/genomes">Genomes</a> </li>\n        <li> <a href="#/fragments">Fragments</a> </li>\n    </ol>\n  </div>\n</header>\n\n<div class="container">\n\n<p class="lead">Genomes</p>\n\n<div class="well">\n<div class="input-group">\n    <span class="input-group-addon"> Search: </span>\n    <input class="form-control" ng-model="query" ng-change="delayFetch()">\n</div>\n</div>\n\n<div class="pull-right">\n<button class="btn btn-primary btn-xs"\n        ng-if="hasPrev" ng-click="prevPage()">Prev Page</button>\n&nbsp;\n<button class="btn btn-primary btn-xs"\n        ng-if="hasMore" ng-click="nextPage()">Next Page</button>\n</div>\n\n<table class="table table-striped table-condensed">\n<thead> <tr> <th>ID</th> <th>Name</th> <th>Parent</th></tr> </thead>\n<tr ng-repeat="genome in genomes">\n    <td> <a href="#/genomes/{{genome.id}}">{{ genome.id }}</a> </td>\n    <td> <a href="#/genomes/{{genome.id}}" ng-bind-html-unsafe="genome.name"></a> </td>\n    <td> <a href="#/genomes/{{genome.parent_id}}" ng-bind-html-unsafe=\'genome.parent_name\'></a> </td>\n</tr>\n</table>\n\n</div> <!-- container -->\n');
window.JST['genome-pcr'] = template('<header>\n  <div class="container">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/genomes">Genomes</a> </li>\n        <li> <a href="#/genomes/{{ genome.id }}"><span ng-bind-html-unsafe=\'genome.name\'></span></a> </li>\n        <li> PCR </li>\n    </ol>\n  </div>\n</header>\n\n<div class="container">\n\n<h3>PCR on Genome {{ genome.id }}: <span ng-bind-html-unsafe=\'genome.name\'></span></h3>\n\n<form role="form" class="space-top">\n    <div class="form-inline">\n        Primers\n        <div class="form-group">\n            <input required class="form-control" type="text" ng-model="primer_a" size="40" />\n        </div>\n        and\n        <div class="form-group">\n            <input required class="form-control" type="text" ng-model="primer_b" size="40" />\n        </div>\n        <button class="btn btn-primary" ng-click="Pcr(primer_a, primer_b)">PCR</button>\n    </div>\n</form>\n\n<div ng-if="results" class="space-top">\n    <div ng-if="results[0]">\n        <p>\n            <span class="label label-success">PCR Product: {{ results[0].length }} bps</span>\n        </p>\n        <div class="sequence sequence-break">{{ results[0] }}</div>\n        <p>\n            Genomic region amplified:\n            <a href="#/genomes/{{ genome.id }}/fragments/{{ results[3].fragment_id }}?bp={{ results[3].region[0] }},{{ results[3].region[1] }}"\n             >{{ results[3].fragment_name }} {{ results[3].region[0] }}-{{ results[3].region[1] }}</a>\n        </p>\n    </div>\n    \n    <div ng-if="!results[0]">\n        <p>\n            <span class="label label-danger">Cannot compute PCR product. Too many or too few binding sites.</span>\n        </p>\n    </div>\n\n    <partial template="blast-results" ng-init="blast_results=results[1].concat(results[2])"></partial>\n\n</div>\n\n</div>\n');
window.JST['genome-recombination'] = template('<header>\n  <div class="container">\n    <ol class="breadcrumb">\n        <li> Edge </li>\n        <li> <a href="#/genomes">Genomes</a> </li>\n        <li> <a href="#/genomes/{{ genome.id }}"><span ng-bind-html-unsafe=\'genome.name\'></span></a> </li>\n        <li> Recombination </li>\n    </ol>\n  </div>\n</header>\n\n<div class="container">\n\n<h3>Recombination on Genome {{ genome.id }}: <span ng-bind-html-unsafe=\'genome.name\'></span></h3>\n\n<form role="form" class="space-top" id="recombine-inputs">\n    <div class="form-inline">\n        Homology arm length\n        <div class="form-group">\n            <input required class="form-control" type="text" ng-model="homology_arm_length" size="5" />\n        </div>\n        New genome name\n        <div class="form-group">\n            <input required class="form-control" type="text" ng-model="new_genome_name" size="20" />\n        </div>\n    </div>\n    Cassette (including homology arms)\n    <br/>\n    <textarea class="form-control sequence" ng-model="cassette"></textarea>\n    <button class="btn btn-primary" ng-click="FindRegions()">Preview</button>\n</form>\n\n<div id="recombine-primer3-opts" class="space-top">\n  <p>\n    Primer3 params (for verification primers)\n  </p>\n\n  <table class="table table-condensed">\n    <tr>\n      <td>OPT_SIZE:</td>\n      <td><input ng-model="primer3_opts.PRIMER_OPT_SIZE" /></td>\n      <td>MIN_SIZE:</td>\n      <td><input ng-model="primer3_opts.PRIMER_MIN_SIZE" /></td>\n      <td>MAX_SIZE:</td>\n      <td><input ng-model="primer3_opts.PRIMER_MAX_SIZE" /></td>\n    </tr>\n    <tr>\n      <td>OPT_TM:</td>\n      <td><input ng-model="primer3_opts.PRIMER_OPT_TM" /></td>\n      <td>MIN_TM:</td>\n      <td><input ng-model="primer3_opts.PRIMER_MIN_TM" /></td>\n      <td>MAX_TM:</td>\n      <td><input ng-model="primer3_opts.PRIMER_MAX_TM" /></td>\n    </tr>\n    <tr>\n      <td>MIN_GC:</td>\n      <td><input ng-model="primer3_opts.PRIMER_MIN_GC" /></td>\n      <td>MAX_GC:</td>\n      <td><input ng-model="primer3_opts.PRIMER_MAX_GC" /></td>\n    </tr>\n    <tr>\n      <td>SALT_MONOVALENT:</td>\n      <td><input ng-model="primer3_opts.PRIMER_SALT_MONOVALENT" /></td>\n      <td>DNA_CONC nM:</td>\n      <td><input ng-model="primer3_opts.PRIMER_DNA_CONC" /></td>\n    </tr>\n  </table>\n</div>\n\n<div class="clearfix"></div>\n\n<div ng-if="waiting === true">\n  <p>\n    <br/>\n    <em>Waiting for server to respond ...</em>\n    <br/>\n  </p>\n</div>\n\n<div ng-if="regions !== undefined" class="results">\n    <p ng-if="regions.length === 0"><em>No matching region</em></p>\n    <div ng-if="regions.length > 0">\n        <div ng-repeat="region in regions" class="recombine-candidate">\n            <h5>\n                Found integration region on fragment\n                <a href="#/genomes/{{ genome.id }}/fragments/{{ region.fragment_id }}?bp={{ region.start }},{{ region.end }}"\n                 >{{ region.fragment_name }}: {{ region.start }}-{{ region.end }}</a>\n                Post integration region length: {{ region.cassette.length }} bps\n                <span ng-if="region.cassette_reversed">\n                  (cassette will be integrated in reverse direction)\n                </span>\n            </h5>\n\n            <div ng-if="region.verification_front.length > 0" class="primers">\n                <p>\n                    PCR primers to verify 5\' junction\n                    <br/>\n                    (product on modified genome only, no product on WT)\n                </p>\n                <ul>\n                    <li ng-repeat=\'primer in region.verification_front\'><partial template=\'primer\' /></li>\n                </ul>\n            </div>\n            <div ng-if="region.verification_back.length > 0" class="primers">\n                <p>\n                    PCR primers to verify 3\' junction\n                    <br/>\n                    (product on modified genome only, no product on WT)\n                </p>\n                <ul>\n                    <li ng-repeat=\'primer in region.verification_back\'><partial template=\'primer\' /></li>\n                </ul>\n            </div>\n            <div ng-if="region.verification_cassette.length > 0" class="primers">\n                <p>\n                    PCR primers to verify whole cassette\n                    <br/>\n                    (product on modified genome and WT)\n                </p>\n                <ul>\n                    <li ng-repeat=\'primer in region.verification_cassette\'><partial template=\'primer\' /></li>\n                </ul>\n            </div>\n            <div ng-if="region.cassette_annotations.length > 0">\n                <p>\n                    Inherited and new annotations on cassette\n                </p>\n                <ul>\n                    <li ng-repeat=\'a in region.cassette_annotations\'>\n                      {{ a.base_first }}-{{a.base_last }} bps on cassette,\n                      {{ a.feature_name }} ({{ a.feature_type }})\n                      <span ng-if="a.feature_strand === -1">reversed</span>\n                    </li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <p ng-if="regions.length === 1">\n      <button class="btn btn-primary" ng-click="Recombine()">Create post-recombination genome</button>\n    </p>\n</div>\n\n</div>\n');
window.JST['primer'] = template('Left: {{ primer.PRIMER_LEFT_SEQUENCE }} ({{ primer.PRIMER_LEFT_GC_PERCENT }} GC, {{ primer.PRIMER_LEFT_TM }} Tm<span ng-if="primer.PRIMER_LEFT_SEQUENCE_DISTANCE_TO_JUNCTION">, {{ primer.PRIMER_LEFT_SEQUENCE_DISTANCE_TO_JUNCTION }} bps to junction</span>)\n<br/>\nRight: {{ primer.PRIMER_RIGHT_SEQUENCE }} ({{ primer.PRIMER_RIGHT_GC_PERCENT }} GC, {{ primer.PRIMER_RIGHT_TM }} Tm<span ng-if="primer.PRIMER_RIGHT_SEQUENCE_DISTANCE_TO_JUNCTION">, {{ primer.PRIMER_RIGHT_SEQUENCE_DISTANCE_TO_JUNCTION }} bps to junction</span>)\n');
