From 7c53cf5efed7de06402f08f62ec1fc48cf7816c0 Mon Sep 17 00:00:00 2001 From: Arthur Lu Date: Thu, 7 Nov 2024 21:23:38 +0000 Subject: [PATCH] update wfa module and index search --- modules/wfa.js | 2 +- modules/wfa.wasm | Bin 0 -> 139928 bytes scripts/index.js | 11 +++++++---- 3 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 modules/wfa.wasm diff --git a/modules/wfa.js b/modules/wfa.js index 8f649a9..e4a7fd7 100644 --- a/modules/wfa.js +++ b/modules/wfa.js @@ -1 +1 @@ -class WavefrontComponent {constructor () {this.lo = [0]; this.hi = [0]; this.W = []; this.A = []; }getVal (score, k) {if (this.W[score] !== undefined && this.W[score][k] !== undefined) {return this.W[score][k];}else {return NaN;}}setVal (score, k, val) {if (this.W[score]) {this.W[score][k] = val;}else {this.W[score] = [];this.W[score][k] = val;}}getTraceback (score, k) {if (this.A[score] !== undefined && this.A[score][k] !== undefined) {return this.A[score][k];}else {return undefined;}}setTraceback (score, k, traceback) {if (this.A[score]) {this.A[score][k] = traceback;}else {this.A[score] = [];this.A[score][k] = traceback;}}getHi (score) {const hi = this.hi[score];return isNaN(hi) ? 0 : hi;}setHi (score, hi) {this.hi[score] = hi;}getLo (score) {const lo = this.lo[score];return isNaN(lo) ? 0 : lo;}setLo (score, lo) {this.lo[score] = lo;}toString () {const traceback_str = ["OI", "EI", "OD", "ED", "SB", "IN", "DL", "EN"];let s = "<";let min_lo = Infinity;let max_hi = -Infinity;for (let i = 0; i < this.W.length; i++) {const lo = this.lo[i];const hi = this.hi[i];if (lo < min_lo) {min_lo = lo;}if (hi > max_hi) {max_hi = hi;}}for (let k = min_lo; k <= max_hi; k++) {s += FormatNumberLength(k, 2);if (k < max_hi) {s += "|";}}s += ">\t<";for (let k = min_lo; k <= max_hi; k++) {s += FormatNumberLength(k, 2);if (k < max_hi) {s += "|";}}s += ">\n";for (let i = 0; i < this.W.length; i++) {s += "[";const lo = this.lo[i];const hi = this.hi[i];for (let k = min_lo; k <= max_hi; k++) {if (this.W[i] !== undefined && this.W[i][k] !== undefined && !isNaN(this.W[i][k])) {s += FormatNumberLength(this.W[i][k], 2);}else if (k < lo || k > hi) {s += "--";}else {s += " ";}if (k < max_hi) {s += "|";}}s += "]\t[";for (let k = min_lo; k <= max_hi; k++) {if (this.A[i] !== undefined && this.A[i][k] !== undefined) {s += traceback_str[this.A[i][k].toString()];}else if (k < lo || k > hi) {s += "--";}else {s += " ";}if (k < max_hi) {s += "|";}}s += "]\n";}return s;}}const traceback = {OpenIns: 0,ExtdIns: 1,OpenDel: 2,ExtdDel: 3,Sub: 4,Ins: 5,Del: 6,End: 7};function FormatNumberLength (num, length) {let r = "" + num;while (r.length < length) {r = " " + r;}return r;}function min (args) {args.forEach((el, idx, arr) => {arr[idx] = isNaN(el) ? Infinity : el;});const min = Math.min.apply(Math, args);return min === Infinity ? NaN : min;}function max (args) {args.forEach((el, idx, arr) => {arr[idx] = isNaN(el) ? -Infinity : el;});const max = Math.max.apply(Math, args);return max === -Infinity ? NaN : max;}function argmax (args) {const val = max(args);return args.indexOf(val);}export default function wfAlign (s1, s2, penalties, doCIGAR = false) {const n = s1.length;const m = s2.length;const A_k = m - n;const A_offset = m;let score = 0;const M = new WavefrontComponent();M.setVal(0, 0, 0);M.setHi(0, 0);M.setLo(0, 0);M.setTraceback(0, 0, traceback.End);const I = new WavefrontComponent();const D = new WavefrontComponent();while (true) {wfExtend(M, s1, n, s2, m, score);if (M.getVal(score, A_k) >= A_offset) {break;}score++;wfNext(M, I, D, score, penalties);}let CIGAR = null;if (doCIGAR) {CIGAR = wfBacktrace(M, I, D, score, penalties, A_k, s1, s2);}return { score, CIGAR };}function wfExtend (M, s1, n, s2, m, score) {const lo = M.getLo(score);const hi = M.getHi(score);for (let k = lo; k <= hi; k++) {let v = M.getVal(score, k) - k;let h = M.getVal(score, k);if (isNaN(v) || isNaN(h)) {continue;}while (s1[v] === s2[h]) {M.setVal(score, k, M.getVal(score, k) + 1);v++;h++;if (v > n || h > m) {break;}}}}function wfNext (M, I, D, score, penalties, do_traceback) {const x = penalties.x;const o = penalties.o;const e = penalties.e;const lo = min([M.getLo(score - x), M.getLo(score - o - e), I.getLo(score - e), D.getLo(score - e)]) - 1;const hi = max([M.getHi(score - x), M.getHi(score - o - e), I.getHi(score - e), D.getHi(score - e)]) + 1;M.setHi(score, hi);I.setHi(score, hi);D.setHi(score, hi);M.setLo(score, lo);I.setLo(score, lo);D.setLo(score, lo);for (let k = lo; k <= hi; k++) {I.setVal(score, k, max([M.getVal(score - o - e, k - 1),I.getVal(score - e, k - 1)]) + 1);I.setTraceback(score, k, [traceback.OpenIns, traceback.ExtdIns][argmax([M.getVal(score - o - e, k - 1),I.getVal(score - e, k - 1)])]);D.setVal(score, k, max([M.getVal(score - o - e, k + 1),D.getVal(score - e, k + 1)]));D.setTraceback(score, k, [traceback.OpenDel, traceback.ExtdDel][argmax([M.getVal(score - o - e, k + 1),D.getVal(score - e, k + 1)])]);M.setVal(score, k, max([M.getVal(score - x, k) + 1,I.getVal(score, k),D.getVal(score, k)]));M.setTraceback(score, k, [traceback.Sub, traceback.Ins, traceback.Del][argmax([M.getVal(score - x, k) + 1,I.getVal(score, k),D.getVal(score, k)])]);}}function wfBacktrace (M, I, D, score, penalties, A_k, s1, s2) {const traceback_CIGAR = ["I", "I", "D", "D", "X", "", "", ""];const x = penalties.x;const o = penalties.o;const e = penalties.e;let CIGAR_rev = ""; let tb_s = score; let tb_k = A_k; let current_traceback = M.getTraceback(tb_s, tb_k);let done = false;while (!done) {CIGAR_rev += traceback_CIGAR[current_traceback];switch (current_traceback) {case traceback.OpenIns:tb_s = tb_s - o - e;tb_k = tb_k - 1;current_traceback = M.getTraceback(tb_s, tb_k);break;case traceback.ExtdIns:tb_s = tb_s - e;tb_k = tb_k - 1;current_traceback = I.getTraceback(tb_s, tb_k);break;case traceback.OpenDel:tb_s = tb_s - o - e;tb_k = tb_k + 1;current_traceback = M.getTraceback(tb_s, tb_k);break;case traceback.ExtdDel:tb_s = tb_s - e;tb_k = tb_k + 1;current_traceback = D.getTraceback(tb_s, tb_k);break;case traceback.Sub:tb_s = tb_s - x;current_traceback = M.getTraceback(tb_s, tb_k);break;case traceback.Ins:current_traceback = I.getTraceback(tb_s, tb_k);break;case traceback.Del:current_traceback = D.getTraceback(tb_s, tb_k);break;case traceback.End:done = true;break;}}let CIGAR_part = Array.from(CIGAR_rev).reverse(); let c = 0;let i = 0;let j = 0;while (i < s1.length && j < s2.length) { if (s1[i] === s2[j]) { CIGAR_part.splice(c, 0, "M");c++;i++;j++;}else if (CIGAR_part[c] === "X") { c++;i++;j++;}else if (CIGAR_part[c] === "I") { c++;j++;}else if (CIGAR_part[c] === "D") { c++;i++;}}return CIGAR_part.join("")} \ No newline at end of file +var A=a=>typeof a==='number';(()=>{if(typeof global!=='undefined'){}else if(typeof window!=='undefined')window.global=window;else if(typeof self!=='undefined')self.global=self;else throw Error('cannot export Go (neither global, window nor self is defined)');(!global.require&&typeof require!=='undefined')&&(global.require=require);(!global.fs&&global.require)&&(global.fs=require('node:fs'));var B=()=>{const _a=Error('not implemented');_a.code='ENOSYS';return _a},F=[];if(!global.fs){let D='';global.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1},writeSync(_A,_b){D+=d.decode(_b);var _C=D.lastIndexOf('\n');_C!=-1&&(console.log(D.substr(0,_C)),D=D.substr(_C+1));return _b.length},write(E,_B,aA,_d,_e,_f){if(aA!==0||_d!==_B.length||_e!==null){_f(B());return}_f(null,this.writeSync(E,_B))},chmod(aB,aC,aD){aD(B())},chown(aE,aF,aG,_D){_D(B())},close(aH,aI){aI(B())},fchmod(aJ,aK,aL){aL(B())},fchown(aM,aN,aO,aP){aP(B())},fstat(aQ,aR){aR(B())},fsync(aS,aT){aT(null)},ftruncate(aU,aV,aW){aW(B())},lchown(aX,aY,aZ,bA){bA(B())},link(bB,bC,bD){bD(B())},lstat(bE,bF){bF(B())},mkdir(bG,bH,bI){bI(B())},open(bJ,bK,bL,bM){bM(B())},read(bN,bO,bP,bQ,_E,_F){_F(B())},readdir(bR,bS){bS(B())},readlink(bT,bU){bU(B())},rename(bV,bW,bX){bX(B())},rmdir(bY,bZ){bZ(B())},stat(cA,cB){cB(B())},symlink(cC,cD,cE){cE(B())},truncate(cF,cG,cH){cH(B())},unlink(cI,cJ){cJ(B())},utimes(cK,cL,cM,cN){cN(B())}}}!global.process&&(global.process={getuid(){return -1},getgid(){return -1},geteuid(){return -1},getegid(){return -1},getgroups(){throw B()},pid:-1,ppid:-1,umask(){throw B()},cwd(){throw B()},chdir(){throw B()}});if(!global.crypto){var C=require('node:crypto');global.crypto={getRandomValues(b){C.randomFillSync(b)}}}!global.performance&&(global.performance={now(){const[cO,cP]=process.hrtime();return cO*1000+cP/1000000}});!global.TextEncoder&&(global.TextEncoder=require('node:util').TextEncoder);!global.TextDecoder&&(global.TextDecoder=require('node:util').TextDecoder);var _c=new TextEncoder('utf-8');var d=new TextDecoder('utf-8');let e=new DataView(new ArrayBuffer(8));global.Go=class{constructor(){this._callbackTimeouts=new Map();this._nextCallbackTimeoutID=1;var cQ=()=>new DataView(this._inst.exports.memory.buffer),cR=cW=>{e.setBigInt64(0,cW,!0);const f=e.getFloat64(0,!0);if(f===0)return;if(!isNaN(f))return f;const cX=cW&0xffffffffn;return this._values[cX]},cS=cY=>{return cR(cQ().getBigUint64(cY,!0))},cT=v=>{const cZ=0x7FF80000n;if(A(v)){if(isNaN(v))return cZ<<32n;if(v===0)return (cZ<<32n)|1n;e.setFloat64(0,v,!0);return e.getBigInt64(0,!0)}switch(v) {case void 0:return 0n;case null:return (cZ<<32n)|2n;case !0:return (cZ<<32n)|3n;case !1:return (cZ<<32n)|4n}let dA=this._ids.get(v);if(dA===void 0){dA=this._idPool.pop();dA===void 0&&(dA=BigInt(this._values.length));this._values[dA]=v;this._goRefCounts[dA]=0;this._ids.set(v,dA)}this._goRefCounts[dA]++;let dB=1n;switch(typeof v) {case 'string':dB=2n;break;case 'symbol':dB=3n;break;case 'function':dB=4n;break}return dA|((cZ|dB)<<32n)},cU=(dC,v)=>{cQ().setBigUint64(dC,cT(v),!0)},cV=(dD,dE,dF)=>new Uint8Array(this._inst.exports.memory.buffer, dD, dE),G=(dG,dH,dI)=>{const a=Array(dH);for(let i=0;id.decode(new DataView(this._inst.exports.memory.buffer, dJ, dK)),I=Date.now()-performance.now();this.importObject={wasi_snapshot_preview1:{fd_write:function(dL,dM,dN,dO){let dP=0;if(dL==1)for(let dQ=0;dQ0,fd_fdstat_get:()=>0,fd_seek:()=>0,'proc_exit':dU=>{if(global.process)process.exit(dU);else throw `trying to exit with code ${dU}`},random_get:(dV,dW)=>(crypto.getRandomValues(cV(dV,dW)),0)},gojs:{'runtime.ticks':()=>I+performance.now(),'runtime.sleepTicks':dX=>setTimeout(this._inst.exports.go_scheduler,dX),'syscall/js.finalizeRef':dY=>{var dZ=cQ().getUint32(cR(dY),!0);this._goRefCounts[dZ]--;if(this._goRefCounts[dZ]===0){var v=this._values[dZ];this._values[dZ]=null;this._ids.delete(v);this._idPool.push(dZ)}},'syscall/js.stringVal':(eA,eB)=>{return cT(h(eA,eB))},'syscall/js.valueGet':(eC,eD,eE)=>{return cT(Reflect.get(cR(eC),h(eD,eE)))},'syscall/js.valueSet':(eF,eG,eH,eI)=>{Reflect.set(cR(eF),h(eG,eH),cR(eI))},'syscall/js.valueDelete':(eJ,eK,eL)=>{Reflect.deleteProperty(cR(eJ),h(eK,eL))},'syscall/js.valueIndex':(eM,i)=>cT(Reflect.get(cR(eM),i)),'syscall/js.valueSetIndex':(eN,i,eO)=>Reflect.set(cR(eN),i,cR(eO)),'syscall/js.valueCall':(eP,eQ,eR,eS,eT,eU,_g)=>{var v=cR(eQ),_i=h(eR,eS),j=G(eT,eU,_g);try{var m=Reflect.get(v,_i);cU(eP,Reflect.apply(m,v,j));cQ().setUint8(eP+8,1)}catch(eV){cU(eP,eV);cQ().setUint8(eP+8,0)}},'syscall/js.valueInvoke':(eW,eX,eY,eZ,fA)=>{try{var v=cR(eX),_G=G(eY,eZ,fA);cU(eW,Reflect.apply(v,void 0,_G));cQ().setUint8(eW+8,1)}catch(fB){cU(eW,fB);cQ().setUint8(eW+8,0)}},'syscall/js.valueNew':(fC,fD,fE,fF,fG)=>{var v=cR(fD),fH=G(fE,fF,fG);try{cU(fC,Reflect.construct(v,fH));cQ().setUint8(fC+8,1)}catch(fI){cU(fC,fI);cQ().setUint8(fC+8,0)}},'syscall/js.valueLength':fJ=>cR(fJ).length,'syscall/js.valuePrepareString':(fK,fL)=>{var fM=_c.encode(`${cR(fL)}`);cU(fK,fM);cQ().setInt32(fK+8,fM.length,!0)},'syscall/js.valueLoadString':(fN,fO,fP,fQ)=>{cV(fO,fP,fQ).set(cR(fN))},'syscall/js.valueInstanceOf':(fR,fS)=>cR(fR) instanceof cR(fS),'syscall/js.copyBytesToGo':(fT,fU,fV,fW,fX)=>{let fY=fT+4;var fZ=cV(fU,fV),H=cR(fX);if(!(H instanceof Uint8Array||H instanceof Uint8ClampedArray)){cQ().setUint8(fY,0);return}var _I=H.subarray(0,fZ.length);fZ.set(_I);cQ().setUint32(fT,_I.length,!0);cQ().setUint8(fY,1)},'syscall/js.copyBytesToJS':(gA,gB,gC,gD,gE)=>{let gF=gA+4;var gG=cR(gB),_h=cV(gC,gD);if(!(gG instanceof Uint8Array||gG instanceof Uint8ClampedArray)){cQ().setUint8(gF,0);return}var gH=_h.subarray(0,gG.length);gG.set(gH);cQ().setUint32(gA,gH.length,!0);cQ().setUint8(gF,1)}}};this.importObject.env=this.importObject.gojs}async run(gI){this._inst=gI;this._values=[NaN,0,null,!0,!1,global,this];this._goRefCounts=[];this._ids=new Map();this._idPool=[];this.exited=!1;while (!0) {var gJ=new Promise(resolve=>this._resolveCallbackPromise=()=>{if(this.exited)throw Error('bad callback: Go program has already exited');setTimeout(resolve,0)});this._inst.exports._start();if(this.exited)break;await gJ}}_resume(){if(this.exited)throw Error('Go program has already exited');this._inst.exports.resume();this.exited&&this._resolveExitPromise()}_makeFuncWrapper(id){var go=this;return function(...args){var gK={id:id,this:this,args:args};go._pendingEvent=gK;go._resume();return gK.result}}};if(global.require&&global.require.main===module&&global.process&&global.process.versions&&!global.process.versions.electron){process.argv.length!=3&&(console.error('usage: go_js_wasm_exec [wasm binary] [arguments]'),process.exit(1));var g=new Go();WebAssembly.instantiate(fs.readFileSync(process.argv[2]),g.importObject).then(gL=>g.run(gL.instance)).catch(gM=>{console.error(gM);process.exit(1)})}})();function _(gN){return new Promise(gO=>{var gP=new Go();var gQ;'instantiateStreaming' in WebAssembly?WebAssembly.instantiateStreaming(fetch(gN),gP.importObject).then(gR=>{gQ=gR.instance;gP.run(gQ);gO()}):fetch(gN).then(resp=>resp.arrayBuffer()).then(gS=>WebAssembly.instantiate(gS,gP.importObject).then(gT=>{gQ=gT.instance;gP.run(gQ);gO()}))})}export{_ as default}; diff --git a/modules/wfa.wasm b/modules/wfa.wasm new file mode 100644 index 0000000000000000000000000000000000000000..64990a355bb9bef5f0e92f0260e04ee1541148e8 GIT binary patch literal 139928 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 z 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�%gwxAmV5P)o0%YE(ad?R35XWsw$j?V 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 z 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 literal 0 HcmV?d00001 diff --git a/scripts/index.js b/scripts/index.js index 7569379..be9823f 100644 --- a/scripts/index.js +++ b/scripts/index.js @@ -1,7 +1,7 @@ import { requestPVE, requestAPI, goToPage, setTitleAndHeader, setAppearance, getSearchSettings, goToURL, instancesConfig, nodesConfig, setSVGSrc, setSVGAlt } from "./utils.js"; import { alert, dialog } from "./dialog.js"; import { setupClientSync } from "./clientsync.js"; -import wfAlign from "../modules/wfa.js"; +import wfaInit from "../modules/wfa.js"; import { PVE } from "../vars.js"; class InstanceCard extends HTMLElement { @@ -212,7 +212,7 @@ class InstanceCard extends HTMLElement { handleConfigButton () { if (!this.actionLock && this.status === "stopped") { // if the action lock is false, and the node is stopped, then navigate to the config page with the node info in the search query - goToPage("config.html", { node: this.node.name, type: this.type, vmid: this.vmid }); + goToPage("instance.html", { node: this.node.name, type: this.type, vmid: this.vmid }); } } @@ -271,6 +271,8 @@ async function init () { goToPage("login.html"); } + wfaInit("modules/wfa.wasm"); + document.querySelector("#instance-add").addEventListener("click", handleInstanceAdd); document.querySelector("#vm-search").addEventListener("input", populateInstances); @@ -329,8 +331,9 @@ async function populateInstances () { }; criteria = (item, query) => { // lower is better - const { score, CIGAR } = wfAlign(query, item, penalties, true); - return { score: score / item.length, alignment: CIGAR }; + const { score, CIGAR } = global.wfAlign(query, item, penalties, true); + const alignment = global.DecodeCIGAR(CIGAR) + return { score: score / item.length, alignment: alignment }; }; } sortInstances(criteria, searchQuery);