moorhen 0.8.3 → 0.8.4

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.
Binary file
@@ -1 +1 @@
1
- "use strict";var Module={},ENVIRONMENT_IS_NODE="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node;if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",(e=>onmessage({data:e})));var fs=require("fs"),vm=require("vm");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,"utf8"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function assert(e,r){e||abort("Assertion failed: "+r)}function threadPrintErr(...e){var r=e.join(" ");ENVIRONMENT_IS_NODE?fs.writeSync(2,r+"\n"):console.error(r)}function threadAlert(...e){var r=e.join(" ");postMessage({cmd:"alert",text:r,threadId:Module._pthread_self()})}var out=()=>{throw"out() is not defined in worker.js."},err=threadPrintErr;self.alert=threadAlert;var dbg=threadPrintErr;function handleMessage(e){try{if("load"===e.data.cmd){let a=[];self.onmessage=e=>a.push(e),self.startWorker=e=>{Module=e,postMessage({cmd:"loaded"});for(let e of a)handleMessage(e);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...e)=>{postMessage({cmd:"callHandler",handler:r,args:e})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.workerID=e.data.workerID,Module.ENVIRONMENT_IS_PTHREAD=!0,"string"==typeof e.data.urlOrBlob)importScripts(e.data.urlOrBlob);else{var r=URL.createObjectURL(e.data.urlOrBlob);importScripts(r),URL.revokeObjectURL(r)}createRSRModule(Module)}else if("run"===e.data.cmd){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),assert(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(Module.__embind_initialize_bindings(),initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(e){if("unwind"!=e)throw e}}else"cancel"===e.data.cmd?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):"setimmediate"===e.data.target||("checkMailbox"===e.data.cmd?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(e){throw err(`worker.js onmessage() captured an uncaught exception: ${e}`),e?.stack&&err(e.stack),Module.__emscripten_thread_crashed?.(),e}}Module.instantiateWasm=(e,r)=>{var a=Module.wasmModule;return Module.wasmModule=null,r(new WebAssembly.Instance(a,e))},self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=handleMessage;
1
+ "use strict";var Module={},ENVIRONMENT_IS_NODE="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node;if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",(e=>onmessage({data:e})));var fs=require("fs");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>(0,eval)(fs.readFileSync(e,"utf8")+"//# sourceURL="+e),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function assert(e,r){e||abort("Assertion failed: "+r)}function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");ENVIRONMENT_IS_NODE?fs.writeSync(2,e+"\n"):console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var out=()=>{throw"out() is not defined in worker.js."},err=threadPrintErr;self.alert=threadAlert;var dbg=threadPrintErr;function handleMessage(e){try{if("load"===e.data.cmd){let a=[];self.onmessage=e=>a.push(e),self.startWorker=e=>{Module=e,postMessage({cmd:"loaded"});for(let e of a)handleMessage(e);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...e)=>{postMessage({cmd:"callHandler",handler:r,args:e})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.workerID=e.data.workerID,Module.ENVIRONMENT_IS_PTHREAD=!0,"string"==typeof e.data.urlOrBlob)importScripts(e.data.urlOrBlob);else{var r=URL.createObjectURL(e.data.urlOrBlob);importScripts(r),URL.revokeObjectURL(r)}createRSRModule(Module)}else if("run"===e.data.cmd){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),assert(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(Module.__embind_initialize_bindings(),initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(e){if("unwind"!=e)throw e}}else"cancel"===e.data.cmd?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):"setimmediate"===e.data.target||("checkMailbox"===e.data.cmd?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(e){throw err(`worker.js onmessage() captured an uncaught exception: ${e}`),e&&e.stack&&err(e.stack),Module.__emscripten_thread_crashed&&Module.__emscripten_thread_crashed(),e}}Module.instantiateWasm=(e,r)=>{var a=Module.wasmModule;return Module.wasmModule=null,r(new WebAssembly.Instance(a,e))},self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=handleMessage;
@@ -0,0 +1 @@
1
+ var CCP4Module;importScripts("web_example.js"),createCCP4Module({print(e){postMessage(["output",e])},printErr(e){postMessage(["output",e])}}).then((function(e){CCP4Module=e})).catch((e=>{console.log("CCP4 problem :("),console.log(e)})),onmessage=function(e){var o=e.data[0];const l=new Uint8Array(o);var t=e.data[1];let a="FC",c="PHIC";void 0!==e.data[2]&&void 0!==e.data[3]&&(a=e.data[2],c=e.data[3]);try{CCP4Module.FS_createDataFile(".",t,l,!0,!0)}catch(e){}const n=CCP4Module.get_mtz_columns(t);console.log(n);for(let e=0;e<n.size();e+=2)console.log(n.get(e),n.get(e+1));console.log("Send",t,"to clipper");var r=CCP4Module.clipper_example_with_cols(t,a,c,2);console.log("In the worker..."),console.log(r),console.log(r.cell()),console.log(r.cell().a()),console.log(r.cell().b()),console.log(r.cell().c()),console.log(r.cell().alpha()),console.log(r.cell().beta()),console.log(r.cell().gamma()),CCP4Module.printMapStats(r);var s=new CCP4Module.CCP4MAPfile,C=new CCP4Module.Clipper_String("mapout.map");s.open_write(C),CCP4Module.exportXMapToMapFile(s,r),s.close_write(),console.log("Written",CCP4Module.clipperStringToString(C));var p=CCP4Module.FS.readFile(CCP4Module.clipperStringToString(C));postMessage(["result",p,t,l])};
@@ -0,0 +1 @@
1
+ var CCP4Module;importScripts("web_example.js"),createCCP4Module({print(e){postMessage(["output",e])},printErr(e){postMessage(["output",e])}}).then((function(e){CCP4Module=e})).catch((e=>{console.log("CCP4 problem :("),console.log(e)})),onmessage=function(e){var o=atob(e.data[0]),l=e.data[1];const t=new Array(o.length);for(let e=0;e<o.length;e++)t[e]=o.charCodeAt(e);const r=new Uint8Array(t);try{CCP4Module.FS_createDataFile(".",l,r,!0,!0)}catch(e){}console.log("Send",l,"to clipper");var n=CCP4Module.clipper_example(l);console.log("In the worker..."),console.log(n),console.log(n.cell()),console.log(n.cell().a()),CCP4Module.printMapStats(n);var a=new CCP4Module.CCP4MAPfile,p=new CCP4Module.Clipper_String("mapout.map");a.open_write(p),CCP4Module.exportXMapToMapFile(a,n),a.close_write(),console.log("Written",CCP4Module.clipperStringToString(p));var C=CCP4Module.FS.readFile(CCP4Module.clipperStringToString(p));postMessage(["result",C])};
@@ -0,0 +1 @@
1
+ var CCP4Module;importScripts("web_example.js"),importScripts("papaparse.min.js"),createCCP4Module({print(e){postMessage(["output",e])},printErr(e){postMessage(["output",e])}}).then((function(e){CCP4Module=e})).catch((e=>{console.log("CCP4 problem :("),console.log(e)})),onmessage=function(e){new CCP4Module.VectorString;try{CCP4Module.FS_createDataFile(".",e.data[1],e.data[0],!0,!0)}catch(e){}var t=CCP4Module.calculate_normal_modes(e.data[1],1);const s=t.GetBValues(),o=s.size();let l=[],a=[];const p=CCP4Module.get_CA_bvalues_from_file(e.data[1]);let r;if(o>0){r=0;for(let e=0;e<o;e++)r+=s.get(e)/p.get(e);r/=o,r=1/r}else r=1;const u=CCP4Module.GetCorrelations(t,r);for(let e=0;e<o;e++)l.push({x:e+1,y:s.get(e)*r}),a.push({x:e+1,y:p.get(e)});const n=u.get_rows(),c=u.get_columns();let g={x:[],y:[],z:[]};for(let e=0;e<n;e++)for(let t=0;t<c;t++)g.x.push(e),g.y.push(t),g.z.push(u.get(e,t));postMessage(["corrMat",g]),postMessage(["bvalues",[l,a]]),postMessage(["result",0]);let C=CCP4Module.calculate_normal_modes(e.data[1],0);const d=CCP4Module.GetEigen(C).get(1),m=d.get_rows();d.get_columns(),postMessage(["output","Normal modes"]);let i=[];for(let e=6;e<m;e++)i.push(d.get(e,0));postMessage(["energies",i]);const M=CCP4Module.GetDisplacements(C),_=M.nModes(),f=M.nSteps();let h={modes:[]};for(let e=0;e<_;e++){h.modes.push({steps:[]});for(let t=0;t<f;t++){h.modes[e].steps.push({xyz:[]});const s=M.getDisplacements(e,t),o=s.size();for(let l=0;l<o;l++)h.modes[e].steps[t].xyz.push(s.get(l))}}postMessage(["displacements",h])};
@@ -0,0 +1,2 @@
1
+ /*! For license information please see papaparse.min.js.LICENSE.txt */
2
+ !function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&"undefined"!=typeof exports?module.exports=t():e.Papa=t()}(this,(function e(){"use strict";var t="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:{},i=!t.document&&!!t.postMessage,r=t.IS_PAPA_WORKER||!1,n={},s=0,a={parse:function(i,r){var o=(r=r||{}).dynamicTyping||!1;if(b(o)&&(r.dynamicTypingFunction=o,o={}),r.dynamicTyping=o,r.transform=!!b(r.transform)&&r.transform,r.worker&&a.WORKERS_SUPPORTED){var u=function(){if(!a.WORKERS_SUPPORTED)return!1;var i,r,o=(i=t.URL||t.webkitURL||null,r=e.toString(),a.BLOB_URL||(a.BLOB_URL=i.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",r,")();"],{type:"text/javascript"})))),u=new t.Worker(o);return u.onmessage=_,u.id=s++,n[u.id]=u}();return u.userStep=r.step,u.userChunk=r.chunk,u.userComplete=r.complete,u.userError=r.error,r.step=b(r.step),r.chunk=b(r.chunk),r.complete=b(r.complete),r.error=b(r.error),delete r.worker,void u.postMessage({input:i,config:r,workerId:u.id})}var c=null;return a.NODE_STREAM_INPUT,"string"==typeof i?(i=function(e){return 65279===e.charCodeAt(0)?e.slice(1):e}(i),c=r.download?new h(r):new d(r)):!0===i.readable&&b(i.read)&&b(i.on)?c=new l(r):(t.File&&i instanceof File||i instanceof Object)&&(c=new f(r)),c.stream(i)},unparse:function(e,t){var i=!1,r=!0,n=",",s="\r\n",o='"',u=o+o,h=!1,f=null,d=!1;!function(){if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter((function(e){return-1!==t.delimiter.indexOf(e)})).length||(n=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(i=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(h=t.skipEmptyLines),"string"==typeof t.newline&&(s=t.newline),"string"==typeof t.quoteChar&&(o=t.quoteChar),"boolean"==typeof t.header&&(r=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");f=t.columns}void 0!==t.escapeChar&&(u=t.escapeChar+o),("boolean"==typeof t.escapeFormulae||t.escapeFormulae instanceof RegExp)&&(d=t.escapeFormulae instanceof RegExp?t.escapeFormulae:/^[=+\-@\t\r].*$/)}}();var l=new RegExp(p(o),"g");if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return c(null,e,h);if("object"==typeof e[0])return c(f||Object.keys(e[0]),e,h)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||f),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),c(e.fields||[],e.data||[],h);throw new Error("Unable to serialize unrecognized input");function c(e,t,i){var a="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var o=Array.isArray(e)&&0<e.length,u=!Array.isArray(t[0]);if(o&&r){for(var h=0;h<e.length;h++)0<h&&(a+=n),a+=g(e[h],h);0<t.length&&(a+=s)}for(var f=0;f<t.length;f++){var d=o?e.length:t[f].length,l=!1,c=o?0===Object.keys(t[f]).length:0===t[f].length;if(i&&!o&&(l="greedy"===i?""===t[f].join("").trim():1===t[f].length&&0===t[f][0].length),"greedy"===i&&o){for(var p=[],_=0;_<d;_++){var m=u?e[_]:_;p.push(t[f][m])}l=""===p.join("").trim()}if(!l){for(var y=0;y<d;y++){0<y&&!c&&(a+=n);var v=o&&u?e[y]:y;a+=g(t[f][v],y)}f<t.length-1&&(!i||0<d&&!c)&&(a+=s)}}return a}function g(e,t){if(null==e)return"";if(e.constructor===Date)return JSON.stringify(e).slice(1,25);var r=!1;d&&"string"==typeof e&&d.test(e)&&(e="'"+e,r=!0);var s=e.toString().replace(l,u);return(r=r||!0===i||"function"==typeof i&&i(e,t)||Array.isArray(i)&&i[t]||function(e,t){for(var i=0;i<t.length;i++)if(-1<e.indexOf(t[i]))return!0;return!1}(s,a.BAD_DELIMITERS)||-1<s.indexOf(n)||" "===s.charAt(0)||" "===s.charAt(s.length-1))?o+s+o:s}}};if(a.RECORD_SEP=String.fromCharCode(30),a.UNIT_SEP=String.fromCharCode(31),a.BYTE_ORDER_MARK="\ufeff",a.BAD_DELIMITERS=["\r","\n",'"',a.BYTE_ORDER_MARK],a.WORKERS_SUPPORTED=!i&&!!t.Worker,a.NODE_STREAM_INPUT=1,a.LocalChunkSize=10485760,a.RemoteChunkSize=5242880,a.DefaultDelimiter=",",a.Parser=g,a.ParserHandle=c,a.NetworkStreamer=h,a.FileStreamer=f,a.StringStreamer=d,a.ReadableStreamStreamer=l,t.jQuery){var o=t.jQuery;o.fn.parse=function(e){var i=e.config||{},r=[];return this.each((function(e){if("INPUT"!==o(this).prop("tagName").toUpperCase()||"file"!==o(this).attr("type").toLowerCase()||!t.FileReader||!this.files||0===this.files.length)return!0;for(var n=0;n<this.files.length;n++)r.push({file:this.files[n],inputElem:this,instanceConfig:o.extend({},i)})})),n(),this;function n(){if(0!==r.length){var t,i,n,u=r[0];if(b(e.before)){var h=e.before(u.file,u.inputElem);if("object"==typeof h){if("abort"===h.action)return t=u.file,i=u.inputElem,n=h.reason,void(b(e.error)&&e.error({name:"AbortError"},t,i,n));if("skip"===h.action)return void s();"object"==typeof h.config&&(u.instanceConfig=o.extend(u.instanceConfig,h.config))}else if("skip"===h)return void s()}var f=u.instanceConfig.complete;u.instanceConfig.complete=function(e){b(f)&&f(e,u.file,u.inputElem),s()},a.parse(u.file,u.instanceConfig)}else b(e.complete)&&e.complete()}function s(){r.splice(0,1),n()}}}function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=v(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new c(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(e,i){if(this.isFirstChunk&&b(this._config.beforeFirstChunk)){var n=this._config.beforeFirstChunk(e);void 0!==n&&(e=n)}this.isFirstChunk=!1,this._halted=!1;var s=this._partialLine+e;this._partialLine="";var o=this._handle.parse(s,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var u=o.meta.cursor;this._finished||(this._partialLine=s.substring(u-this._baseIndex),this._baseIndex=u),o&&o.data&&(this._rowCount+=o.data.length);var h=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(r)t.postMessage({results:o,workerId:a.WORKER_ID,finished:h});else if(b(this._config.chunk)&&!i){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);o=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!h||!b(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),h||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(e){b(this._config.error)?this._config.error(e):r&&this._config.error&&t.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function h(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),u.call(this,e),this._nextChunk=i?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),i||(t.onload=k(this._chunkLoaded,this),t.onerror=k(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!i),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var r in e)t.setRequestHeader(r,e[r])}if(this._config.chunkSize){var n=this._start+this._config.chunkSize-1;t.setRequestHeader("Range","bytes="+this._start+"-"+n)}try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}i&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:t.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader("Content-Range");return null===t?-1:parseInt(t.substring(t.lastIndexOf("/")+1))}(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){var i=t.statusText||e;this._sendError(new Error(i))}}function f(e){var t,i;(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),u.call(this,e);var r="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,i=e.slice||e.webkitSlice||e.mozSlice,r?((t=new FileReader).onload=k(this._chunkLoaded,this),t.onerror=k(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input;if(this._config.chunkSize){var n=Math.min(this._start+this._config.chunkSize,this._input.size);e=i.call(e,this._start,n)}var s=t.readAsText(e,this._config.encoding);r||this._chunkLoaded({target:{result:s}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function d(e){var t;u.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,i=this._config.chunkSize;return i?(e=t.substring(0,i),t=t.substring(i)):(e=t,t=""),this._finished=!t,this.parseChunk(e)}}}function l(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=k((function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}}),this),this._streamError=k((function(e){this._streamCleanUp(),this._sendError(e)}),this),this._streamEnd=k((function(){this._streamCleanUp(),r=!0,this._streamData("")}),this),this._streamCleanUp=k((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)}),this)}function c(e){var t,i,r,n=Math.pow(2,53),s=-n,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,u=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,h=this,f=0,d=0,l=!1,c=!1,_=[],m={data:[],errors:[],meta:{}};if(b(e.step)){var y=e.step;e.step=function(t){if(m=t,w())E();else{if(E(),0===m.data.length)return;f+=t.data.length,e.preview&&f>e.preview?i.abort():(m.data=m.data[0],y(m,h))}}}function k(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function E(){return m&&r&&(C("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),r=!1),e.skipEmptyLines&&(m.data=m.data.filter((function(e){return!k(e)}))),w()&&function(){if(m)if(Array.isArray(m.data[0])){for(var t=0;w()&&t<m.data.length;t++)m.data[t].forEach(i);m.data.splice(0,1)}else m.data.forEach(i);function i(t,i){b(e.transformHeader)&&(t=e.transformHeader(t,i)),_.push(t)}}(),function(){if(!m||!e.header&&!e.dynamicTyping&&!e.transform)return m;function t(t,i){var r,n=e.header?{}:[];for(r=0;r<t.length;r++){var s=r,a=t[r];e.header&&(s=r>=_.length?"__parsed_extra":_[r]),e.transform&&(a=e.transform(a,s)),a=R(s,a),"__parsed_extra"===s?(n[s]=n[s]||[],n[s].push(a)):n[s]=a}return e.header&&(r>_.length?C("FieldMismatch","TooManyFields","Too many fields: expected "+_.length+" fields but parsed "+r,d+i):r<_.length&&C("FieldMismatch","TooFewFields","Too few fields: expected "+_.length+" fields but parsed "+r,d+i)),n}var i=1;return!m.data.length||Array.isArray(m.data[0])?(m.data=m.data.map(t),i=m.data.length):m.data=t(m.data,0),e.header&&m.meta&&(m.meta.fields=_),d+=i,m}()}function w(){return e.header&&0===_.length}function R(t,i){return r=t,e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping)?"true"===i||"TRUE"===i||"false"!==i&&"FALSE"!==i&&(function(e){if(o.test(e)){var t=parseFloat(e);if(s<t&&t<n)return!0}return!1}(i)?parseFloat(i):u.test(i)?new Date(i):""===i?null:i):i;var r}function C(e,t,i,r){var n={type:e,code:t,message:i};void 0!==r&&(n.row=r),m.errors.push(n)}this.parse=function(n,s,o){var u=e.quoteChar||'"';if(e.newline||(e.newline=function(e,t){e=e.substring(0,1048576);var i=new RegExp(p(t)+"([^]*?)"+p(t),"gm"),r=(e=e.replace(i,"")).split("\r"),n=e.split("\n"),s=1<n.length&&n[0].length<r[0].length;if(1===r.length||s)return"\n";for(var a=0,o=0;o<r.length;o++)"\n"===r[o][0]&&a++;return a>=r.length/2?"\r\n":"\r"}(n,u)),r=!1,e.delimiter)b(e.delimiter)&&(e.delimiter=e.delimiter(n),m.meta.delimiter=e.delimiter);else{var h=function(t,i,r,n,s){var o,u,h,f;s=s||[",","\t","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var d=0;d<s.length;d++){var l=s[d],c=0,p=0,_=0;h=void 0;for(var m=new g({comments:n,delimiter:l,newline:i,preview:10}).parse(t),y=0;y<m.data.length;y++)if(r&&k(m.data[y]))_++;else{var v=m.data[y].length;p+=v,void 0!==h?0<v&&(c+=Math.abs(v-h),h=v):h=v}0<m.data.length&&(p/=m.data.length-_),(void 0===u||c<=u)&&(void 0===f||f<p)&&1.99<p&&(u=c,o=l,f=p)}return{successful:!!(e.delimiter=o),bestDelimiter:o}}(n,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess);h.successful?e.delimiter=h.bestDelimiter:(r=!0,e.delimiter=a.DefaultDelimiter),m.meta.delimiter=e.delimiter}var f=v(e);return e.preview&&e.header&&f.preview++,t=n,i=new g(f),m=i.parse(t,s,o),E(),l?{meta:{paused:!0}}:m||{meta:{paused:!1}}},this.paused=function(){return l},this.pause=function(){l=!0,i.abort(),t=b(e.chunk)?"":t.substring(i.getCharIndex())},this.resume=function(){h.streamer._halted?(l=!1,h.streamer.parseChunk(t,!0)):setTimeout(h.resume,3)},this.aborted=function(){return c},this.abort=function(){c=!0,i.abort(),m.meta.aborted=!0,b(e.complete)&&e.complete(m),t=""}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function g(e){var t,i=(e=e||{}).delimiter,r=e.newline,n=e.comments,s=e.step,o=e.preview,u=e.fastMode,h=t=void 0===e.quoteChar||null===e.quoteChar?'"':e.quoteChar;if(void 0!==e.escapeChar&&(h=e.escapeChar),("string"!=typeof i||-1<a.BAD_DELIMITERS.indexOf(i))&&(i=","),n===i)throw new Error("Comment character same as delimiter");!0===n?n="#":("string"!=typeof n||-1<a.BAD_DELIMITERS.indexOf(n))&&(n=!1),"\n"!==r&&"\r"!==r&&"\r\n"!==r&&(r="\n");var f=0,d=!1;this.parse=function(a,l,c){if("string"!=typeof a)throw new Error("Input must be a string");var g=a.length,_=i.length,m=r.length,y=n.length,v=b(s),k=[],E=[],w=[],R=f=0;if(!a)return Q();if(e.header&&!l){var C=a.split(r)[0].split(i),S=[],O={},x=!1;for(var I in C){var A=C[I];b(e.transformHeader)&&(A=e.transformHeader(A,I));var T=A,D=O[A]||0;for(0<D&&(x=!0,T=A+"_"+D),O[A]=D+1;S.includes(T);)T=T+"_"+D;S.push(T)}if(x){var L=a.split(r);L[0]=S.join(i),a=L.join(r)}}if(u||!1!==u&&-1===a.indexOf(t)){for(var F=a.split(r),j=0;j<F.length;j++){if(w=F[j],f+=w.length,j!==F.length-1)f+=r.length;else if(c)return Q();if(!n||w.substring(0,y)!==n){if(v){if(k=[],B(w.split(i)),J(),d)return Q()}else B(w.split(i));if(o&&o<=j)return k=k.slice(0,o),Q(!0)}}return Q()}for(var z=a.indexOf(i,f),M=a.indexOf(r,f),P=new RegExp(p(h)+p(t),"g"),U=a.indexOf(t,f);;)if(a[f]!==t)if(n&&0===w.length&&a.substring(f,f+y)===n){if(-1===M)return Q();f=M+m,M=a.indexOf(r,f),z=a.indexOf(i,f)}else if(-1!==z&&(z<M||-1===M))w.push(a.substring(f,z)),f=z+_,z=a.indexOf(i,f);else{if(-1===M)break;if(w.push(a.substring(f,M)),H(M+m),v&&(J(),d))return Q();if(o&&k.length>=o)return Q(!0)}else for(U=f,f++;;){if(-1===(U=a.indexOf(t,U+1)))return c||E.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:k.length,index:f}),W();if(U===g-1)return W(a.substring(f,U).replace(P,t));if(t!==h||a[U+1]!==h){if(t===h||0===U||a[U-1]!==h){-1!==z&&z<U+1&&(z=a.indexOf(i,U+1)),-1!==M&&M<U+1&&(M=a.indexOf(r,U+1));var q=K(-1===M?z:Math.min(z,M));if(a.substr(U+1+q,_)===i){w.push(a.substring(f,U).replace(P,t)),a[f=U+1+q+_]!==t&&(U=a.indexOf(t,f)),z=a.indexOf(i,f),M=a.indexOf(r,f);break}var N=K(M);if(a.substring(U+1+N,U+1+N+m)===r){if(w.push(a.substring(f,U).replace(P,t)),H(U+1+N+m),z=a.indexOf(i,f),U=a.indexOf(t,f),v&&(J(),d))return Q();if(o&&k.length>=o)return Q(!0);break}E.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:k.length,index:f}),U++}}else U++}return W();function B(e){k.push(e),R=f}function K(e){var t=0;if(-1!==e){var i=a.substring(U+1,e);i&&""===i.trim()&&(t=i.length)}return t}function W(e){return c||(void 0===e&&(e=a.substring(f)),w.push(e),f=g,B(w),v&&J()),Q()}function H(e){f=e,B(w),w=[],M=a.indexOf(r,f)}function Q(e){return{data:k,errors:E,meta:{delimiter:i,linebreak:r,aborted:d,truncated:!!e,cursor:R+(l||0)}}}function J(){s(Q()),k=[],E=[]}},this.abort=function(){d=!0},this.getCharIndex=function(){return f}}function _(e){var t=e.data,i=n[t.workerId],r=!1;if(t.error)i.userError(t.error,t.file);else if(t.results&&t.results.data){var s={abort:function(){r=!0,m(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(b(i.userStep)){for(var a=0;a<t.results.data.length&&(i.userStep({data:t.results.data[a],errors:t.results.errors,meta:t.results.meta},s),!r);a++);delete t.results}else b(i.userChunk)&&(i.userChunk(t.results,s,t.file),delete t.results)}t.finished&&!r&&m(t.workerId,t.results)}function m(e,t){var i=n[e];b(i.userComplete)&&i.userComplete(t),i.terminate(),delete n[e]}function y(){throw new Error("Not implemented.")}function v(e){if("object"!=typeof e||null===e)return e;var t=Array.isArray(e)?[]:{};for(var i in e)t[i]=v(e[i]);return t}function k(e,t){return function(){e.apply(t,arguments)}}function b(e){return"function"==typeof e}return r&&(t.onmessage=function(e){var i=e.data;if(void 0===a.WORKER_ID&&i&&(a.WORKER_ID=i.workerId),"string"==typeof i.input)t.postMessage({workerId:a.WORKER_ID,results:a.parse(i.input,i.config),finished:!0});else if(t.File&&i.input instanceof File||i.input instanceof Object){var r=a.parse(i.input,i.config);r&&t.postMessage({workerId:a.WORKER_ID,results:r,finished:!0})}}),(h.prototype=Object.create(u.prototype)).constructor=h,(f.prototype=Object.create(u.prototype)).constructor=f,(d.prototype=Object.create(d.prototype)).constructor=d,(l.prototype=Object.create(u.prototype)).constructor=l,a}));
@@ -0,0 +1,6 @@
1
+ /* @license
2
+ Papa Parse
3
+ v5.4.1
4
+ https://github.com/mholt/PapaParse
5
+ License: MIT
6
+ */
@@ -0,0 +1 @@
1
+ var CCP4Module,RDKit;function makeRequest(e,o){return new Promise((function(t,_){var c=new XMLHttpRequest;c.open(e,o,!0),c.onload=function(){this.status>=200&&this.status<300?t(c.response):_({status:this.status,statusText:c.statusText})},c.onerror=function(){_({status:this.status,statusText:c.statusText})},c.send()}))}function onlyUnique(e,o,t){return t.indexOf(e)===o}function getLoop(e,o){let t=o+".",_=!1,c=[],n=e.length;for(let o=0;o<n;o++){let n=e[o].replace(/(^\s+|\s+$)/g,"");if("loop_"===n||"_"===n.substring(0,1)&&n.substring(0,t.length)!==t){if(_)break;o<e.length&&e[o+1].substring(0,t.length)===t&&(_=!0)}else _&&c.push(n)}return c}function splitQuotedCIFString(e){return 0===e.length?[]:e.match(/(?:[^\s"]+|"[^"]*")+/g)}function addCIFAtomTypes(e,o){let t=[],_=getLoop(o.split("\n"),"_chem_comp_atom"),c=[];for(let e=0;e<_.length;e++)if("#"!==_[e].substr(0,1)&&""!==_[e].trim())if("_"===_[e].substr(0,1))t.push(_[e]);else{let o=splitQuotedCIFString(_[e]);if("."!==o[0]){let e={};for(let _=0;_<o.length;_++)e[t[_]]=o[_];c.push(e)}}return c}function addCIFBondTypes(e,o){let t=[],_=getLoop(o.split("\n"),"_chem_comp_bond"),c=[];for(let e=0;e<_.length;e++)if("#"!==_[e].substr(0,1)&&""!==_[e].trim())if("_"===_[e].substr(0,1))t.push(_[e]);else{let o=_[e].match(/(?:[^\s"]+|"[^"]*")+/g);if("."!==o[0]){let e={};for(let _=0;_<o.length;_++)e[t[_]]=o[_];void 0!==e["_chem_comp_bond.type"]&&e["_chem_comp_bond.type"].length>0&&void 0!==e["_chem_comp_bond.comp_id"]&&e["_chem_comp_bond.comp_id"].length>0&&void 0!==e["_chem_comp_bond.atom_id_1"]&&e["_chem_comp_bond.atom_id_1"].length>0&&void 0!==e["_chem_comp_bond.atom_id_2"]&&e["_chem_comp_bond.atom_id_2"].length>0?c.push(e):void 0!==e["_chem_comp_bond.value_order"]&&e["_chem_comp_bond.value_order"].length>0&&void 0!==e["_chem_comp_bond.comp_id"]&&e["_chem_comp_bond.comp_id"].length>0&&void 0!==e["_chem_comp_bond.atom_id_1"]&&e["_chem_comp_bond.atom_id_1"].length>0&&void 0!==e["_chem_comp_bond.atom_id_2"]&&e["_chem_comp_bond.atom_id_2"].length>0&&("Y"===e["_chem_comp_bond.pdbx_aromatic_flag"]?e["_chem_comp_bond.type"]="aromatic":"SING"===e["_chem_comp_bond.value_order"]||"SINGLE"===e["_chem_comp_bond.value_order"]?e["_chem_comp_bond.type"]="single":"DOUB"===e["_chem_comp_bond.value_order"]||"DOUBLE"===e["_chem_comp_bond.value_order"]?e["_chem_comp_bond.type"]="double":"TRIP"===e["_chem_comp_bond.value_order"]||"TRIPLE"===e["_chem_comp_bond.value_order"]?e["_chem_comp_bond.type"]="triple":e["_chem_comp_bond.type"]="single",c.push(e))}}return c}function dictToMolBlock(e,o){let t=addCIFAtomTypes(e,o),_=addCIFBondTypes(e,o),c=t.length,n=_.length,m=e+"\n CCP4-MonomerLibrary-WebToCif\n\n";m+=(" "+c).slice(-3)+(" "+n).slice(-3)+" 0 0 0 0 0 0 0 0999 V2000\n";let i=0,l="";for(let e=0;e<c;e++){let o=parseFloat(t[e]["_chem_comp_atom.x"]),_=parseFloat(t[e]["_chem_comp_atom.y"]),c=parseFloat(t[e]["_chem_comp_atom.z"]);"."!=t[e]["_chem_comp_atom.charge"]&&"0"!=t[e]["_chem_comp_atom.charge"]&&(i++,l+=(" "+(e+1)).slice(-4)+(" "+t[e]["_chem_comp_atom.charge"]).slice(-4));let n=t[e]["_chem_comp_atom.type_symbol"];m+=(" "+o.toFixed(4)).slice(-10)+(" "+_.toFixed(4)).slice(-10)+(" "+c.toFixed(4)).slice(-10)+(" "+n).slice(-3)+" 0 0 0 0 0 0 0 0 0 0 0 0\n"}for(let e=0;e<n;e++){let o=t.find((o=>o["_chem_comp_atom.atom_id"]===_[e]["_chem_comp_bond.atom_id_1"])),c=t.find((o=>o["_chem_comp_atom.atom_id"]===_[e]["_chem_comp_bond.atom_id_2"])),n=t.indexOf(o),i=t.indexOf(c),l=(" "+(n+1)).slice(-3),s=(" "+(i+1)).slice(-3),p=1;!(["_chem_comp_bond.aromatic"]in _[e])||"y_XXX"!==_[e]["_chem_comp_bond.aromatic"]&&"Y_XXX"!==_[e]["_chem_comp_bond.aromatic"]?!(["_chem_comp_bond.type"]in _[e])||"TRIPLE"!==_[e]["_chem_comp_bond.type"]&&"triple"!==_[e]["_chem_comp_bond.type"]?!(["_chem_comp_bond.type"]in _[e])||"DOUBLE"!==_[e]["_chem_comp_bond.type"]&&"double"!==_[e]["_chem_comp_bond.type"]?!(["_chem_comp_bond.type"]in _[e])||"SINGLE"!==_[e]["_chem_comp_bond.type"]&&"single"!==_[e]["_chem_comp_bond.type"]?(console.log("Unknown bond type"),console.log(_[e])):p=1:p=2:p=3:p=4,m+=l+s+(" "+p).slice(-2)+" 0 0 0 0\n"}return i>0&&(m+="M CHG"+(" "+i).slice(-3)+l+"\n"),m+="M END",m}importScripts("web_example.js","RDKit_minimal.js"),createCCP4Module({print(e){postMessage(["output",e])},printErr(e){postMessage(["output",e])}}).then((function(e){CCP4Module=e})).catch((e=>{console.log("CCP4 problem :("),console.log(e)})),initRDKitModule({print(e){postMessage(["output",e])},printErr(e){postMessage(["output",e])}}).then((function(e){RDKit=e})).catch((e=>{console.log("RDKit problem :("),console.log(e)})),onmessage=function(e){let o=e.data[0],t=e.data[1];try{CCP4Module.FS_createDataFile(".",t,o,!0,!0)}catch(e){}let _=CCP4Module.get_annotated_glycans_hierarchical(t,!1,"undefined"),c={};c[t]=_,postMessage(["glycan_result",c]);let n=CCP4Module.mmdb2_example(t),m=[];for(let e=0;e<n.size();e++)m.push(n.get(e));let i=m.filter(onlyUnique),l=[];for(ilig=0;ilig<i.length;ilig++){let e=i[ilig],o="/monomers/"+e.toLowerCase()[0]+"/"+e.toUpperCase()+".cif";l.push(makeRequest("GET",o,!0))}let s={};l.length>0&&Promise.all(l).then((e=>{for(ilig=0;ilig<e.length;ilig++){let o=i[ilig],t=dictToMolBlock(o,e[ilig]),_=RDKit.get_mol(t),c=RDKit.get_mol(_.remove_hs()).get_smiles(),n=RDKit.get_mol(c);s[o]=n.get_svg()}postMessage(["result",s])})).catch((e=>{for(console.error(e),ilig=0;ilig<i.length;ilig++){let e=i[ilig];s[e]=""}postMessage(["result",s])}))};
@@ -0,0 +1 @@
1
+ var CCP4Module,RDKit;function makeRequest(o,e){return new Promise((function(t,_){var c=new XMLHttpRequest;c.open(o,e,!0),c.onload=function(){this.status>=200&&this.status<300?t(c.response):_({status:this.status,statusText:c.statusText})},c.onerror=function(){_({status:this.status,statusText:c.statusText})},c.send()}))}function onlyUnique(o,e,t){return t.indexOf(o)===e}function getLoop(o,e){let t=e+".",_=!1,c=[],n=o.length;for(let e=0;e<n;e++){let n=o[e].replace(/(^\s+|\s+$)/g,"");if("loop_"===n||"_"===n.substring(0,1)&&n.substring(0,t.length)!==t){if(_)break;e<o.length&&o[e+1].substring(0,t.length)===t&&(_=!0)}else _&&c.push(n)}return c}function splitQuotedCIFString(o){return 0===o.length?[]:o.match(/(?:[^\s"]+|"[^"]*")+/g)}function addCIFAtomTypes(o,e){let t=[],_=getLoop(e.split("\n"),"_chem_comp_atom"),c=[];for(let o=0;o<_.length;o++)if("#"!==_[o].substr(0,1)&&""!==_[o].trim())if("_"===_[o].substr(0,1))t.push(_[o]);else{let e=splitQuotedCIFString(_[o]);if("."!==e[0]){let o={};for(let _=0;_<e.length;_++)o[t[_]]=e[_];c.push(o)}}return c}function addCIFBondTypes(o,e){let t=[],_=getLoop(e.split("\n"),"_chem_comp_bond"),c=[];for(let o=0;o<_.length;o++)if("#"!==_[o].substr(0,1)&&""!==_[o].trim())if("_"===_[o].substr(0,1))t.push(_[o]);else{let e=_[o].match(/(?:[^\s"]+|"[^"]*")+/g);if("."!==e[0]){let o={};for(let _=0;_<e.length;_++)o[t[_]]=e[_];void 0!==o["_chem_comp_bond.type"]&&o["_chem_comp_bond.type"].length>0&&void 0!==o["_chem_comp_bond.comp_id"]&&o["_chem_comp_bond.comp_id"].length>0&&void 0!==o["_chem_comp_bond.atom_id_1"]&&o["_chem_comp_bond.atom_id_1"].length>0&&void 0!==o["_chem_comp_bond.atom_id_2"]&&o["_chem_comp_bond.atom_id_2"].length>0?c.push(o):void 0!==o["_chem_comp_bond.value_order"]&&o["_chem_comp_bond.value_order"].length>0&&void 0!==o["_chem_comp_bond.comp_id"]&&o["_chem_comp_bond.comp_id"].length>0&&void 0!==o["_chem_comp_bond.atom_id_1"]&&o["_chem_comp_bond.atom_id_1"].length>0&&void 0!==o["_chem_comp_bond.atom_id_2"]&&o["_chem_comp_bond.atom_id_2"].length>0&&("Y"===o["_chem_comp_bond.pdbx_aromatic_flag"]?o["_chem_comp_bond.type"]="aromatic":"SING"===o["_chem_comp_bond.value_order"]||"SINGLE"===o["_chem_comp_bond.value_order"]?o["_chem_comp_bond.type"]="single":"DOUB"===o["_chem_comp_bond.value_order"]||"DOUBLE"===o["_chem_comp_bond.value_order"]?o["_chem_comp_bond.type"]="double":"TRIP"===o["_chem_comp_bond.value_order"]||"TRIPLE"===o["_chem_comp_bond.value_order"]?o["_chem_comp_bond.type"]="triple":o["_chem_comp_bond.type"]="single",c.push(o))}}return c}function dictToMolBlock(o,e){let t=addCIFAtomTypes(o,e),_=addCIFBondTypes(o,e),c=t.length,n=_.length,m=o+"\n CCP4-MonomerLibrary-WebToCif\n\n";m+=(" "+c).slice(-3)+(" "+n).slice(-3)+" 0 0 0 0 0 0 0 0999 V2000\n";let s=0,l="";for(let o=0;o<c;o++){let e=parseFloat(t[o]["_chem_comp_atom.x"]),_=parseFloat(t[o]["_chem_comp_atom.y"]),c=parseFloat(t[o]["_chem_comp_atom.z"]);"."!=t[o]["_chem_comp_atom.charge"]&&"0"!=t[o]["_chem_comp_atom.charge"]&&(s++,l+=(" "+(o+1)).slice(-4)+(" "+t[o]["_chem_comp_atom.charge"]).slice(-4));let n=t[o]["_chem_comp_atom.type_symbol"];m+=(" "+e.toFixed(4)).slice(-10)+(" "+_.toFixed(4)).slice(-10)+(" "+c.toFixed(4)).slice(-10)+(" "+n).slice(-3)+" 0 0 0 0 0 0 0 0 0 0 0 0\n"}for(let o=0;o<n;o++){let e=t.find((e=>e["_chem_comp_atom.atom_id"]===_[o]["_chem_comp_bond.atom_id_1"])),c=t.find((e=>e["_chem_comp_atom.atom_id"]===_[o]["_chem_comp_bond.atom_id_2"])),n=t.indexOf(e),s=t.indexOf(c),l=(" "+(n+1)).slice(-3),p=(" "+(s+1)).slice(-3),i=1;!(["_chem_comp_bond.aromatic"]in _[o])||"y_XXX"!==_[o]["_chem_comp_bond.aromatic"]&&"Y_XXX"!==_[o]["_chem_comp_bond.aromatic"]?!(["_chem_comp_bond.type"]in _[o])||"TRIPLE"!==_[o]["_chem_comp_bond.type"]&&"triple"!==_[o]["_chem_comp_bond.type"]?!(["_chem_comp_bond.type"]in _[o])||"DOUBLE"!==_[o]["_chem_comp_bond.type"]&&"double"!==_[o]["_chem_comp_bond.type"]?!(["_chem_comp_bond.type"]in _[o])||"SINGLE"!==_[o]["_chem_comp_bond.type"]&&"single"!==_[o]["_chem_comp_bond.type"]?(console.log("Unknown bond type"),console.log(_[o])):i=1:i=2:i=3:i=4,m+=l+p+(" "+i).slice(-2)+" 0 0 0 0\n"}return s>0&&(m+="M CHG"+(" "+s).slice(-3)+l+"\n"),m+="M END",m}importScripts("web_example.js","RDKit_minimal.js"),createCCP4Module({print(o){postMessage(["output",o])},printErr(o){postMessage(["output",o])}}).then((function(o){CCP4Module=o})).catch((o=>{console.log("CCP4 problem :("),console.log(o)})),initRDKitModule({print(o){postMessage(["output",o])},printErr(o){postMessage(["output",o])}}).then((function(o){RDKit=o})).catch((o=>{console.log("RDKit problem :("),console.log(o)})),onmessage=function(o){let e=[o.data[0]],t=[o.data[1]];console.log(e);let _={};e.length>0&&Promise.all(e).then((o=>{console.log("Do RDKit stuff");let e=RDKit.get_mol(o[0]),c=RDKit.get_mol(e.add_hs());console.log("Done get_mol"),_[t[0]]=c.get_svg(),console.log("Done get_svg"),postMessage(["result",_]),console.log("Done postMessage")})).catch((o=>{console.error(o),postMessage(["result",_])}))};
@@ -0,0 +1 @@
1
+ var CCP4Module;importScripts("web_example.js"),importScripts("papaparse.min.js"),createCCP4Module({print(t){postMessage(["output",t])},printErr(t){postMessage(["output",t])}}).then((function(t){CCP4Module=t})).catch((t=>{console.log("CCP4 problem :("),console.log(t)})),onmessage=function(t){var e=new CCP4Module.VectorString;e.push_back("gesamt");var a=new CCP4Module.VectorString;for(let s=0;s<t.data[0].length;s++){try{CCP4Module.FS_createDataFile(".",t.data[1][s],t.data[0][s],!0,!0)}catch(t){}e.push_back(t.data[1][s]),a.push_back("dummy")}e.push_back("-csv"),e.push_back("out.csv");var s=CCP4Module.gesamt(e),l=CCP4Module.FS.readFile("out.csv",{encoding:"utf8"});let r=Papa.parse(l).data;if(2==t.data[0].length){let e=!1,a=!1,s=[],l=[],p=-1;for(let t=0;t<r.length;t++){if(e&&t<p+4&&(l.push(parseFloat(r[t][0])),l.push(parseFloat(r[t][1])),l.push(parseFloat(r[t][2])),l.push(parseFloat(r[t][3]))),a){if(r[t][0].length>0){let e=parseFloat(r[t][0]),a=parseFloat(r[t][4].trim().split(" ")[r[t][4].trim().split(" ").length-1]);s.push({x:a,y:e})}if(r[t].length<5)break}4==r[t].length&&"Rx"===r[t][0].trim()&&"Ry"===r[t][1].trim()&&"Rz"===r[t][2].trim()&&"T"===r[t][3].trim()&&(e=!0,p=t),r[t].length>4&&"Dist [A]"===r[t][0].trim()&&"Query"===r[t][3].trim()&&"Target"===r[t][4].trim()&&(a=!0)}12==l.length&&(l.push(0),l.push(0),l.push(0),l.push(1));let o={};o.alignData=s,o.transformMatrices=[l],t.data.length>2&&(o.jobid=t.data[2]),postMessage(["csvResult",o])}else{let e=!1,a=!1,s=[],l=[],p=[],o=-1;for(let i=0;i<r.length;i++){if(e&&i<o+4&&(l.push(parseFloat(r[i][0])),l.push(parseFloat(r[i][1])),l.push(parseFloat(r[i][2])),l.push(parseFloat(r[i][3]))),12==l.length&&(l.push(0),l.push(0),l.push(0),l.push(1),p.push(l),l=[],e=!1),4==r[i].length&&"Rx"===r[i][0].trim()&&"Ry"===r[i][1].trim()&&"Rz"===r[i][2].trim()&&"T"===r[i][3].trim()&&(e=!0,o=i),a){if(r[i][0].length>0){let t=parseFloat(r[i][0]),e=parseFloat(r[i][1].trim().split(" ")[r[i][1].trim().split(" ").length-1]);s.push({x:e,y:t})}if(r[i].length<t.data[0].length+1)break}"Disp.[A]"===r[i][0].trim()&&i>2&&"RESIDUE ALIGNMENT"===r[i-2][0].trim()&&(a=!0)}let i={};i.transformMatrices=p,i.alignData=s,t.data.length>2&&(i.jobid=t.data[2]),postMessage(["csvResult",i])}postMessage(["result",s])};