@datagrok/sequence-translator 1.2.5 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Sequence Translator changelog
2
2
 
3
+ ## 1.2.7 (2024-01-29)
4
+ ### Features
5
+
6
+ * Bulk translation for formats
7
+
8
+ ## 1.2.6 (2024-01-29)
9
+
10
+ ### Bug fixes
11
+
12
+ * Fixed column input in Pattern
13
+ * Fixed whitespaces in molfiles
14
+
3
15
  ## 1.2.0 (2023-10-27)
4
16
 
5
17
  ### Features
@@ -1,2 +1,2 @@
1
- var sequencetranslator_test;(()=>{"use strict";var t={61:(t,e,n)=>{n.d(e,{Bu:()=>p,QK:()=>s,W3:()=>g,bb:()=>h,ci:()=>m,l_:()=>d});var r=n(469),o=n(976),a=function(t,e,n,r){return new(n||(n=Promise))((function(o,a){function s(t){try{l(r.next(t))}catch(t){a(t)}}function i(t){try{l(r.throw(t))}catch(t){a(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,i)}l((r=r.apply(t,e||[])).next())}))};const s={};let i;var l;!function(t){t.notNull=function(t,e){if(null==t)throw new Error(`${null==e?"Value":e} not defined`)}}(l||(l={}));class c{constructor(t,e){this.catchUnhandled=!0,this.report=!1,void 0!==t&&(this.catchUnhandled=t),void 0!==e&&(this.report=e)}}class u{constructor(t,e,n,r){var o;this.category=t,this.name=e,null!=r||(r={}),null!==(o=r.timeout)&&void 0!==o||(r.timeout=3e4),this.options=r,this.test=()=>a(this,void 0,void 0,(function*(){return new Promise(((t,e)=>a(this,void 0,void 0,(function*(){let r="";try{r=yield n()}catch(t){e(t)}t(r)}))))}))}}function p(t,e,n){null==s[i]&&(s[i]={}),null==s[i].tests&&(s[i].tests=[]),s[i].tests.push(new u(i,t,e,n))}function d(t,e){if(t!==e)throw new Error(`Expected "${e}", got "${t}"`)}function g(t,e){i=t,e()}function h(t){null==s[i]&&(s[i]={}),s[i].before=t}function m(t){var e,n,i,l,u;return a(this,void 0,void 0,(function*(){const p=[],d=null===(n=null===(e=r.functions.getCurrentCall())||void 0===e?void 0:e.func)||void 0===n?void 0:n.package;console.log("Running tests"),null!=t||(t={}),null!==(i=(u=t).testContext)&&void 0!==i||(u.testContext=new c),r.shell.lastError="";for(const[e,n]of Object.entries(s)){if(null!=(null==t?void 0:t.category)&&!e.toLowerCase().startsWith(null==t?void 0:t.category.toLowerCase()))continue;console.log(`Started ${e} category`);try{n.before&&(yield n.before())}catch(t){n.beforeStatus=t.toString()}const r=null!==(l=n.tests)&&void 0!==l?l:[],o=[];for(let e=0;e<r.length;e++)o.push(yield f(r[e],null==t?void 0:t.test));const a=(yield Promise.all(o)).filter((t=>"skipped"!=t.result));try{n.after&&(yield n.after())}catch(t){n.afterStatus=t.toString()}n.afterStatus&&a.push({category:e,name:"init",result:n.afterStatus,success:!1,ms:0,skipped:!1}),n.beforeStatus&&a.push({category:e,name:"init",result:n.beforeStatus,success:!1,ms:0,skipped:!1}),p.push(...a)}if(t.testContext.catchUnhandled&&(yield function(t){return a(this,void 0,void 0,(function*(){yield new Promise((e=>setTimeout(e,t)))}))}(1e3),r.shell.lastError.length>0&&p.push({category:"Unhandled exceptions",name:"exceptions",result:r.shell.lastError,success:!1,ms:0,skipped:!1})),t.testContext.report){const t=new o.Logger,e=p.filter((t=>t.success)).length,n=p.filter((t=>t.skipped)).length,r=p.filter((t=>!t.success)),a="Package @package tested: @successful successful, @skipped skipped, @failed failed tests",s={successful:e,skipped:n,failed:r.length,package:d};for(const t of r)Object.assign(s,{[`${t.category} | ${t.name}`]:t.result});t.log(a,s,"package-tested")}return p}))}function f(t,e){var n,r,o;return a(this,void 0,void 0,(function*(){let a;const s=null!=e&&!t.name.toLowerCase().startsWith(e.toLowerCase()),i=(null===(n=t.options)||void 0===n?void 0:n.skipReason)||s,l=s?"skipped":null===(r=t.options)||void 0===r?void 0:r.skipReason;i||console.log(`Started ${t.category} ${t.name}`);const c=new Date;try{a=i?{success:!0,result:l,ms:0,skipped:!0}:{success:!0,result:null!==(o=yield t.test())&&void 0!==o?o:"OK",ms:0,skipped:!1}}catch(t){a={success:!1,result:t.toString(),ms:0,skipped:!1}}const u=new Date;return a.ms=u-c,i||console.log(`Finished ${t.category} ${t.name} for ${a.ms} ms`),a.category=t.category,a.name=t.name,a}))}},490:(t,e,n)=>{n.d(e,{Z:()=>i});var r=n(537),o=n.n(r),a=n(645),s=n.n(a)()(o());s.push([t.id,".colored-text-input > textarea {\n width: 100%;\n -webkit-text-fill-color: transparent;\n background-color: transparent;\n position: relative;\n z-index: 1;\n resize: none;\n height: 22px; /* Fine tuned value to avoid \"jumping\" of the textarea upon autoresize */\n}\n\n.colored-text-input > div {\n /* The values here are fine tuned to those of the ui.input textarea in order\n * to achieve precise overlap */\n overflow: auto;\n position: absolute;\n pointer-events: none;\n cursor: text;\n z-index: 0;\n max-width: 100%;\n padding: 2px;\n line-height: normal;\n font-family: 'Roboto Mono', 'Roboto Mono Local', monospace;\n font-size: 12px;\n color: transparent;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n","",{version:3,sources:["webpack://./src/view/style/colored-text-input.css"],names:[],mappings:"AAAA;EACE,WAAW;EACX,oCAAoC;EACpC,6BAA6B;EAC7B,kBAAkB;EAClB,UAAU;EACV,YAAY;EACZ,YAAY,EAAE,wEAAwE;AACxF;;AAEA;EACE;iCAC+B;EAC/B,cAAc;EACd,kBAAkB;EAClB,oBAAoB;EACpB,YAAY;EACZ,UAAU;EACV,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,0DAA0D;EAC1D,eAAe;EACf,kBAAkB;EAClB,qBAAqB;EACrB,qBAAqB;AACvB",sourcesContent:[".colored-text-input > textarea {\n width: 100%;\n -webkit-text-fill-color: transparent;\n background-color: transparent;\n position: relative;\n z-index: 1;\n resize: none;\n height: 22px; /* Fine tuned value to avoid \"jumping\" of the textarea upon autoresize */\n}\n\n.colored-text-input > div {\n /* The values here are fine tuned to those of the ui.input textarea in order\n * to achieve precise overlap */\n overflow: auto;\n position: absolute;\n pointer-events: none;\n cursor: text;\n z-index: 0;\n max-width: 100%;\n padding: 2px;\n line-height: normal;\n font-family: 'Roboto Mono', 'Roboto Mono Local', monospace;\n font-size: 12px;\n color: transparent;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n"],sourceRoot:""}]);const i=s},753:(t,e,n)=>{n.d(e,{Z:()=>i});var r=n(537),o=n.n(r),a=n(645),s=n.n(a)()(o());s.push([t.id,"/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n\n.st-structure-body {\n padding-right: 20px;\n}\n\n.st-structure-input-form {\n text-align: right;\n vertical-align: top;\n min-width: 95px;\n}\n\n.st-structure-direction-choice label {\n min-width: 100px;\n float: right;\n}\n\n.st-structure-direction-choice div {\n justify-content: right;\n}\n\n.st-structure-text-input-td { /* Style for td containing textarea */\n width: 100%;\n}\n\n.st-structure-mol-img {\n margin-right: 30px;\n float: right;\n}\n\n.st-structure-bool-button-block {\n justify-content: right;\n margin-bottom: 10px;\n}\n\n.st-structure-bottom {\n flex-direction: row-reverse;\n padding-top: 20px;\n}\n","",{version:3,sources:["webpack://./src/view/style/structure-app.css"],names:[],mappings:"AAAA,gGAAgG;;AAEhG;EACE,mBAAmB;AACrB;;AAEA;EACE,iBAAiB;EACjB,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,sBAAsB;AACxB;;AAEA,8BAA8B,qCAAqC;EACjE,WAAW;AACb;;AAEA;EACE,kBAAkB;EAClB,YAAY;AACd;;AAEA;EACE,sBAAsB;EACtB,mBAAmB;AACrB;;AAEA;EACE,2BAA2B;EAC3B,iBAAiB;AACnB",sourcesContent:["/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n\n.st-structure-body {\n padding-right: 20px;\n}\n\n.st-structure-input-form {\n text-align: right;\n vertical-align: top;\n min-width: 95px;\n}\n\n.st-structure-direction-choice label {\n min-width: 100px;\n float: right;\n}\n\n.st-structure-direction-choice div {\n justify-content: right;\n}\n\n.st-structure-text-input-td { /* Style for td containing textarea */\n width: 100%;\n}\n\n.st-structure-mol-img {\n margin-right: 30px;\n float: right;\n}\n\n.st-structure-bool-button-block {\n justify-content: right;\n margin-bottom: 10px;\n}\n\n.st-structure-bottom {\n flex-direction: row-reverse;\n padding-top: 20px;\n}\n"],sourceRoot:""}]);const i=s},602:(t,e,n)=>{n.d(e,{Z:()=>i});var r=n(537),o=n.n(r),a=n(645),s=n.n(a)()(o());s.push([t.id,"/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n.st-translator-input-table {\n /* width: 100%; */\n margin-right: 20px;\n}\n\n.st-translator-input-table td:has(textarea) {\n width: 100%;\n}\n\n.st-translator-input-table td:has(select) {\n min-width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table {\n margin-top: 20px;\n margin-right: 20px;\n margin-bottom: 10px;\n}\n\n.st-translator-output-table table {\n width: 100%;\n table-layout: fixed;\n}\n\n/* .st-translator-output-table table tbody tr td { */\n/* max-width: 20%; */\n/* } */\n\n.st-translator-output-table td {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.st-translator-output-table tr:nth-child(even) {\n background-color: var(--grey-1);\n}\n\n.st-translator-output-table td:nth-child(odd) {\n width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table td a {\n overflow-wrap: break-word;\n}\n","",{version:3,sources:["webpack://./src/view/style/translator-app.css"],names:[],mappings:"AAAA,gGAAgG;AAChG;EACE,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,mBAAmB;AACrB;;AAEA,oDAAoD;AACpD,sBAAsB;AACtB,MAAM;;AAEN;EACE,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,+BAA+B;AACjC;;AAEA;EACE,YAAY;EACZ,mBAAmB;AACrB;;AAEA;EACE,yBAAyB;AAC3B",sourcesContent:["/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n.st-translator-input-table {\n /* width: 100%; */\n margin-right: 20px;\n}\n\n.st-translator-input-table td:has(textarea) {\n width: 100%;\n}\n\n.st-translator-input-table td:has(select) {\n min-width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table {\n margin-top: 20px;\n margin-right: 20px;\n margin-bottom: 10px;\n}\n\n.st-translator-output-table table {\n width: 100%;\n table-layout: fixed;\n}\n\n/* .st-translator-output-table table tbody tr td { */\n/* max-width: 20%; */\n/* } */\n\n.st-translator-output-table td {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.st-translator-output-table tr:nth-child(even) {\n background-color: var(--grey-1);\n}\n\n.st-translator-output-table td:nth-child(odd) {\n width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table td a {\n overflow-wrap: break-word;\n}\n"],sourceRoot:""}]);const i=s},645:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var s={};if(r)for(var i=0;i<this.length;i++){var l=this[i][0];null!=l&&(s[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);r&&s[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),e.push(u))}},e}},537:t=>{t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),a="/*# ".concat(o," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},803:(t,e)=>{var n;!function(){var r=e||{}||this||window;void 0===(n=function(){return r}.apply(e,[]))||(t.exports=n),r.default=r;var o="http://www.w3.org/2000/xmlns/",a="http://www.w3.org/2000/svg",s=/url\(["']?(.+?)["']?\)/,i={woff2:"font/woff2",woff:"font/woff",otf:"application/x-font-opentype",ttf:"application/x-font-ttf",eot:"application/vnd.ms-fontobject",sfnt:"application/font-sfnt",svg:"image/svg+xml"},l=function(t){return t instanceof HTMLElement||t instanceof SVGElement},c=function(t){if(!l(t))throw new Error("an HTMLElement or SVGElement is required; got "+t)},u=function(t){return new Promise((function(e,n){l(t)?e(t):n(new Error("an HTMLElement or SVGElement is required; got "+t))}))},p=function(t,e,n){var r=t.viewBox&&t.viewBox.baseVal&&t.viewBox.baseVal[n]||null!==e.getAttribute(n)&&!e.getAttribute(n).match(/%$/)&&parseInt(e.getAttribute(n))||t.getBoundingClientRect()[n]||parseInt(e.style[n])||parseInt(window.getComputedStyle(t).getPropertyValue(n));return null==r||isNaN(parseFloat(r))?0:r},d=function(t){for(var e=window.atob(t.split(",")[1]),n=t.split(",")[0].split(":")[1].split(";")[0],r=new ArrayBuffer(e.length),o=new Uint8Array(r),a=0;a<e.length;a++)o[a]=e.charCodeAt(a);return new Blob([r],{type:n})},g={},h=null,m=function(t,e){var n=e||{},r=n.selectorRemap,o=n.modifyStyle,a=n.modifyCss,l=n.fonts,c=n.excludeUnusedCss,u=a||function(t,e){return(r?r(t):t)+"{"+(o?o(e):e)+"}\n"},p=[],d=void 0===l,m=l||[];return(h||(h=Array.from(document.styleSheets).map((function(t){try{return{rules:t.cssRules,href:t.href}}catch(e){return console.warn("Stylesheet could not be loaded: "+t.href,e),{}}})))).forEach((function(e){var n=e.rules,r=e.href;n&&Array.from(n).forEach((function(e){if(void 0!==e.style)if(function(t,e){if(e)try{return t.querySelector(e)||t.parentNode&&t.parentNode.querySelector(e)}catch(t){console.warn('Invalid CSS selector "'+e+'"',t)}}(t,e.selectorText))p.push(u(e.selectorText,e.style.cssText));else if(d&&e.cssText.match(/^@font-face/)){var n=function(t,e){var n=t.cssText.match(s),r=n&&n[1]||"";if(r&&!r.match(/^data:/)&&"about:blank"!==r){var o,a,l=r.startsWith("../")?e+"/../"+r:r.startsWith("./")?e+"/."+r:r;return{text:t.cssText,format:(o=l,a=Object.keys(i).filter((function(t){return o.indexOf("."+t)>0})).map((function(t){return i[t]})),a?a[0]:(console.error("Unknown font format for "+o+". Fonts may not be working correctly."),"application/octet-stream")),url:l}}}(e,r);n&&m.push(n)}else c||p.push(e.cssText)}))})),function(t){return Promise.all(t.map((function(t){return new Promise((function(e,n){if(g[t.url])return e(g[t.url]);var r=new XMLHttpRequest;r.addEventListener("load",(function(){var n=function(t){for(var e="",n=new Uint8Array(t),r=0;r<n.byteLength;r++)e+=String.fromCharCode(n[r]);return window.btoa(e)}(r.response),o=t.text.replace(s,'url("data:'+t.format+";base64,"+n+'")')+"\n";g[t.url]=o,e(o)})),r.addEventListener("error",(function(n){console.warn("Failed to load font from: "+t.url,n),g[t.url]=null,e(null)})),r.addEventListener("abort",(function(n){console.warn("Aborted loading font from: "+t.url,n),e(null)})),r.open("GET",t.url),r.responseType="arraybuffer",r.send()}))}))).then((function(t){return t.filter((function(t){return t})).join("")}))}(m).then((function(t){return p.join("\n")+t}))},f=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};r.prepareSvg=function(t,e,n){c(t);var r=e||{},s=r.left,i=void 0===s?0:s,l=r.top,u=void 0===l?0:l,d=r.width,g=r.height,h=r.scale,f=void 0===h?1:h,A=r.responsive,C=void 0!==A&&A,b=r.excludeCss,v=void 0!==b&&b;return function(t){return Promise.all(Array.from(t.querySelectorAll("image")).map((function(t){var e,n=t.getAttributeNS("http://www.w3.org/1999/xlink","href")||t.getAttribute("href");return n?((e=n)&&0===e.lastIndexOf("http",0)&&-1===e.lastIndexOf(window.location.host)&&(n+=(-1===n.indexOf("?")?"?":"&")+"t="+(new Date).valueOf()),new Promise((function(e,r){var o=document.createElement("canvas"),a=new Image;a.crossOrigin="anonymous",a.src=n,a.onerror=function(){return r(new Error("Could not load "+n))},a.onload=function(){o.width=a.width,o.height=a.height,o.getContext("2d").drawImage(a,0,0),t.setAttributeNS("http://www.w3.org/1999/xlink","href",o.toDataURL("image/png")),e(!0)}}))):Promise.resolve(null)})))}(t).then((function(){var r=t.cloneNode(!0);r.style.backgroundColor=(e||{}).backgroundColor||t.style.backgroundColor;var s=function(t,e,n,r){if("svg"===t.tagName)return{width:n||p(t,e,"width"),height:r||p(t,e,"height")};if(t.getBBox){var o=t.getBBox(),a=o.x,s=o.y;return{width:a+o.width,height:s+o.height}}}(t,r,d,g),l=s.width,c=s.height;if("svg"!==t.tagName){if(!t.getBBox)return void console.error("Attempted to render non-SVG element",t);null!=r.getAttribute("transform")&&r.setAttribute("transform",r.getAttribute("transform").replace(/translate\(.*?\)/,""));var h=document.createElementNS("http://www.w3.org/2000/svg","svg");h.appendChild(r),r=h}if(r.setAttribute("version","1.1"),r.setAttribute("viewBox",[i,u,l,c].join(" ")),r.getAttribute("xmlns")||r.setAttributeNS(o,"xmlns",a),r.getAttribute("xmlns:xlink")||r.setAttributeNS(o,"xmlns:xlink","http://www.w3.org/1999/xlink"),C?(r.removeAttribute("width"),r.removeAttribute("height"),r.setAttribute("preserveAspectRatio","xMinYMin meet")):(r.setAttribute("width",l*f),r.setAttribute("height",c*f)),Array.from(r.querySelectorAll("foreignObject > *")).forEach((function(t){t.setAttributeNS(o,"xmlns","svg"===t.tagName?a:"http://www.w3.org/1999/xhtml")})),!v)return m(t,e).then((function(t){var e=document.createElement("style");e.setAttribute("type","text/css"),e.innerHTML="<![CDATA[\n"+t+"\n]]>";var o=document.createElement("defs");o.appendChild(e),r.insertBefore(o,r.firstChild);var a=document.createElement("div");a.appendChild(r);var s=a.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if("function"!=typeof n)return{src:s,width:l,height:c};n(s,l,c)}));var A=document.createElement("div");A.appendChild(r);var b=A.innerHTML;if("function"!=typeof n)return{src:b,width:l,height:c};n(b,l,c)}))},r.svgAsDataUri=function(t,e,n){return c(t),r.prepareSvg(t,e).then((function(t){var e=t.src,r=t.width,o=t.height,a="data:image/svg+xml;base64,"+window.btoa(decodeURIComponent(encodeURIComponent('<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [<!ENTITY nbsp "&#160;">]>'+e).replace(/%([0-9A-F]{2})/g,(function(t,e){var n=String.fromCharCode("0x"+e);return"%"===n?"%25":n}))));return"function"==typeof n&&n(a,r,o),a}))},r.svgAsPngUri=function(t,e,n){c(t);var o=e||{},a=o.encoderType,s=void 0===a?"image/png":a,i=o.encoderOptions,l=void 0===i?.8:i,u=o.canvg,p=function(t){var e=t.src,r=t.width,o=t.height,a=document.createElement("canvas"),i=a.getContext("2d"),c=window.devicePixelRatio||1;a.width=r*c,a.height=o*c,a.style.width=a.width+"px",a.style.height=a.height+"px",i.setTransform(c,0,0,c,0,0),u?u(a,e):i.drawImage(e,0,0);var p=void 0;try{p=a.toDataURL(s,l)}catch(t){if("undefined"!=typeof SecurityError&&t instanceof SecurityError||"SecurityError"===t.name)return void console.error("Rendered SVG images cannot be downloaded in this browser.");throw t}return"function"==typeof n&&n(p,a.width,a.height),Promise.resolve(p)};return u?r.prepareSvg(t,e).then(p):r.svgAsDataUri(t,e).then((function(t){return new Promise((function(e,n){var r=new Image;r.onload=function(){return e(p({src:r,width:r.width,height:r.height}))},r.onerror=function(){n("There was an error loading the data URI as an image on the following SVG\n"+window.atob(t.slice(26))+"Open the following link to see browser's diagnosis\n"+t)},r.src=t}))}))},r.download=function(t,e,n){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(d(e),t);else{var r=document.createElement("a");if("download"in r){r.download=t,r.style.display="none",document.body.appendChild(r);try{var o=d(e),a=URL.createObjectURL(o);r.href=a,r.onclick=function(){return requestAnimationFrame((function(){return URL.revokeObjectURL(a)}))}}catch(t){console.error(t),console.warn("Error while getting object URL. Falling back to string URL."),r.href=e}r.click(),document.body.removeChild(r)}else n&&n.popup&&(n.popup.document.title=t,n.popup.location.replace(e))}},r.saveSvg=function(t,e,n){var o=f();return u(t).then((function(t){return r.svgAsDataUri(t,n||{})})).then((function(t){return r.download(e,t,o)}))},r.saveSvgAsPng=function(t,e,n){var o=f();return u(t).then((function(t){return r.svgAsPngUri(t,n||{})})).then((function(t){return r.download(e,t,o)}))}}()},379:t=>{var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var a={},s=[],i=0;i<t.length;i++){var l=t[i],c=r.base?l[0]+r.base:l[0],u=a[c]||0,p="".concat(c," ").concat(u);a[c]=u+1;var d=n(p),g={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==d)e[d].references++,e[d].updater(g);else{var h=o(g,r);r.byIndex=i,e.splice(i,0,{identifier:p,updater:h,references:1})}s.push(p)}return s}function o(t,e){var n=e.domAPI(e);return n.update(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,o){var a=r(t=t||[],o=o||{});return function(t){t=t||[];for(var s=0;s<a.length;s++){var i=n(a[s]);e[i].references--}for(var l=r(t,o),c=0;c<a.length;c++){var u=n(a[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}a=l}}},569:t=>{var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},216:t=>{t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},565:(t,e,n)=>{t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},795:t=>{t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},589:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},29:(t,e,n)=>{n.d(e,{NI:()=>o,mc:()=>r});const r=["A","G","C","U","T"];var o;!function(t){t.HELM="HELM",t.AXOLABS="Axolabs"}(o||(o={}))},895:(t,e,n)=>{n.d(e,{BX:()=>r,Dv:()=>i,VV:()=>l,Xz:()=>c,a_:()=>o,dz:()=>s,pl:()=>a});const r="System:AppData/SequenceTranslator",o="monomer-lib.json",a="System:AppData/SequenceTranslator",s="axolabs-style.json",i="formats-to-helm.json",l="codes-to-symbols.json",c="linkers.json"},996:(t,e,n)=>{n.d(e,{BF:()=>l,Rv:()=>i,VO:()=>u});var r=n(976),o=n(895);const a=new r.FileSource(o.pl);let s,i,l,c;async function u(){[s,i,l,c].every((t=>void 0!==t))||(s=await p(o.dz),i=await p(o.Dv),l=await p(o.VV),c=await p(o.Xz))}async function p(t){let e;try{e=JSON.parse(await a.readAsText(t))}catch(e){const n=e.hasOwnProperty("message")?e.message:e.toString();throw new Error(`Error loading json from ${t}:`+n)}return e}},669:(t,e,n)=>{n.d(e,{Y3:()=>a,xB:()=>o});var r=n(469);function o(t){return t.sort(((t,e)=>e.length-t.length))}async function a(t,e,n="Oligo app"){try{return await t()}catch(t){const e=t.hasOwnProperty("message")?t.message:t.toString();throw r.shell.error(`${n} error: `+e),t}finally{e&&e()}}},559:(t,e,n)=>{n.d(e,{A:()=>i});var r=n(976),o=n(593),a=n(29),s=n(996);class i{constructor(){const t=o._package.monomerLib;if(null===t)throw new Error("SequenceTranslator: monomer library is null");this.lib=t,this.allMonomers=this.getAllMonomers()}lib;static instance;allMonomers;formatMonomerForViewer(t){const e={};return e.name=t.symbol,e.symbol=t.symbol,e.molfile=t.molfile,this.getAllFormats().forEach((n=>{if(n===a.NI.HELM)return;const r=s.BF[n],o=Object.keys(r).filter((e=>r[e]===t.symbol));e[n]=o.join(", ")})),e}getAllMonomers(){const t=this.lib.getPolymerTypes();let e=[];for(const n of t){const t=this.lib.getMonomerSymbolsByType(n).map((t=>this.lib.getMonomer(n,t))).filter((t=>null!==t));e=e.concat(t)}return e}getMonomer(t){const e=this.lib.getMonomer("RNA",t);if(void 0===e)throw new Error(`SequenceTranslator: no monomer with symbol ${t}`);return e}static getInstance(){return void 0===i.instance&&(i.instance=new i),i.instance}getMolfileBySymbol(t){return this.getMonomer(t).molfile}getNaturalAnalogBySymbol(t){const e=this.getMonomer(t).naturalAnalog;if(!e)throw new Error(`ST: no natural analog for ${t}`);return e}isModification(t){return!!this.getMolfileBySymbol(t).includes("MODIFICATION")}getCodeToSymbolMap(t){return new Map(Object.entries(s.BF[t]))}getCodesByFormat(t){return Object.keys(s.BF[t])}getAllFormats(){return Object.keys(s.BF)}getTableForViewer(){const t=this.allMonomers.map((t=>this.formatMonomerForViewer(t)));return r.DataFrame.fromObjects(t)}getCodesToWeightsMap(){const t=new Map;return Object.entries(s.BF).forEach((([e,n])=>{Object.entries(n).forEach((([e,n])=>{const r=this.getMonomer(n).meta?.molecularWeight;t.set(e,r)}))})),t}}},947:(t,e,n)=>{n.d(e,{b:()=>s});var r=n(29),o=n(559),a=n(669);class s{sequence;constructor(t){this.sequence=t,this.libWrapper=o.A.getInstance()}libWrapper;getInvalidCodeIndex(t){if(t===r.NI.HELM)return this.sequence.length;const e=["r","d"],n=(0,a.xB)(this.libWrapper.getCodesByFormat(t));let o=0;for(;o<this.sequence.length;){const t=n.find((t=>t===this.sequence.substring(o,o+t.length)));if(!t)break;if(o>1&&r.mc.includes(this.sequence[o])&&e.includes(this.sequence[o-2]))break;if(e.includes(this.sequence[o+1])&&r.mc.includes(this.sequence[o])){o++;break}o+=t.length}return o===this.sequence.length&&(o=-1),o}isValidSequence(t){return-1===this.getInvalidCodeIndex(t)}}},544:(t,e,n)=>{n.d(e,{$3:()=>o,DD:()=>r,s8:()=>a});const r={NUCLEOSIDE:"nucleoside",LINKAGE:"phosphateBackbone"},o="p",a="<?>"},864:(t,e,n)=>{n.d(e,{C:()=>c,D:()=>l});var r=n(29),o=n(544),a=n(456),s=n(996),i=n(559);function l(t,e,n){const o=Object.keys(s.Rv).concat([r.NI.HELM]);if(!t||-1!==e&&n!==r.NI.HELM)return{};if(!o.includes(n))throw new Error(`${n} format is not supported by SequenceTranslator`);const l=o.filter((t=>t!=n)).sort(((t,e)=>t.localeCompare(e))),u=new a.I(t,n),p=Object.fromEntries(l.map((t=>{let e;try{e=u.convertTo(t)}catch{e=null}return[t,e]})).filter((([t,e])=>e))),d=c(n===r.NI.HELM?t:p[r.NI.HELM],i.A.getInstance());return d&&(p.Nucleotides=d),p}function c(t,e){const n=new RegExp("\\([^()]*\\)","g"),a=t.match(n);return a?a.map((t=>{const n=t.replace(/[\[\]()]/g,"");return r.mc.includes(n)?n:e.getNaturalAnalogBySymbol(n)})).map((t=>t||o.s8)).join(""):null}},456:(t,e,n)=>{n.d(e,{I:()=>u});var r=n(29),o=n(544),a=n(996);const s=(t,e)=>e.length-t.length;class i{constructor(){this.formats=this.getFormats()}formats;getFormatNames(){return this.formats.sort()}getCodesByFormat(t){if(this.validateFormat(t),this.isHelm(t))throw new Error("Codes cannot be obtained for HELM");return this.getFormatCodes(t)}getHelmToFormatDict(t){return this.validateFormat(t),function(t){const e={};return Object.values(t).forEach((t=>{Object.entries(t).forEach((([t,n])=>{const r=n.replace(/\)p/g,")").replace(/\]p/g,"]");void 0===e[r]?e[r]=[t]:e[r].push(t)}))})),Object.entries(e).forEach((([t,n])=>{const r=n.sort(s);e[t]=r[0]})),e}(a.Rv[t])}getFormatToHelmDict(t){this.validateFormat(t);const e=a.Rv[t];return Object.assign({},...Object.values(e))}getTargetFormatHelmCodes(t){this.validateFormat(t);const e=this.getHelmToFormatDict(t);return Object.keys(e).sort(s)}getTargetFormatHelmCodesRegExp(t){this.validateFormat(t);const e=this.getTargetFormatHelmCodes(t);return new RegExp(l(e)+"|.","g")}getFormatRegExp(t){if(this.validateFormat(t),this.isHelm(t))throw new Error("Helm RegExp can be built for non-HELM target formats");return this.getNonHelmFormatRegExp(t)}getPhosphateHelmCodesRegExp(t){this.validateFormat(t);const e=a.Rv[t],n=l(Array.from(new Set(Object.values(e[o.DD.LINKAGE]))).sort(s));return new RegExp(`${o.$3}.(${n})`,"g")}isValidFormat(t){return this.formats.includes(t)}getFormats(){return Object.keys(a.Rv)}validateFormat(t){if(!this.isValidFormat(t))throw new Error(`Invalid format: ${t}`)}isHelm(t){return t===r.NI.HELM}getFormatCodes(t){const e=this.getFormatToHelmDict(t);return Object.keys(e).sort(s)}getNonHelmFormatRegExp(t){const e=this.getCodesByFormat(t);return new RegExp(l(e)+"|\\([^()]*\\)|.","g")}}function l(t){return t.map((t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))).map((t=>t.includes("(")||t.includes(")")?t:`(?<!\\([^()]*)${t}(?![^()]*\\))`)).join("|")}const c={LEFT:"RNA1{",RIGHT:"}$$$$"};class u{sequence;sourceFormat;constructor(t,e){this.sequence=t,this.sourceFormat=e}formats=new i;convertTo(t){const e=this.formats.getFormatNames();if(this.sourceFormat===r.NI.HELM&&e.includes(t))return this.helmToFormat(this.sequence,t);if(e.includes(this.sourceFormat)&&t===r.NI.HELM)return this.formatToHelm(this.sequence,this.sourceFormat);if([this.sourceFormat,t].every((t=>e.includes(t)))){const e=this.formatToHelm(this.sequence,this.sourceFormat);return this.helmToFormat(e,t)}throw new Error(`ST: unsupported translation direction ${this.sourceFormat} -> ${t}`)}helmToFormat(t,e){const n=new RegExp(l(Object.values(c)),"g");let r=t.replace(n,"");const a=this.formats.getHelmToFormatDict(e),s=this.formats.getTargetFormatHelmCodes(e),i=this.formats.getTargetFormatHelmCodesRegExp(e);return r=r.replace(i,(t=>s.includes(t)?a[t]:"p"===t||"."===t?t:"?")).replace(/\?+/g,o.s8).replace(/p\.|\./g,""),r=r.replace(/<empty>/g,""),r=r.replace(/\/\//g,"/"),r}formatToHelm(t,e){const n=this.formats.getFormatToHelmDict(e),r=this.formats.getCodesByFormat(e),a=this.formats.getFormatRegExp(e),s=this.formats.getPhosphateHelmCodesRegExp(e);let i=t.replace(a,(t=>r.includes(t)?n[t]+".":"?"));return i=i.replace(/\?+/g,`${o.s8}.`),i=i.slice(0,-1),i[i.length-1]===o.$3&&(i=i.slice(0,-1)),i=i.replace(s,((t,e)=>e)),i=i.replace(/<empty>/g,""),`${c.LEFT+i+c.RIGHT}`}}},593:(t,e,n)=>{n.d(e,{_package:()=>j});var r=n(976);n(469),ui,rxjs;var o=n(379),a=n.n(o),s=n(795),i=n.n(s),l=n(569),c=n.n(l),u=n(565),p=n.n(u),d=n(216),g=n.n(d),h=n(589),m=n.n(h),f=n(602),A={};A.styleTagTransform=m(),A.setAttributes=p(),A.insert=c().bind(null,"head"),A.domAPI=i(),A.insertStyleElement=g(),a()(f.Z,A),f.Z&&f.Z.locals&&f.Z.locals,n(947);var C=n(669);n(29),n(559),n(996),$;var b,v,w=n(490),E={};E.styleTagTransform=m(),E.setAttributes=p(),E.insert=c().bind(null,"head"),E.domAPI=i(),E.insertStyleElement=g(),a()(w.Z,E),w.Z&&w.Z.locals&&w.Z.locals,n(864),(v=b||(b={})).HEADER="V2000",v[v.NUM_OF_HEADER_LINES=3]="NUM_OF_HEADER_LINES",v[v.NUM_OF_COUNTS_DIGITS=3]="NUM_OF_COUNTS_DIGITS",v[v.ATOM_TYPE_COL=4]="ATOM_TYPE_COL",v[v.FIRST_BONDED_ATOM_COL=1]="FIRST_BONDED_ATOM_COL",v[v.BOND_TYPE_COL=3]="BOND_TYPE_COL",v[v.RGP_SHIFT=8]="RGP_SHIFT",v.RGP_LINE="M RGP",v.A_LINE="A ",v.END="M END",Error,n(456);var y=n(753),x={};function B(t,e){const n=document.createElement("canvas").getContext("2d");return n.font=String(e),2*n.measureText(t).width}x.styleTagTransform=m(),x.setAttributes=p(),x.insert=c().bind(null,"head"),x.domAPI=i(),x.insertStyleElement=g(),a()(y.Z,x),y.Z&&y.Z.locals&&y.Z.locals;Math.max(B("SS: 5'",17),B("AS: 3'",17)),Math.max(B("3'",17),B("5'",17)),n(803);var O,N,S=n(895);wu;class T{constructor(t,e,n){this.name=t,this.alphabet=e,this.cutoff=n}}(N=O||(O={})).FASTA="fasta",N.SEPARATOR="separator",N.HELM="helm";const M=new class{constructor(){this.fasta={peptide:new Set(["G","L","Y","S","E","Q","D","N","F","A","K","R","H","C","V","P","W","I","M","T"]),dna:new Set(["A","C","G","T"]),rna:new Set(["A","C","G","U"])}}};new T("PT",M.fasta.peptide,.5),new T("DNA",M.fasta.dna,.55),new T("RNA",M.fasta.rna,.55);class R extends Float32Array{}class k{static makePalette(t,e=!1,n=k){const r={};return t.forEach((t=>{const n=t[0],o=t[1];n.forEach(((t,n)=>{r[t]=this.colourPalette[o][e?0:n]}))})),new n(r)}constructor(t){this._palette=t}get(t){return this._palette[t]}}k.undefinedColor="rgb(100,100,100)",k.colourPalette={orange:["rgb(255,187,120)","rgb(245,167,100)","rgb(235,137,70)","rgb(205, 111, 71)"],all_green:["rgb(44,160,44)","rgb(74,160,74)","rgb(23,103,57)","rgb(30,110,96)","rgb(60,131,95)","rgb(24,110,79)","rgb(152,223,138)","rgb(182, 223, 138)","rgb(152, 193, 138)"],all_blue:["rgb(31,119,180)","rgb(23,190,207)","rgb(122, 102, 189)","rgb(158,218,229)","rgb(141, 124, 217)","rgb(31, 120, 150)"],magenta:["rgb(162,106,192)","rgb(197,165,224)","rgb(208,113,218)"],red:["rgb(214,39,40)","rgb(255,152,150)"],st_blue:["rgb(23,190,207)","rgb(158,218,229)","rgb(31,119,180)"],dark_blue:["rgb(31,119,180)","rgb(31, 120, 150)"],light_blue:["rgb(23,190,207)","rgb(158,218,229)","rgb(108, 218, 229)","rgb(23,190,227)"],lilac_blue:["rgb(124,102,211)","rgb(149,134,217)","rgb(97, 81, 150)"],dark_green:["rgb(23,103,57)","rgb(30,110,96)","rgb(60,131,95)","rgb(24,110,79)"],green:["rgb(44,160,44)","rgb(74,160,74)"],light_green:["rgb(152,223,138)","rgb(182, 223, 138)","rgb(152, 193, 138)"],st_green:["rgb(44,160,44)","rgb(152,223,138)","rgb(39, 174, 96)","rgb(74,160,74)"],pink:["rgb(247,182,210)"],brown:["rgb(140,86,75)","rgb(102, 62, 54)"],gray:["rgb(127,127,127)","rgb(199,199,199)","rgb(196,156,148)","rgb(222, 222, 180)"],yellow:["rgb(188,189,34)"],white:["rgb(230,230,230)"]};class F extends k{static get Lesk(){return void 0===this.lesk&&(this.lesk=this.makePalette([[["G","A","S","T"],"orange"],[["C","V","I","L","P","F","Y","M","W"],"all_green"],[["N","Q","H"],"magenta"],[["D","E"],"red"],[["K","R"],"all_blue"]],!1,F)),this.lesk}static get GrokGroups(){return void 0===this.grokGroups&&(this.grokGroups=this.makePalette([[["C","U"],"yellow"],[["G","P"],"red"],[["A","V","I","L","M","F","Y","W"],"all_green"],[["R","H","K"],"light_blue"],[["D","E"],"dark_blue"],[["S","T","N","Q"],"orange"]],!1,F)),this.grokGroups}static get RasMol(){return void 0===this.rasMol&&(this.rasMol=new F({D:"#E60A0A",E:"#E60A0A",C:"#E6E600",M:"#E6E600",K:"#145AFF",R:"#145AFF",S:"#FA9600",T:"#FA9600",F:"#3232AA",Y:"#3232AA",N:"#00DCDC",Q:"#00DCDC",G:"#EBEBEB",L:"#0F820F",V:"#0F820F",I:"#0F820F",A:"#C8C8C8",W:"#B45AB4",H:"#8282D2",P:"#DC9682",others:"#BEA06E"})),this.rasMol}get(t){const e=t in F.aaSynonyms?F.aaSynonyms[t]:t;return super.get(e)}}F.aaSynonyms={MeNle:"L",MeA:"A",MeG:"G",MeF:"F"};class L{static getPalette(t="grok"){switch(t){case"grok":return F.GrokGroups;case"lesk":return F.Lesk;default:throw new Error(`ChemPalette: scheme \`${t}\` does not exist`)}}static getInnerOuter(t){let e=0,n="",r="";for(const o of t)"("==o?e++:")"==o?e--:e?n+=o:r+=o;return isNaN(parseInt(n))?[r,n]:[r,""]}static getColorAAPivot(t="",e="grok"){const n=this.getPalette(e);let[r,o]=this.getInnerOuter(t);if(r=r.length>6?`${r.slice(0,3)}...`:r,o=o.length>6?`${o.slice(0,3)}...`:o,1==t.length||"("==t[1]){const e=t[0]?.toUpperCase();return e in n?[n.get(e),e,o,1]:[this.undefinedColor,r,o,1]}if("d"==t[0]&&t[1]in n&&(2==t.length||"("==t[2])){const e=t[1]?.toUpperCase();return e in n?[n.get(e),e,o,2]:[this.undefinedColor,r,o,2]}if(t.substring(0,3)in this.AAFullNames&&(3==t.length||"("==t[3])){const e=this.AAFullNames[t.substring(0,3)];return e in n?[n.get(e),e,o,3]:[this.undefinedColor,r,o,3]}if(t[0]?.toLowerCase()==t[0]&&t.substring(1,3)in this.AAFullNames&&(4==t.length||"("==t[4])){const e=this.AAFullNames[t.substring(1,3)];return e in n?[n.get(e),e,o,4]:[this.undefinedColor,r,o,4]}return[this.undefinedColor,r,o,0]}}L.SemType="Aminoacids",L.SemTypeMultipleAlignment="AminoacidsMultipleAlignment",L.undefinedColor="rgb(100,100,100)",L.Names={G:"Glycine",L:"Leucine",Y:"Tyrosine",S:"Serine",E:"Glutamic acid",Q:"Glutamine",D:"Aspartic acid",N:"Asparagine",F:"Phenylalanine",A:"Alanine",K:"Lysine",R:"Arginine",H:"Histidine",C:"Cysteine",V:"Valine",P:"Proline",W:"Tryptophan",I:"Isoleucine",M:"Methionine",T:"Threonine"},L.AASmiles={G:"NCC(=O)O",L:"N[C@H](CC(C)C)C(=O)O",Y:"NC(CC1=CC=C(O)C=C1)C(=O)O",S:"NC(CO)C(=O)O",E:"N[C@@H](CCC(O)=O)C(=O)O",Q:"N[C@@H](CCC(N)=O)C(=O)O",D:"N[C@@H](CC(O)=O)C(=O)O",N:"N[C@@H](CC(N)=O)C(=O)O",F:"NC(CC1=CC=CC=C1)C(=O)O",A:"N[C@H](C)C(=O)O",K:"NC(CCCCN)C(=O)O",R:"N[C@H](CCCNC(=N)C)C(=O)O",H:"NC(CC1=CN=C[N]1)C(=O)O",C:"N[C@@H](CS)C(=O)O",V:"NC(C(C)C)C(=O)O",P:"N(CCC1)C1C(=O)O",W:"N[C@@H](Cc1c2ccccc2n([H])c1)C(=O)O",I:"N[C@H]([C@H](C)CC)C(=O)O",M:"NC(CCSC)C(=O)O",T:"NC(C(O)C)C(=O)O"},L.AASmilesTruncated={G:"*C*",L:"CC(C)C[C@H](*)*",Y:"C1=CC(=CC=C1CC(*)*)O",S:"OCC(*)C*",E:"*[C@@H](CCC(O)=O)*",Q:"*N[C@@H](CCC(N)=O)*",D:"*[C@@H](CC(O)=O)*",N:"*[C@@H](CC(N)=O)*",F:"C1=CC=C(C=C1)CC(*)*",A:"C[C@H](*)*",K:"C(CCN)CC(*)*",R:"*[C@H](CCCNC(=N)C)*",H:"C1=C(NC=N1)CC(*)*",C:"C([C@@H](*)*)S",V:"CC(C)C(*)*",P:"C1CCN(*)C1*",W:"*[C@@H](Cc1c2ccccc2n([H])c1)*",I:"CC[C@H](C)[C@H](*)*",M:"CSCCC(*)*",T:"CC(O)C(*)*"},L.AAFullNames={Ala:"A",Arg:"R",Asn:"N",Asp:"D",Cys:"C",Gln:"Q",Glu:"E",Gly:"G",His:"H",Ile:"I",Leu:"L",Lys:"K",Met:"M",Phe:"F",Pro:"P",Ser:"S",Thr:"T",Trp:"W",Tyr:"Y",Val:"V"};class H{}H.SemType="Nucleotides",H.SemTypeMultipleAlignment="NucleotidesMultipleAlignment",H.Names={A:"Adenine",C:"Cytosine",G:"Guanine",T:"Thymine",U:"Uracil"};class I{static hashCode(t){let e=0;if(0===t.length)return e;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}}class G{}class U extends G{static buildPalette(){return[].concat(...Object.values(k.colourPalette))}get(t){const e=I.hashCode(t)%U.palette.length;return function(t){if(null==t)return"rgb(100,100,100)";const e=r.Color.fromHtml(t),n=r.Color.g(e),o=r.Color.r(e),a=r.Color.b(e),s=Math.sqrt(Math.pow(0-o,2)+Math.pow(0-n,2)+Math.pow(0-a,2));return s>210?`rgb(${o/s*210},${n/s*210},${a/s*210})`:r.Color.toRgb(e)}(U.palette[e])}}U.palette=U.buildPalette();new Uint32Array(65536);var P,_;(_=P||(P={})).HAMMING="Hamming",_.LEVENSHTEIN="Levenshtein",_.NEEDLEMANN_WUNSCH="Needlemann-Wunsch",P.HAMMING,P.LEVENSHTEIN,P.NEEDLEMANN_WUNSCH,new class{constructor(){this.uhTemp=`units-handler.${r.SEMTYPE.MACROMOLECULE}`}},O.FASTA,O.SEPARATOR,O.HELM,n(61);class D extends r.Package{_monomerLib;get monomerLib(){if(!this._monomerLib)throw new Error("Monomer lib not loaded");return this._monomerLib}async initMonomerLib(){if(void 0!==this._monomerLib)return;const t=r.TaskBarProgressIndicator.create("Initializing Oligo Toolkit monomer library ...");await(0,C.Y3)((async()=>{const t=await async function(){const t=r.Func.find({package:"Bio",name:"getMonomerLibHelper"});if(0===t.length)throw new Error('Package "Bio" must be installed for MonomerLibHelper.');return(await t[0].prepare().call()).getOutputParamValue()}();this._monomerLib=await t.readLibrary(S.BX,S.a_)}),(()=>t.close()))}}const j=new D},976:t=>{t.exports=DG},469:t=>{t.exports=grok}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={id:r,exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nc=void 0;var r={};(()=>{n.r(r),n.d(r,{_package:()=>f,test:()=>A,tests:()=>e.QK});var t=n(976),e=n(61),o=n(29),a=n(456),s=n(996);const i={Axolabs:{UfAfsCfsGfuacg:"RNA1{[fR](U)p.[fR](A)[sp].[fR](C)[sp].[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$"},BioSpring:{"AT*GC*123456789":"RNA1{r(A)p.r(T)[sp].r(G)p.r(C)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)p.d([m5C])}$$$$"},Mermade12:{hefglijkLIJKHEFG:"RNA1{[25r](U)[sp].[25r](A)[sp].[25r](C)[sp].[25r](G)[sp].[fR](U)[sp].[fR](A)[sp].[fR](C)[sp].[fR](G)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$"}},l={"RNA1{[fR](U)p.[fR](A)[sp].[fR](C)[sp].[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$":"UACGUACG","RNA1{r(A)p.r(T)[sp].r(G)p.r(C)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)p.d([m5C])}$$$$":"ATGCUACGUACGC","RNA1{[25r](U)[sp].[25r](A)[sp].[25r](C)[sp].[25r](G)[sp].[fR](U)[sp].[fR](A)[sp].[fR](C)[sp].[fR](G)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$":"UACGUACGUACGUACG"};var c=n(593);function u(t,e){return new a.I(t,e).convertTo(o.NI.HELM)}function p(t,e){return new a.I(t,o.NI.HELM).convertTo(e)}(0,e.W3)("Formats to HELM",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()}));for(const t of Object.keys(i))for(const[n,r]of Object.entries(i[t]))(0,e.Bu)(`${t} to HELM`,(async()=>{const o=r,a=u(n,t);(0,e.l_)(a,o)}))})),(0,e.W3)("HELM to Formats",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()}));for(const t of Object.keys(i))for(const[n,r]of Object.entries(i[t]))(0,e.Bu)(`${t} to HELM`,(async()=>{const o=n,a=p(r,t);(0,e.l_)(a,o)}))}));var d=n(864),g=n(559);(0,e.W3)("HELM to Nucleotides",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()})),Object.entries(l).forEach((([t,n],r)=>{(0,e.Bu)(`Sequence ${r+1} to nucleotides`,(async()=>{const r=n,o=(0,d.C)(t,g.A.getInstance());(0,e.l_)(o,r)}))}))}));var h=n(947);const m={[o.NI.AXOLABS]:"Afcgacsu",[o.NI.HELM]:"RNA1{[fR](A)p.[25r](C)p.[25r](G)p.[25r](A)p.[25r](C)[sp].[25r](U)}$$$$"};(0,e.W3)("Formats support",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()})),Object.entries(m).forEach((([t,n])=>{(0,e.Bu)(`All formats for ${t}`,(async()=>{const r=function(t,e){const n=new h.b(t).getInvalidCodeIndex(e);return(0,d.D)(t,n,e)}(n,t),o=Object.keys(r).length,a=Object.keys(i).length+1;(0,e.l_)(!0,a<=o)}))}))}));const f=new t.Package;async function A(n,r,o){const a=await(0,e.ci)({category:n,test:r,testContext:o});return t.DataFrame.fromObjects(a)}})(),sequencetranslator_test=r})();
1
+ var sequencetranslator_test;(()=>{"use strict";var t={286:(t,e,n)=>{n.d(e,{L:()=>r});class r{constructor(t,e,n){this.name=t,this.alphabet=e,this.cutoff=n}}},61:(t,e,n)=>{n.d(e,{Bu:()=>p,QK:()=>s,W3:()=>g,bb:()=>h,ci:()=>m,l_:()=>d});var r=n(469),o=n(976),a=function(t,e,n,r){return new(n||(n=Promise))((function(o,a){function s(t){try{l(r.next(t))}catch(t){a(t)}}function i(t){try{l(r.throw(t))}catch(t){a(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,i)}l((r=r.apply(t,e||[])).next())}))};const s={};let i;var l;!function(t){t.notNull=function(t,e){if(null==t)throw new Error(`${null==e?"Value":e} not defined`)}}(l||(l={}));class c{constructor(t,e){this.catchUnhandled=!0,this.report=!1,void 0!==t&&(this.catchUnhandled=t),void 0!==e&&(this.report=e)}}class u{constructor(t,e,n,r){var o;this.category=t,this.name=e,null!=r||(r={}),null!==(o=r.timeout)&&void 0!==o||(r.timeout=3e4),this.options=r,this.test=()=>a(this,void 0,void 0,(function*(){return new Promise(((t,e)=>a(this,void 0,void 0,(function*(){let r="";try{r=yield n()}catch(t){e(t)}t(r)}))))}))}}function p(t,e,n){null==s[i]&&(s[i]={}),null==s[i].tests&&(s[i].tests=[]),s[i].tests.push(new u(i,t,e,n))}function d(t,e){if(t!==e)throw new Error(`Expected "${e}", got "${t}"`)}function g(t,e){i=t,e()}function h(t){null==s[i]&&(s[i]={}),s[i].before=t}function m(t){var e,n,i,l,u;return a(this,void 0,void 0,(function*(){const p=[],d=null===(n=null===(e=r.functions.getCurrentCall())||void 0===e?void 0:e.func)||void 0===n?void 0:n.package;console.log("Running tests"),null!=t||(t={}),null!==(i=(u=t).testContext)&&void 0!==i||(u.testContext=new c),r.shell.lastError="";for(const[e,n]of Object.entries(s)){if(null!=(null==t?void 0:t.category)&&!e.toLowerCase().startsWith(null==t?void 0:t.category.toLowerCase()))continue;console.log(`Started ${e} category`);try{n.before&&(yield n.before())}catch(t){n.beforeStatus=t.toString()}const r=null!==(l=n.tests)&&void 0!==l?l:[],o=[];for(let e=0;e<r.length;e++)o.push(yield f(r[e],null==t?void 0:t.test));const a=(yield Promise.all(o)).filter((t=>"skipped"!=t.result));try{n.after&&(yield n.after())}catch(t){n.afterStatus=t.toString()}n.afterStatus&&a.push({category:e,name:"init",result:n.afterStatus,success:!1,ms:0,skipped:!1}),n.beforeStatus&&a.push({category:e,name:"init",result:n.beforeStatus,success:!1,ms:0,skipped:!1}),p.push(...a)}if(t.testContext.catchUnhandled&&(yield function(t){return a(this,void 0,void 0,(function*(){yield new Promise((e=>setTimeout(e,t)))}))}(1e3),r.shell.lastError.length>0&&p.push({category:"Unhandled exceptions",name:"exceptions",result:r.shell.lastError,success:!1,ms:0,skipped:!1})),t.testContext.report){const t=new o.Logger,e=p.filter((t=>t.success)).length,n=p.filter((t=>t.skipped)).length,r=p.filter((t=>!t.success)),a="Package @package tested: @successful successful, @skipped skipped, @failed failed tests",s={successful:e,skipped:n,failed:r.length,package:d};for(const t of r)Object.assign(s,{[`${t.category} | ${t.name}`]:t.result});t.log(a,s,"package-tested")}return p}))}function f(t,e){var n,r,o;return a(this,void 0,void 0,(function*(){let a;const s=null!=e&&!t.name.toLowerCase().startsWith(e.toLowerCase()),i=(null===(n=t.options)||void 0===n?void 0:n.skipReason)||s,l=s?"skipped":null===(r=t.options)||void 0===r?void 0:r.skipReason;i||console.log(`Started ${t.category} ${t.name}`);const c=new Date;try{a=i?{success:!0,result:l,ms:0,skipped:!0}:{success:!0,result:null!==(o=yield t.test())&&void 0!==o?o:"OK",ms:0,skipped:!1}}catch(t){a={success:!1,result:t.toString(),ms:0,skipped:!1}}const u=new Date;return a.ms=u-c,i||console.log(`Finished ${t.category} ${t.name} for ${a.ms} ms`),a.category=t.category,a.name=t.name,a}))}},490:(t,e,n)=>{n.d(e,{Z:()=>i});var r=n(537),o=n.n(r),a=n(645),s=n.n(a)()(o());s.push([t.id,".colored-text-input > textarea {\n width: 100%;\n -webkit-text-fill-color: transparent;\n background-color: transparent;\n position: relative;\n z-index: 1;\n resize: none;\n height: 22px; /* Fine tuned value to avoid \"jumping\" of the textarea upon autoresize */\n}\n\n.colored-text-input > div {\n /* The values here are fine tuned to those of the ui.input textarea in order\n * to achieve precise overlap */\n overflow: auto;\n position: absolute;\n pointer-events: none;\n cursor: text;\n z-index: 0;\n max-width: 100%;\n padding: 2px;\n line-height: normal;\n font-family: 'Roboto Mono', 'Roboto Mono Local', monospace;\n font-size: 12px;\n color: transparent;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n","",{version:3,sources:["webpack://./src/view/style/colored-text-input.css"],names:[],mappings:"AAAA;EACE,WAAW;EACX,oCAAoC;EACpC,6BAA6B;EAC7B,kBAAkB;EAClB,UAAU;EACV,YAAY;EACZ,YAAY,EAAE,wEAAwE;AACxF;;AAEA;EACE;iCAC+B;EAC/B,cAAc;EACd,kBAAkB;EAClB,oBAAoB;EACpB,YAAY;EACZ,UAAU;EACV,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,0DAA0D;EAC1D,eAAe;EACf,kBAAkB;EAClB,qBAAqB;EACrB,qBAAqB;AACvB",sourcesContent:[".colored-text-input > textarea {\n width: 100%;\n -webkit-text-fill-color: transparent;\n background-color: transparent;\n position: relative;\n z-index: 1;\n resize: none;\n height: 22px; /* Fine tuned value to avoid \"jumping\" of the textarea upon autoresize */\n}\n\n.colored-text-input > div {\n /* The values here are fine tuned to those of the ui.input textarea in order\n * to achieve precise overlap */\n overflow: auto;\n position: absolute;\n pointer-events: none;\n cursor: text;\n z-index: 0;\n max-width: 100%;\n padding: 2px;\n line-height: normal;\n font-family: 'Roboto Mono', 'Roboto Mono Local', monospace;\n font-size: 12px;\n color: transparent;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n"],sourceRoot:""}]);const i=s},753:(t,e,n)=>{n.d(e,{Z:()=>i});var r=n(537),o=n.n(r),a=n(645),s=n.n(a)()(o());s.push([t.id,"/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n\n.st-structure-body {\n padding-right: 20px;\n}\n\n.st-structure-input-form {\n text-align: right;\n vertical-align: top;\n min-width: 95px;\n}\n\n.st-structure-direction-choice label {\n min-width: 100px;\n float: right;\n}\n\n.st-structure-direction-choice div {\n justify-content: right;\n}\n\n.st-structure-text-input-td { /* Style for td containing textarea */\n width: 100%;\n}\n\n.st-structure-mol-img {\n margin-right: 30px;\n float: right;\n}\n\n.st-structure-bool-button-block {\n justify-content: right;\n margin-bottom: 10px;\n}\n\n.st-structure-bottom {\n flex-direction: row-reverse;\n padding-top: 20px;\n}\n","",{version:3,sources:["webpack://./src/view/style/structure-app.css"],names:[],mappings:"AAAA,gGAAgG;;AAEhG;EACE,mBAAmB;AACrB;;AAEA;EACE,iBAAiB;EACjB,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,sBAAsB;AACxB;;AAEA,8BAA8B,qCAAqC;EACjE,WAAW;AACb;;AAEA;EACE,kBAAkB;EAClB,YAAY;AACd;;AAEA;EACE,sBAAsB;EACtB,mBAAmB;AACrB;;AAEA;EACE,2BAA2B;EAC3B,iBAAiB;AACnB",sourcesContent:["/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n\n.st-structure-body {\n padding-right: 20px;\n}\n\n.st-structure-input-form {\n text-align: right;\n vertical-align: top;\n min-width: 95px;\n}\n\n.st-structure-direction-choice label {\n min-width: 100px;\n float: right;\n}\n\n.st-structure-direction-choice div {\n justify-content: right;\n}\n\n.st-structure-text-input-td { /* Style for td containing textarea */\n width: 100%;\n}\n\n.st-structure-mol-img {\n margin-right: 30px;\n float: right;\n}\n\n.st-structure-bool-button-block {\n justify-content: right;\n margin-bottom: 10px;\n}\n\n.st-structure-bottom {\n flex-direction: row-reverse;\n padding-top: 20px;\n}\n"],sourceRoot:""}]);const i=s},602:(t,e,n)=>{n.d(e,{Z:()=>i});var r=n(537),o=n.n(r),a=n(645),s=n.n(a)()(o());s.push([t.id,"/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n.st-translator-input-table {\n /* width: 100%; */\n margin-right: 20px;\n}\n\n.st-translator-input-table td:has(textarea) {\n width: 100%;\n}\n\n.st-translator-input-table td:has(select) {\n min-width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table {\n margin-top: 20px;\n margin-right: 20px;\n margin-bottom: 10px;\n}\n\n.st-translator-output-table table {\n width: 100%;\n table-layout: fixed;\n}\n\n/* .st-translator-output-table table tbody tr td { */\n/* max-width: 20%; */\n/* } */\n\n.st-translator-output-table td {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.st-translator-output-table tr:nth-child(even) {\n background-color: var(--grey-1);\n}\n\n.st-translator-output-table td:nth-child(odd) {\n width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table td a {\n overflow-wrap: break-word;\n}\n","",{version:3,sources:["webpack://./src/view/style/translator-app.css"],names:[],mappings:"AAAA,gGAAgG;AAChG;EACE,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,mBAAmB;AACrB;;AAEA,oDAAoD;AACpD,sBAAsB;AACtB,MAAM;;AAEN;EACE,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,+BAA+B;AACjC;;AAEA;EACE,YAAY;EACZ,mBAAmB;AACrB;;AAEA;EACE,yBAAyB;AAC3B",sourcesContent:["/* Naming convention: class names should begin with st and app name to avoid naming collitions */\n.st-translator-input-table {\n /* width: 100%; */\n margin-right: 20px;\n}\n\n.st-translator-input-table td:has(textarea) {\n width: 100%;\n}\n\n.st-translator-input-table td:has(select) {\n min-width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table {\n margin-top: 20px;\n margin-right: 20px;\n margin-bottom: 10px;\n}\n\n.st-translator-output-table table {\n width: 100%;\n table-layout: fixed;\n}\n\n/* .st-translator-output-table table tbody tr td { */\n/* max-width: 20%; */\n/* } */\n\n.st-translator-output-table td {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.st-translator-output-table tr:nth-child(even) {\n background-color: var(--grey-1);\n}\n\n.st-translator-output-table td:nth-child(odd) {\n width: 120px;\n vertical-align: top;\n}\n\n.st-translator-output-table td a {\n overflow-wrap: break-word;\n}\n"],sourceRoot:""}]);const i=s},645:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var s={};if(r)for(var i=0;i<this.length;i++){var l=this[i][0];null!=l&&(s[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);r&&s[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),e.push(u))}},e}},537:t=>{t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),a="/*# ".concat(o," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},803:(t,e)=>{var n;!function(){var r=e||{}||this||window;void 0===(n=function(){return r}.apply(e,[]))||(t.exports=n),r.default=r;var o="http://www.w3.org/2000/xmlns/",a="http://www.w3.org/2000/svg",s=/url\(["']?(.+?)["']?\)/,i={woff2:"font/woff2",woff:"font/woff",otf:"application/x-font-opentype",ttf:"application/x-font-ttf",eot:"application/vnd.ms-fontobject",sfnt:"application/font-sfnt",svg:"image/svg+xml"},l=function(t){return t instanceof HTMLElement||t instanceof SVGElement},c=function(t){if(!l(t))throw new Error("an HTMLElement or SVGElement is required; got "+t)},u=function(t){return new Promise((function(e,n){l(t)?e(t):n(new Error("an HTMLElement or SVGElement is required; got "+t))}))},p=function(t,e,n){var r=t.viewBox&&t.viewBox.baseVal&&t.viewBox.baseVal[n]||null!==e.getAttribute(n)&&!e.getAttribute(n).match(/%$/)&&parseInt(e.getAttribute(n))||t.getBoundingClientRect()[n]||parseInt(e.style[n])||parseInt(window.getComputedStyle(t).getPropertyValue(n));return null==r||isNaN(parseFloat(r))?0:r},d=function(t){for(var e=window.atob(t.split(",")[1]),n=t.split(",")[0].split(":")[1].split(";")[0],r=new ArrayBuffer(e.length),o=new Uint8Array(r),a=0;a<e.length;a++)o[a]=e.charCodeAt(a);return new Blob([r],{type:n})},g={},h=null,m=function(t,e){var n=e||{},r=n.selectorRemap,o=n.modifyStyle,a=n.modifyCss,l=n.fonts,c=n.excludeUnusedCss,u=a||function(t,e){return(r?r(t):t)+"{"+(o?o(e):e)+"}\n"},p=[],d=void 0===l,m=l||[];return(h||(h=Array.from(document.styleSheets).map((function(t){try{return{rules:t.cssRules,href:t.href}}catch(e){return console.warn("Stylesheet could not be loaded: "+t.href,e),{}}})))).forEach((function(e){var n=e.rules,r=e.href;n&&Array.from(n).forEach((function(e){if(void 0!==e.style)if(function(t,e){if(e)try{return t.querySelector(e)||t.parentNode&&t.parentNode.querySelector(e)}catch(t){console.warn('Invalid CSS selector "'+e+'"',t)}}(t,e.selectorText))p.push(u(e.selectorText,e.style.cssText));else if(d&&e.cssText.match(/^@font-face/)){var n=function(t,e){var n=t.cssText.match(s),r=n&&n[1]||"";if(r&&!r.match(/^data:/)&&"about:blank"!==r){var o,a,l=r.startsWith("../")?e+"/../"+r:r.startsWith("./")?e+"/."+r:r;return{text:t.cssText,format:(o=l,a=Object.keys(i).filter((function(t){return o.indexOf("."+t)>0})).map((function(t){return i[t]})),a?a[0]:(console.error("Unknown font format for "+o+". Fonts may not be working correctly."),"application/octet-stream")),url:l}}}(e,r);n&&m.push(n)}else c||p.push(e.cssText)}))})),function(t){return Promise.all(t.map((function(t){return new Promise((function(e,n){if(g[t.url])return e(g[t.url]);var r=new XMLHttpRequest;r.addEventListener("load",(function(){var n=function(t){for(var e="",n=new Uint8Array(t),r=0;r<n.byteLength;r++)e+=String.fromCharCode(n[r]);return window.btoa(e)}(r.response),o=t.text.replace(s,'url("data:'+t.format+";base64,"+n+'")')+"\n";g[t.url]=o,e(o)})),r.addEventListener("error",(function(n){console.warn("Failed to load font from: "+t.url,n),g[t.url]=null,e(null)})),r.addEventListener("abort",(function(n){console.warn("Aborted loading font from: "+t.url,n),e(null)})),r.open("GET",t.url),r.responseType="arraybuffer",r.send()}))}))).then((function(t){return t.filter((function(t){return t})).join("")}))}(m).then((function(t){return p.join("\n")+t}))},f=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};r.prepareSvg=function(t,e,n){c(t);var r=e||{},s=r.left,i=void 0===s?0:s,l=r.top,u=void 0===l?0:l,d=r.width,g=r.height,h=r.scale,f=void 0===h?1:h,A=r.responsive,C=void 0!==A&&A,b=r.excludeCss,v=void 0!==b&&b;return function(t){return Promise.all(Array.from(t.querySelectorAll("image")).map((function(t){var e,n=t.getAttributeNS("http://www.w3.org/1999/xlink","href")||t.getAttribute("href");return n?((e=n)&&0===e.lastIndexOf("http",0)&&-1===e.lastIndexOf(window.location.host)&&(n+=(-1===n.indexOf("?")?"?":"&")+"t="+(new Date).valueOf()),new Promise((function(e,r){var o=document.createElement("canvas"),a=new Image;a.crossOrigin="anonymous",a.src=n,a.onerror=function(){return r(new Error("Could not load "+n))},a.onload=function(){o.width=a.width,o.height=a.height,o.getContext("2d").drawImage(a,0,0),t.setAttributeNS("http://www.w3.org/1999/xlink","href",o.toDataURL("image/png")),e(!0)}}))):Promise.resolve(null)})))}(t).then((function(){var r=t.cloneNode(!0);r.style.backgroundColor=(e||{}).backgroundColor||t.style.backgroundColor;var s=function(t,e,n,r){if("svg"===t.tagName)return{width:n||p(t,e,"width"),height:r||p(t,e,"height")};if(t.getBBox){var o=t.getBBox(),a=o.x,s=o.y;return{width:a+o.width,height:s+o.height}}}(t,r,d,g),l=s.width,c=s.height;if("svg"!==t.tagName){if(!t.getBBox)return void console.error("Attempted to render non-SVG element",t);null!=r.getAttribute("transform")&&r.setAttribute("transform",r.getAttribute("transform").replace(/translate\(.*?\)/,""));var h=document.createElementNS("http://www.w3.org/2000/svg","svg");h.appendChild(r),r=h}if(r.setAttribute("version","1.1"),r.setAttribute("viewBox",[i,u,l,c].join(" ")),r.getAttribute("xmlns")||r.setAttributeNS(o,"xmlns",a),r.getAttribute("xmlns:xlink")||r.setAttributeNS(o,"xmlns:xlink","http://www.w3.org/1999/xlink"),C?(r.removeAttribute("width"),r.removeAttribute("height"),r.setAttribute("preserveAspectRatio","xMinYMin meet")):(r.setAttribute("width",l*f),r.setAttribute("height",c*f)),Array.from(r.querySelectorAll("foreignObject > *")).forEach((function(t){t.setAttributeNS(o,"xmlns","svg"===t.tagName?a:"http://www.w3.org/1999/xhtml")})),!v)return m(t,e).then((function(t){var e=document.createElement("style");e.setAttribute("type","text/css"),e.innerHTML="<![CDATA[\n"+t+"\n]]>";var o=document.createElement("defs");o.appendChild(e),r.insertBefore(o,r.firstChild);var a=document.createElement("div");a.appendChild(r);var s=a.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if("function"!=typeof n)return{src:s,width:l,height:c};n(s,l,c)}));var A=document.createElement("div");A.appendChild(r);var b=A.innerHTML;if("function"!=typeof n)return{src:b,width:l,height:c};n(b,l,c)}))},r.svgAsDataUri=function(t,e,n){return c(t),r.prepareSvg(t,e).then((function(t){var e=t.src,r=t.width,o=t.height,a="data:image/svg+xml;base64,"+window.btoa(decodeURIComponent(encodeURIComponent('<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [<!ENTITY nbsp "&#160;">]>'+e).replace(/%([0-9A-F]{2})/g,(function(t,e){var n=String.fromCharCode("0x"+e);return"%"===n?"%25":n}))));return"function"==typeof n&&n(a,r,o),a}))},r.svgAsPngUri=function(t,e,n){c(t);var o=e||{},a=o.encoderType,s=void 0===a?"image/png":a,i=o.encoderOptions,l=void 0===i?.8:i,u=o.canvg,p=function(t){var e=t.src,r=t.width,o=t.height,a=document.createElement("canvas"),i=a.getContext("2d"),c=window.devicePixelRatio||1;a.width=r*c,a.height=o*c,a.style.width=a.width+"px",a.style.height=a.height+"px",i.setTransform(c,0,0,c,0,0),u?u(a,e):i.drawImage(e,0,0);var p=void 0;try{p=a.toDataURL(s,l)}catch(t){if("undefined"!=typeof SecurityError&&t instanceof SecurityError||"SecurityError"===t.name)return void console.error("Rendered SVG images cannot be downloaded in this browser.");throw t}return"function"==typeof n&&n(p,a.width,a.height),Promise.resolve(p)};return u?r.prepareSvg(t,e).then(p):r.svgAsDataUri(t,e).then((function(t){return new Promise((function(e,n){var r=new Image;r.onload=function(){return e(p({src:r,width:r.width,height:r.height}))},r.onerror=function(){n("There was an error loading the data URI as an image on the following SVG\n"+window.atob(t.slice(26))+"Open the following link to see browser's diagnosis\n"+t)},r.src=t}))}))},r.download=function(t,e,n){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(d(e),t);else{var r=document.createElement("a");if("download"in r){r.download=t,r.style.display="none",document.body.appendChild(r);try{var o=d(e),a=URL.createObjectURL(o);r.href=a,r.onclick=function(){return requestAnimationFrame((function(){return URL.revokeObjectURL(a)}))}}catch(t){console.error(t),console.warn("Error while getting object URL. Falling back to string URL."),r.href=e}r.click(),document.body.removeChild(r)}else n&&n.popup&&(n.popup.document.title=t,n.popup.location.replace(e))}},r.saveSvg=function(t,e,n){var o=f();return u(t).then((function(t){return r.svgAsDataUri(t,n||{})})).then((function(t){return r.download(e,t,o)}))},r.saveSvgAsPng=function(t,e,n){var o=f();return u(t).then((function(t){return r.svgAsPngUri(t,n||{})})).then((function(t){return r.download(e,t,o)}))}}()},379:t=>{var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var a={},s=[],i=0;i<t.length;i++){var l=t[i],c=r.base?l[0]+r.base:l[0],u=a[c]||0,p="".concat(c," ").concat(u);a[c]=u+1;var d=n(p),g={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==d)e[d].references++,e[d].updater(g);else{var h=o(g,r);r.byIndex=i,e.splice(i,0,{identifier:p,updater:h,references:1})}s.push(p)}return s}function o(t,e){var n=e.domAPI(e);return n.update(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,o){var a=r(t=t||[],o=o||{});return function(t){t=t||[];for(var s=0;s<a.length;s++){var i=n(a[s]);e[i].references--}for(var l=r(t,o),c=0;c<a.length;c++){var u=n(a[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}a=l}}},569:t=>{var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},216:t=>{t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},565:(t,e,n)=>{t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},795:t=>{t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},589:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},29:(t,e,n)=>{n.d(e,{NI:()=>o,mc:()=>r});const r=["A","G","C","U","T"];var o;!function(t){t.HELM="HELM",t.AXOLABS="Axolabs"}(o||(o={}))},895:(t,e,n)=>{n.d(e,{BX:()=>r,Dv:()=>i,VV:()=>l,Xz:()=>c,a_:()=>o,dz:()=>s,pl:()=>a});const r="System:AppData/SequenceTranslator",o="monomer-lib.json",a="System:AppData/SequenceTranslator",s="axolabs-style.json",i="formats-to-helm.json",l="codes-to-symbols.json",c="linkers.json"},996:(t,e,n)=>{n.d(e,{BF:()=>l,Rv:()=>i,VO:()=>u});var r=n(976),o=n(895);const a=new r.FileSource(o.pl);let s,i,l,c;async function u(){[s,i,l,c].every((t=>void 0!==t))||(s=await p(o.dz),i=await p(o.Dv),l=await p(o.VV),c=await p(o.Xz))}async function p(t){let e;try{e=JSON.parse(await a.readAsText(t))}catch(e){const n=e.hasOwnProperty("message")?e.message:e.toString();throw new Error(`Error loading json from ${t}:`+n)}return e}},88:(t,e,n)=>{n.d(e,{Y3:()=>a,xB:()=>o});var r=n(469);function o(t){return t.sort(((t,e)=>e.length-t.length))}async function a(t,e,n="Oligo app"){try{return await t()}catch(t){const e=t.hasOwnProperty("message")?t.message:t.toString();throw r.shell.error(`${n} error: `+e),t}finally{e&&e()}}},559:(t,e,n)=>{n.d(e,{A:()=>i});var r=n(976),o=n(669),a=n(29),s=n(996);class i{constructor(){const t=o._package.monomerLib;if(null===t)throw new Error("SequenceTranslator: monomer library is null");this.lib=t,this.allMonomers=this.getAllMonomers()}lib;static instance;allMonomers;formatMonomerForViewer(t){const e={};return e.name=t.symbol,e.symbol=t.symbol,e.molfile=t.molfile,this.getAllFormats().forEach((n=>{if(n===a.NI.HELM)return;const r=s.BF[n],o=Object.keys(r).filter((e=>r[e]===t.symbol));e[n]=o.join(", ")})),e}getAllMonomers(){const t=this.lib.getPolymerTypes();let e=[];for(const n of t){const t=this.lib.getMonomerSymbolsByType(n).map((t=>this.lib.getMonomer(n,t))).filter((t=>null!==t));e=e.concat(t)}return e}getMonomer(t){const e=this.lib.getMonomer("RNA",t);if(void 0===e)throw new Error(`SequenceTranslator: no monomer with symbol ${t}`);return e}static getInstance(){return void 0===i.instance&&(i.instance=new i),i.instance}getMolfileBySymbol(t){return this.getMonomer(t).molfile}getNaturalAnalogBySymbol(t){const e=this.getMonomer(t).naturalAnalog;if(!e)throw new Error(`ST: no natural analog for ${t}`);return e}isModification(t){return!!this.getMolfileBySymbol(t).includes("MODIFICATION")}getCodeToSymbolMap(t){return new Map(Object.entries(s.BF[t]))}getCodesByFormat(t){return Object.keys(s.BF[t])}getAllFormats(){return Object.keys(s.BF)}getTableForViewer(){const t=this.allMonomers.map((t=>this.formatMonomerForViewer(t)));return r.DataFrame.fromObjects(t)}getCodesToWeightsMap(){const t=new Map;return Object.entries(s.BF).forEach((([e,n])=>{Object.entries(n).forEach((([e,n])=>{const r=this.getMonomer(n).meta?.molecularWeight;t.set(e,r)}))})),t}}},947:(t,e,n)=>{n.d(e,{b:()=>s});var r=n(29),o=n(559),a=n(88);class s{sequence;constructor(t){this.sequence=t,this.libWrapper=o.A.getInstance()}libWrapper;getInvalidCodeIndex(t){if(t===r.NI.HELM)return this.sequence.length;const e=["r","d"],n=(0,a.xB)(this.libWrapper.getCodesByFormat(t));let o=0;for(;o<this.sequence.length;){const t=n.find((t=>t===this.sequence.substring(o,o+t.length)));if(!t)break;if(o>1&&r.mc.includes(this.sequence[o])&&e.includes(this.sequence[o-2]))break;if(e.includes(this.sequence[o+1])&&r.mc.includes(this.sequence[o])){o++;break}o+=t.length}return o===this.sequence.length&&(o=-1),o}isValidSequence(t){return-1===this.getInvalidCodeIndex(t)}}},544:(t,e,n)=>{n.d(e,{$3:()=>o,DD:()=>r,s8:()=>a});const r={NUCLEOSIDE:"nucleoside",LINKAGE:"phosphateBackbone"},o="p",a="<?>"},864:(t,e,n)=>{n.d(e,{C:()=>c,D:()=>l});var r=n(29),o=n(544),a=n(456),s=n(996),i=n(559);function l(t,e,n){const o=Object.keys(s.Rv).concat([r.NI.HELM]);if(!t||-1!==e&&n!==r.NI.HELM)return{};if(!o.includes(n))throw new Error(`${n} format is not supported by SequenceTranslator`);const l=o.filter((t=>t!=n)).sort(((t,e)=>t.localeCompare(e))),u=new a.I(t,n),p=Object.fromEntries(l.map((t=>{let e;try{e=u.convertTo(t)}catch{e=null}return[t,e]})).filter((([t,e])=>e))),d=c(n===r.NI.HELM?t:p[r.NI.HELM],i.A.getInstance());return d&&(p.Nucleotides=d),p}function c(t,e){const n=new RegExp("\\([^()]*\\)","g"),a=t.match(n);return a?a.map((t=>{const n=t.replace(/[\[\]()]/g,"");return r.mc.includes(n)?n:e.getNaturalAnalogBySymbol(n)})).map((t=>t||o.s8)).join(""):null}},456:(t,e,n)=>{n.d(e,{I:()=>u});var r=n(29),o=n(544),a=n(996);const s=(t,e)=>e.length-t.length;class i{constructor(){this.formats=this.getFormats()}formats;getFormatNames(){return this.formats.sort()}getCodesByFormat(t){if(this.validateFormat(t),this.isHelm(t))throw new Error("Codes cannot be obtained for HELM");return this.getFormatCodes(t)}getHelmToFormatDict(t){return this.validateFormat(t),function(t){const e={};return Object.values(t).forEach((t=>{Object.entries(t).forEach((([t,n])=>{const r=n.replace(/\)p/g,")").replace(/\]p/g,"]");void 0===e[r]?e[r]=[t]:e[r].push(t)}))})),Object.entries(e).forEach((([t,n])=>{const r=n.sort(s);e[t]=r[0]})),e}(a.Rv[t])}getFormatToHelmDict(t){this.validateFormat(t);const e=a.Rv[t];return Object.assign({},...Object.values(e))}getTargetFormatHelmCodes(t){this.validateFormat(t);const e=this.getHelmToFormatDict(t);return Object.keys(e).sort(s)}getTargetFormatHelmCodesRegExp(t){this.validateFormat(t);const e=this.getTargetFormatHelmCodes(t);return new RegExp(l(e)+"|.","g")}getFormatRegExp(t){if(this.validateFormat(t),this.isHelm(t))throw new Error("Helm RegExp can be built for non-HELM target formats");return this.getNonHelmFormatRegExp(t)}getPhosphateHelmCodesRegExp(t){this.validateFormat(t);const e=a.Rv[t],n=l(Array.from(new Set(Object.values(e[o.DD.LINKAGE]))).sort(s));return new RegExp(`${o.$3}.(${n})`,"g")}isValidFormat(t){return this.formats.includes(t)}getFormats(){return Object.keys(a.Rv)}validateFormat(t){if(!this.isValidFormat(t))throw new Error(`Invalid format: ${t}`)}isHelm(t){return t===r.NI.HELM}getFormatCodes(t){const e=this.getFormatToHelmDict(t);return Object.keys(e).sort(s)}getNonHelmFormatRegExp(t){const e=this.getCodesByFormat(t);return new RegExp(l(e)+"|\\([^()]*\\)|.","g")}}function l(t){return t.map((t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))).map((t=>t.includes("(")||t.includes(")")?t:`(?<!\\([^()]*)${t}(?![^()]*\\))`)).join("|")}const c={LEFT:"RNA1{",RIGHT:"}$$$$"};class u{sequence;sourceFormat;constructor(t,e){this.sequence=t,this.sourceFormat=e}formats=new i;convertTo(t){const e=this.formats.getFormatNames();if(this.sourceFormat===r.NI.HELM&&e.includes(t))return this.helmToFormat(this.sequence,t);if(e.includes(this.sourceFormat)&&t===r.NI.HELM)return this.formatToHelm(this.sequence,this.sourceFormat);if([this.sourceFormat,t].every((t=>e.includes(t)))){const e=this.formatToHelm(this.sequence,this.sourceFormat);return this.helmToFormat(e,t)}throw new Error(`ST: unsupported translation direction ${this.sourceFormat} -> ${t}`)}helmToFormat(t,e){const n=new RegExp(l(Object.values(c)),"g");let r=t.replace(n,"");const a=this.formats.getHelmToFormatDict(e),s=this.formats.getTargetFormatHelmCodes(e),i=this.formats.getTargetFormatHelmCodesRegExp(e);return r=r.replace(i,(t=>s.includes(t)?a[t]:"p"===t||"."===t?t:"?")).replace(/\?+/g,o.s8).replace(/p\.|\./g,""),r=r.replace(/<empty>/g,""),r=r.replace(/\/\//g,"/"),r}formatToHelm(t,e){const n=this.formats.getFormatToHelmDict(e),r=this.formats.getCodesByFormat(e),a=this.formats.getFormatRegExp(e),s=this.formats.getPhosphateHelmCodesRegExp(e);let i=t.replace(a,(t=>r.includes(t)?n[t]+".":"?"));return i=i.replace(/\?+/g,`${o.s8}.`),i=i.slice(0,-1),i[i.length-1]===o.$3&&(i=i.slice(0,-1)),i=i.replace(s,((t,e)=>e)),i=i.replace(/<empty>/g,""),`${c.LEFT+i+c.RIGHT}`}}},669:(t,e,n)=>{n.d(e,{_package:()=>j});var r=n(976);n(469),ui,wu;var o,a,s=n(286);(a=o||(o={})).FASTA="fasta",a.SEPARATOR="separator",a.HELM="helm";const i=new class{constructor(){this.fasta={peptide:new Set(["G","L","Y","S","E","Q","D","N","F","A","K","R","H","C","V","P","W","I","M","T"]),dna:new Set(["A","C","G","T"]),rna:new Set(["A","C","G","U"])}}};new s.L("PT",i.fasta.peptide,.5),new s.L("DNA",i.fasta.dna,.55),new s.L("RNA",i.fasta.rna,.55);class l extends Float32Array{}class c{static makePalette(t,e=!1,n=c){const r={};return t.forEach((t=>{const n=t[0],o=t[1];n.forEach(((t,n)=>{r[t]=this.colourPalette[o][e?0:n]}))})),new n(r)}constructor(t){this._palette=t}get(t){return this._palette[t]}}c.undefinedColor="rgb(100,100,100)",c.colourPalette={orange:["rgb(255,187,120)","rgb(245,167,100)","rgb(235,137,70)","rgb(205, 111, 71)"],all_green:["rgb(44,160,44)","rgb(74,160,74)","rgb(23,103,57)","rgb(30,110,96)","rgb(60,131,95)","rgb(24,110,79)","rgb(152,223,138)","rgb(182, 223, 138)","rgb(152, 193, 138)"],all_blue:["rgb(31,119,180)","rgb(23,190,207)","rgb(122, 102, 189)","rgb(158,218,229)","rgb(141, 124, 217)","rgb(31, 120, 150)"],magenta:["rgb(162,106,192)","rgb(197,165,224)","rgb(208,113,218)"],red:["rgb(214,39,40)","rgb(255,152,150)"],st_blue:["rgb(23,190,207)","rgb(158,218,229)","rgb(31,119,180)"],dark_blue:["rgb(31,119,180)","rgb(31, 120, 150)"],light_blue:["rgb(23,190,207)","rgb(158,218,229)","rgb(108, 218, 229)","rgb(23,190,227)"],lilac_blue:["rgb(124,102,211)","rgb(149,134,217)","rgb(97, 81, 150)"],dark_green:["rgb(23,103,57)","rgb(30,110,96)","rgb(60,131,95)","rgb(24,110,79)"],green:["rgb(44,160,44)","rgb(74,160,74)"],light_green:["rgb(152,223,138)","rgb(182, 223, 138)","rgb(152, 193, 138)"],st_green:["rgb(44,160,44)","rgb(152,223,138)","rgb(39, 174, 96)","rgb(74,160,74)"],pink:["rgb(247,182,210)"],brown:["rgb(140,86,75)","rgb(102, 62, 54)"],gray:["rgb(127,127,127)","rgb(199,199,199)","rgb(196,156,148)","rgb(222, 222, 180)"],yellow:["rgb(188,189,34)"],white:["rgb(230,230,230)"]};class u extends c{static get Lesk(){return void 0===this.lesk&&(this.lesk=this.makePalette([[["G","A","S","T"],"orange"],[["C","V","I","L","P","F","Y","M","W"],"all_green"],[["N","Q","H"],"magenta"],[["D","E"],"red"],[["K","R"],"all_blue"]],!1,u)),this.lesk}static get GrokGroups(){return void 0===this.grokGroups&&(this.grokGroups=this.makePalette([[["C","U"],"yellow"],[["G","P"],"red"],[["A","V","I","L","M","F","Y","W"],"all_green"],[["R","H","K"],"light_blue"],[["D","E"],"dark_blue"],[["S","T","N","Q"],"orange"]],!1,u)),this.grokGroups}static get RasMol(){return void 0===this.rasMol&&(this.rasMol=new u({D:"#E60A0A",E:"#E60A0A",C:"#E6E600",M:"#E6E600",K:"#145AFF",R:"#145AFF",S:"#FA9600",T:"#FA9600",F:"#3232AA",Y:"#3232AA",N:"#00DCDC",Q:"#00DCDC",G:"#EBEBEB",L:"#0F820F",V:"#0F820F",I:"#0F820F",A:"#C8C8C8",W:"#B45AB4",H:"#8282D2",P:"#DC9682",others:"#BEA06E"})),this.rasMol}get(t){const e=t in u.aaSynonyms?u.aaSynonyms[t]:t;return super.get(e)}}u.aaSynonyms={MeNle:"L",MeA:"A",MeG:"G",MeF:"F"};class p{static getPalette(t="grok"){switch(t){case"grok":return u.GrokGroups;case"lesk":return u.Lesk;default:throw new Error(`ChemPalette: scheme \`${t}\` does not exist`)}}static getInnerOuter(t){let e=0,n="",r="";for(const o of t)"("==o?e++:")"==o?e--:e?n+=o:r+=o;return isNaN(parseInt(n))?[r,n]:[r,""]}static getColorAAPivot(t="",e="grok"){const n=this.getPalette(e);let[r,o]=this.getInnerOuter(t);if(r=r.length>6?`${r.slice(0,3)}...`:r,o=o.length>6?`${o.slice(0,3)}...`:o,1==t.length||"("==t[1]){const e=t[0]?.toUpperCase();return e in n?[n.get(e),e,o,1]:[this.undefinedColor,r,o,1]}if("d"==t[0]&&t[1]in n&&(2==t.length||"("==t[2])){const e=t[1]?.toUpperCase();return e in n?[n.get(e),e,o,2]:[this.undefinedColor,r,o,2]}if(t.substring(0,3)in this.AAFullNames&&(3==t.length||"("==t[3])){const e=this.AAFullNames[t.substring(0,3)];return e in n?[n.get(e),e,o,3]:[this.undefinedColor,r,o,3]}if(t[0]?.toLowerCase()==t[0]&&t.substring(1,3)in this.AAFullNames&&(4==t.length||"("==t[4])){const e=this.AAFullNames[t.substring(1,3)];return e in n?[n.get(e),e,o,4]:[this.undefinedColor,r,o,4]}return[this.undefinedColor,r,o,0]}}p.SemType="Aminoacids",p.SemTypeMultipleAlignment="AminoacidsMultipleAlignment",p.undefinedColor="rgb(100,100,100)",p.Names={G:"Glycine",L:"Leucine",Y:"Tyrosine",S:"Serine",E:"Glutamic acid",Q:"Glutamine",D:"Aspartic acid",N:"Asparagine",F:"Phenylalanine",A:"Alanine",K:"Lysine",R:"Arginine",H:"Histidine",C:"Cysteine",V:"Valine",P:"Proline",W:"Tryptophan",I:"Isoleucine",M:"Methionine",T:"Threonine"},p.AASmiles={G:"NCC(=O)O",L:"N[C@H](CC(C)C)C(=O)O",Y:"NC(CC1=CC=C(O)C=C1)C(=O)O",S:"NC(CO)C(=O)O",E:"N[C@@H](CCC(O)=O)C(=O)O",Q:"N[C@@H](CCC(N)=O)C(=O)O",D:"N[C@@H](CC(O)=O)C(=O)O",N:"N[C@@H](CC(N)=O)C(=O)O",F:"NC(CC1=CC=CC=C1)C(=O)O",A:"N[C@H](C)C(=O)O",K:"NC(CCCCN)C(=O)O",R:"N[C@H](CCCNC(=N)C)C(=O)O",H:"NC(CC1=CN=C[N]1)C(=O)O",C:"N[C@@H](CS)C(=O)O",V:"NC(C(C)C)C(=O)O",P:"N(CCC1)C1C(=O)O",W:"N[C@@H](Cc1c2ccccc2n([H])c1)C(=O)O",I:"N[C@H]([C@H](C)CC)C(=O)O",M:"NC(CCSC)C(=O)O",T:"NC(C(O)C)C(=O)O"},p.AASmilesTruncated={G:"*C*",L:"CC(C)C[C@H](*)*",Y:"C1=CC(=CC=C1CC(*)*)O",S:"OCC(*)C*",E:"*[C@@H](CCC(O)=O)*",Q:"*N[C@@H](CCC(N)=O)*",D:"*[C@@H](CC(O)=O)*",N:"*[C@@H](CC(N)=O)*",F:"C1=CC=C(C=C1)CC(*)*",A:"C[C@H](*)*",K:"C(CCN)CC(*)*",R:"*[C@H](CCCNC(=N)C)*",H:"C1=C(NC=N1)CC(*)*",C:"C([C@@H](*)*)S",V:"CC(C)C(*)*",P:"C1CCN(*)C1*",W:"*[C@@H](Cc1c2ccccc2n([H])c1)*",I:"CC[C@H](C)[C@H](*)*",M:"CSCCC(*)*",T:"CC(O)C(*)*"},p.AAFullNames={Ala:"A",Arg:"R",Asn:"N",Asp:"D",Cys:"C",Gln:"Q",Glu:"E",Gly:"G",His:"H",Ile:"I",Leu:"L",Lys:"K",Met:"M",Phe:"F",Pro:"P",Ser:"S",Thr:"T",Trp:"W",Tyr:"Y",Val:"V"};class d{}d.SemType="Nucleotides",d.SemTypeMultipleAlignment="NucleotidesMultipleAlignment",d.Names={A:"Adenine",C:"Cytosine",G:"Guanine",T:"Thymine",U:"Uracil"};class g{static hashCode(t){let e=0;if(0===t.length)return e;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}}class h{}class m extends h{static buildPalette(){return[].concat(...Object.values(c.colourPalette))}get(t){const e=g.hashCode(t)%m.palette.length;return function(t){if(null==t)return"rgb(100,100,100)";const e=r.Color.fromHtml(t),n=r.Color.g(e),o=r.Color.r(e),a=r.Color.b(e),s=Math.sqrt(Math.pow(0-o,2)+Math.pow(0-n,2)+Math.pow(0-a,2));return s>210?`rgb(${o/s*210},${n/s*210},${a/s*210})`:r.Color.toRgb(e)}(m.palette[e])}}m.palette=m.buildPalette();new Uint32Array(65536);var f,A;(A=f||(f={})).HAMMING="Hamming",A.LEVENSHTEIN="Levenshtein",A.NEEDLEMANN_WUNSCH="Needlemann-Wunsch",f.HAMMING,f.LEVENSHTEIN,f.NEEDLEMANN_WUNSCH,new class{constructor(){this.uhTemp=`units-handler.${r.SEMTYPE.MACROMOLECULE}`}},o.FASTA,o.SEPARATOR,o.HELM,rxjs;var C=n(379),b=n.n(C),v=n(795),w=n.n(v),E=n(569),y=n.n(E),x=n(565),B=n.n(x),O=n(216),N=n.n(O),S=n(589),T=n.n(S),M=n(602),R={};R.styleTagTransform=T(),R.setAttributes=B(),R.insert=y().bind(null,"head"),R.domAPI=w(),R.insertStyleElement=N(),b()(M.Z,R),M.Z&&M.Z.locals&&M.Z.locals,n(947);var k=n(88);n(29),n(559),n(996),$;var F,L,H=n(490),I={};I.styleTagTransform=T(),I.setAttributes=B(),I.insert=y().bind(null,"head"),I.domAPI=w(),I.insertStyleElement=N(),b()(H.Z,I),H.Z&&H.Z.locals&&H.Z.locals,n(864),(L=F||(F={})).HEADER="V2000",L[L.NUM_OF_HEADER_LINES=3]="NUM_OF_HEADER_LINES",L[L.NUM_OF_COUNTS_DIGITS=3]="NUM_OF_COUNTS_DIGITS",L[L.ATOM_TYPE_COL=4]="ATOM_TYPE_COL",L[L.FIRST_BONDED_ATOM_COL=1]="FIRST_BONDED_ATOM_COL",L[L.BOND_TYPE_COL=3]="BOND_TYPE_COL",L[L.RGP_SHIFT=8]="RGP_SHIFT",L.RGP_LINE="M RGP",L.A_LINE="A ",L.END="M END",Error,n(456);var G=n(753),U={};function P(t,e){const n=document.createElement("canvas").getContext("2d");return n.font=String(e),2*n.measureText(t).width}U.styleTagTransform=T(),U.setAttributes=B(),U.insert=y().bind(null,"head"),U.domAPI=w(),U.insertStyleElement=N(),b()(G.Z,U),G.Z&&G.Z.locals&&G.Z.locals;Math.max(P("SS: 5'",17),P("AS: 3'",17)),Math.max(P("3'",17),P("5'",17)),n(803);var _=n(895);n(61);class D extends r.Package{_monomerLib;get monomerLib(){if(!this._monomerLib)throw new Error("Monomer lib not loaded");return this._monomerLib}async initMonomerLib(){if(void 0!==this._monomerLib)return;const t=r.TaskBarProgressIndicator.create("Initializing Oligo Toolkit monomer library ...");await(0,k.Y3)((async()=>{const t=await async function(){const t=r.Func.find({package:"Bio",name:"getMonomerLibHelper"});if(0===t.length)throw new Error('Package "Bio" must be installed for MonomerLibHelper.');return(await t[0].prepare().call()).getOutputParamValue()}();this._monomerLib=await t.readLibrary(_.BX,_.a_)}),(()=>t.close()))}}const j=new D},976:t=>{t.exports=DG},469:t=>{t.exports=grok}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={id:r,exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nc=void 0;var r={};(()=>{n.r(r),n.d(r,{_package:()=>f,test:()=>A,tests:()=>e.QK});var t=n(976),e=n(61),o=n(29),a=n(456),s=n(996);const i={Axolabs:{UfAfsCfsGfuacg:"RNA1{[fR](U)p.[fR](A)[sp].[fR](C)[sp].[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$"},BioSpring:{"AT*GC*123456789":"RNA1{r(A)p.r(T)[sp].r(G)p.r(C)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)p.d([m5C])}$$$$"},Mermade12:{hefglijkLIJKHEFG:"RNA1{[25r](U)[sp].[25r](A)[sp].[25r](C)[sp].[25r](G)[sp].[fR](U)[sp].[fR](A)[sp].[fR](C)[sp].[fR](G)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$"}},l={"RNA1{[fR](U)p.[fR](A)[sp].[fR](C)[sp].[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$":"UACGUACG","RNA1{r(A)p.r(T)[sp].r(G)p.r(C)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)p.d([m5C])}$$$$":"ATGCUACGUACGC","RNA1{[25r](U)[sp].[25r](A)[sp].[25r](C)[sp].[25r](G)[sp].[fR](U)[sp].[fR](A)[sp].[fR](C)[sp].[fR](G)[sp].[fR](U)p.[fR](A)p.[fR](C)p.[fR](G)p.[25r](U)p.[25r](A)p.[25r](C)p.[25r](G)}$$$$":"UACGUACGUACGUACG"};var c=n(669);function u(t,e){return new a.I(t,e).convertTo(o.NI.HELM)}function p(t,e){return new a.I(t,o.NI.HELM).convertTo(e)}(0,e.W3)("Formats to HELM",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()}));for(const t of Object.keys(i))for(const[n,r]of Object.entries(i[t]))(0,e.Bu)(`${t} to HELM`,(async()=>{const o=r,a=u(n,t);(0,e.l_)(a,o)}))})),(0,e.W3)("HELM to Formats",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()}));for(const t of Object.keys(i))for(const[n,r]of Object.entries(i[t]))(0,e.Bu)(`${t} to HELM`,(async()=>{const o=n,a=p(r,t);(0,e.l_)(a,o)}))}));var d=n(864),g=n(559);(0,e.W3)("HELM to Nucleotides",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()})),Object.entries(l).forEach((([t,n],r)=>{(0,e.Bu)(`Sequence ${r+1} to nucleotides`,(async()=>{const r=n,o=(0,d.C)(t,g.A.getInstance());(0,e.l_)(o,r)}))}))}));var h=n(947);const m={[o.NI.AXOLABS]:"Afcgacsu",[o.NI.HELM]:"RNA1{[fR](A)p.[25r](C)p.[25r](G)p.[25r](A)p.[25r](C)[sp].[25r](U)}$$$$"};(0,e.W3)("Formats support",(()=>{(0,e.bb)((async()=>{await(0,s.VO)(),await c._package.initMonomerLib()})),Object.entries(m).forEach((([t,n])=>{(0,e.Bu)(`All formats for ${t}`,(async()=>{const r=function(t,e){const n=new h.b(t).getInvalidCodeIndex(e);return(0,d.D)(t,n,e)}(n,t),o=Object.keys(r).length,a=Object.keys(i).length+1;(0,e.l_)(!0,a<=o)}))}))}));const f=new t.Package;async function A(n,r,o){const a=await(0,e.ci)({category:n,test:r,testContext:o});return t.DataFrame.fromObjects(a)}})(),sequencetranslator_test=r})();
2
2
  //# sourceMappingURL=package-test.js.map