Commit dfe05910 authored by Jacob Durrant's avatar Jacob Durrant
Browse files

Update to version 1.0.1.

parent c259bd86
/**
* Webina Copyright 2019 Jacob Durrant
*
* Licensed under the Apache License, Version 2.0 (the License);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(a){var c=0;return function(){return c<a.length?{done:!1,value:a[c++]}:{done:!0}}};$jscomp.arrayIterator=function(a){return{next:$jscomp.arrayIteratorImpl(a)}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};
$jscomp.SymbolClass=function(a,c){this.$jscomp$symbol$id_=a;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:c})};$jscomp.SymbolClass.prototype.toString=function(){return this.$jscomp$symbol$id_};$jscomp.Symbol=function(){function a(b){if(this instanceof a)throw new TypeError("Symbol is not a constructor");return new $jscomp.SymbolClass($jscomp.SYMBOL_PREFIX+(b||"")+"_"+c++,b)}var c=0;return a}();
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("Symbol.iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}});$jscomp.initSymbolIterator=function(){}};
$jscomp.initSymbolAsyncIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.asyncIterator;a||(a=$jscomp.global.Symbol.asyncIterator=$jscomp.global.Symbol("Symbol.asyncIterator"));$jscomp.initSymbolAsyncIterator=function(){}};$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};
$jscomp.iteratorFromArray=function(a,c){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var b=0,d={next:function(){if(b<a.length){var e=b++;return{value:c(e,a[e]),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};d[Symbol.iterator]=function(){return d};return d};
$jscomp.polyfill=function(a,c,b,d){if(c){b=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in b||(b[e]={});b=b[e]}a=a[a.length-1];d=b[a];c=c(d);c!=d&&null!=c&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:c})}};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3");var VERSION="1.0.0";console.log("Webina Library "+VERSION);console.log(" Compiled from Vina 1.1.2 codebase:");
console.log(" http://vina.scripps.edu/");
var WEBINA_Module,decodeBase64="function"==typeof atob?atob:function(a){var c,b,d,e,f,m,g="",h=0;for(a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++))<<2|(e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++)))>>4,b=(15&e)<<4|(f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++)))>>2,d=(3&f)<<6|(m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++))),g+=
String.fromCharCode(c),64!==f&&(g+=String.fromCharCode(b)),64!==m&&(g+=String.fromCharCode(d)),h<a.length;)return g},Webina=function(){return{WEBINA_ENVIRONMENT_IS_NODE:window.WEBINA_ENVIRONMENT_IS_NODE,WEBINA_lengthBytesUTF8:window.WEBINA_lengthBytesUTF8,WEBINA_stringToUTF8Array:window.WEBINA_stringToUTF8Array,WEBINA_assert:window.WEBINA_assert,WEBINA_ASSERTIONS:1,WEBINA_DATA_URI_PREFIX:"data:application/octet-stream;base64,",WEBINA_BASE_URL:"./",FS:window.FS,start:function(a,c,b,d,e,f){var m=this,
g="\nWEBINA\n======\n\n";void 0!==f?("/"!==f.slice(f.length-1)&&(f+="/"),this.WEBINA_BASE_URL=f,g+="User specified baseUrl: "+f+"\n"):g+="No baseUrl specified, so using ./\n\nUse Webina.start() to specify the baseUrl:\n function start(vinaParams, receptorPDBQTTxt, \n ligandPDBQTTxt, onDone, \n onError, baseUrl)\n";g+="\nExpecting files at the following locations:\n";for(var h=0;5>h;h++)g+=" "+(void 0===f?"./":f)+["Webina.min.min.js","vina.html.mem","vina.min.min.js",
"vina.worker.min.min.js","vina.wasm"][h]+"\n";g+="\n";void 0!==f?console.log(g):console.warn(g);void 0===e&&(e=function(){console.log("Webina encountered an error! Does your browser support WebAssembly?")});WEBINA_Module={preRun:[],postRun:[],stdOut:"",stdErr:"",print:function(){return function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments).join(" "));window.WEBINA_Module.stdOut+=a+"\n"}}(),printErr:function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments).join(" "));window.WEBINA_Module.stdErr+=
a+"\n"},setStatus:function(a){""===a&&void 0!==d&&(a=(new TextDecoder("utf-8")).decode(window.FS.readFile("ligand_out.pdbqt")),d(a,window.WEBINA_Module.stdOut,window.WEBINA_Module.stdErr))},onError:e,catchError:function(a){e(a)},receptorPDBQTTxt:c,ligandPDBQTTxt:b};void 0!==a.receptor&&console.warn("Webina does not support Vina's --receptor parameter. Instead, pass the content of the receptor file as a string to the webina.start() function.");void 0!==a.receptor&&console.warn("Webina does not support Vina's --ligand parameter. Instead, pass the content of the ligand file as a string to the webina.start() function.");
WEBINA_Module.arguments=["--receptor","/receptor.pdbqt","--ligand","/ligand.pdbqt"];c=Object.keys(a);b=c.length;for(h=0;h<b;h++)f=c[h],g=a[f],WEBINA_Module.arguments.push("--"+f),"boolean"!==typeof g&&WEBINA_Module.arguments.push(String(g));window.WEBINA_Module=WEBINA_Module;var k=this.WEBINA_BASE_URL+"vina.html.mem";k=WEBINA_Module.locateFile?WEBINA_Module.locateFile(k,""):k;WEBINA_Module.memoryInitializerRequestURL=k;var l=WEBINA_Module.memoryInitializerRequest=new XMLHttpRequest;l.onloadend=function(){if(404===
l.status){var a="Unable to access "+k+'. See JavaScript console for warnings. The "baseUrl" variable passed to Webina is likely incorrect.';WEBINA_Module.catchError({message:a});console.warn(a)}else a=document.createElement("script"),a.src=m.WEBINA_BASE_URL+"vina.min.js",document.body.appendChild(a)};l.open("GET",k,!0);l.responseType="arraybuffer";l.send(null)},isDataURI:function(a){return String.prototype.startsWith?a.startsWith(this.WEBINA_DATA_URI_PREFIX):0===a.indexOf(this.WEBINA_DATA_URI_PREFIX)},
intArrayFromBase64:function(a){if("boolean"==typeof this.WEBINA_ENVIRONMENT_IS_NODE&&this.WEBINA_ENVIRONMENT_IS_NODE){try{var c=Buffer.from(a,"base64")}catch(e){c=new Buffer(a,"base64")}return new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}try{var b=decodeBase64(a),d=new Uint8Array(b.length);for(a=0;a<b.length;++a)d[a]=b.charCodeAt(a);return d}catch(e){throw Error("Converting base64 string to bytes failed.");}},tryParseAsDataURI:function(a){if(this.isDataURI(a))return this.intArrayFromBase64(a.slice(this.WEBINA_DATA_URI_PREFIX.length))},
intArrayFromString:function(a,c,b){b=0<b?b:this.WEBINA_lengthBytesUTF8(a)+1;b=Array(b);a=this.WEBINA_stringToUTF8Array(a,b,0,b.length);return c&&(b.length=a),b},intArrayToString:function(a){for(var c=[],b=0;b<a.length;b++){var d=a[b];255<d&&(this.WEBINA_ASSERTIONS&&this.WEBINA_assert(!1,"Character code "+d+" ("+String.fromCharCode(d)+") at offset "+b+" not in 0x00-0xFF."),d&=255);c.push(String.fromCharCode(d))}return c.join("")}}}();
This diff is collapsed.
var threadInfoStruct=0,selfThreadId=0,parentThreadId=0,tempDoublePtr=0,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,buffer,DYNAMICTOP_PTR=0,DYNAMIC_BASE=0,noExitRuntime,PthreadWorkerInit={},__performance_now_clock_drift=0,WEBINA_Module={};function WEBINA_assert(a,b){a||abort("Assertion failed: "+b)}
this.addEventListener("error",function(a){if(-1!=a.message.indexOf("SimulateInfiniteLoop"))return a.preventDefault();var b=" in "+a.filename+":"+a.lineno+":"+a.colno;console.error("Pthread "+selfThreadId+" uncaught exception"+(a.filename||a.lineno||a.colno?b:"")+": "+a.message+". Error object:");console.error(a.error)});function threadPrintErr(){var a=Array.prototype.slice.call(arguments).join(" ");console.error(a);console.error(Error().stack)}
function threadAlert(){var a=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:a,threadId:selfThreadId})}var err=threadPrintErr;this.alert=threadAlert;function resetPrototype(a,b){a=Object.create(a.prototype);for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a}WEBINA_Module.instantiateWasm=function(a,b){a=new WebAssembly.Instance(wasmModule,a);wasmModule=null;b(a);return a.exports};var wasmModule,wasmMemory;
this.onmessage=function(a){try{if("load"===a.data.cmd){tempDoublePtr=a.data.tempDoublePtr;DYNAMIC_BASE=a.data.DYNAMIC_BASE;DYNAMICTOP_PTR=a.data.DYNAMICTOP_PTR;WEBINA_Module.STACK_MAX=WEBINA_Module.STACKTOP=2147483647;wasmModule=a.data.wasmModule;wasmMemory=a.data.wasmMemory;buffer=wasmMemory.buffer;PthreadWorkerInit=a.data.PthreadWorkerInit;WEBINA_Module.ENVIRONMENT_IS_PTHREAD=!0;if("string"===typeof a.data.urlOrBlob)importScripts(a.data.urlOrBlob);else{var b=URL.createObjectURL(a.data.urlOrBlob);
importScripts(b);URL.revokeObjectURL(b)}"undefined"!==typeof FS&&"function"===typeof FS.createStandardStreams&&FS.createStandardStreams();postMessage({cmd:"loaded"})}else if("objectTransfer"===a.data.cmd)PThread.receiveObjectTransfer(a.data);else if("run"===a.data.cmd){__performance_now_clock_drift=performance.now()-a.data.time;threadInfoStruct=a.data.threadInfoStruct;__register_pthread_ptr(threadInfoStruct,0,0);selfThreadId=a.data.selfThreadId;parentThreadId=a.data.parentThreadId;var d=a.data.stackBase+
a.data.stackSize,e=a.data.stackBase;STACKTOP=STACK_BASE=e;STACK_MAX=d;WEBINA_assert(threadInfoStruct);WEBINA_assert(selfThreadId);WEBINA_assert(parentThreadId);WEBINA_assert(0!=STACK_BASE);WEBINA_assert(d>a.data.stackBase);WEBINA_assert(d>e);WEBINA_assert(a.data.stackBase===e);WEBINA_Module.establishStackSpace(a.data.stackBase,a.data.stackBase+a.data.stackSize);writeStackCookie();PThread.receiveObjectTransfer(a.data);PThread.setThreadStatus(_pthread_self(),1);try{var f=WEBINA_Module.dynCall_ii(a.data.start_routine,
a.data.arg);checkStackCookie()}catch(c){if("Canceled!"===c){PThread.threadCancel();return}if("SimulateInfiniteLoop"===c||"pthread_exit"===c)return;Atomics.store(HEAPU32,threadInfoStruct+4>>2,c instanceof ExitStatus?c.status:-2);Atomics.store(HEAPU32,threadInfoStruct+0>>2,1);if("function"!==typeof _emscripten_futex_wake)throw err("Thread Initialisation failed."),c;_emscripten_futex_wake(threadInfoStruct+0,2147483647);if(!(c instanceof ExitStatus))throw c;}noExitRuntime||PThread.threadExit(f)}else"cancel"===
a.data.cmd?threadInfoStruct&&0==PThread.thisThreadCancelState&&PThread.threadCancel():"setimmediate"!==a.data.target&&("processThreadQueue"===a.data.cmd?threadInfoStruct&&_emscripten_current_thread_process_queued_calls():(err("worker.min.js received unknown command "+a.data.cmd),console.error(a.data)))}catch(c){throw console.error("worker.min.js onmessage() captured an uncaught exception: "+c),console.error(c.stack),c;}};
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Webina</title> <title>Webina</title>
<link rel="shortcut icon" href="favicon.ico"><link href="vendors.7fcd84ab12f5b0584040.css" rel="stylesheet"><link href="styles.css.7fcd84ab12f5b0584040.css" rel="stylesheet"></head> <link rel="shortcut icon" href="favicon.ico"><link href="vendors.3c93c288707c624dc76d.css" rel="stylesheet"><link href="styles.3c93c288707c624dc76d.css" rel="stylesheet"></head>
<body> <body>
<div id="app"></div> <div id="app"></div>
...@@ -24,6 +24,6 @@ ...@@ -24,6 +24,6 @@
<script src="vue.min.js"></script> <script src="vue.min.js"></script>
<script src="vuex.min.js"></script> <script src="vuex.min.js"></script>
<script src="bootstrap-vue.min.js"></script> <script src="bootstrap-vue.min.js"></script>
<script type="text/javascript" src="runtime.7fcd84ab12f5b0584040.js"></script><script type="text/javascript" src="vendors.7fcd84ab12f5b0584040.js"></script><script type="text/javascript" src="app.7fcd84ab12f5b0584040.js"></script><script type="text/javascript" src="styles.css.7fcd84ab12f5b0584040.js"></script></body> <script type="text/javascript" src="runtime.3c93c288707c624dc76d.js"></script><script type="text/javascript" src="vendors.3c93c288707c624dc76d.js"></script><script type="text/javascript" src="app.3c93c288707c624dc76d.js"></script><script type="text/javascript" src="styles.3c93c288707c624dc76d.js"></script><script type="text/javascript" src="styles.css.3c93c288707c624dc76d.js"></script></body>
</html> </html>
This diff is collapsed.
<!DOCTYPE html>
<html lang="en">
<head>
<!--
Adapted from the demo file at
https://github.com/partridgejiang/Kekule.js/blob/master/demos/items/chemEditor/chemEditor.html
-->
<!--
Kekule.js is MIT licensed.
-->
<meta charset="UTF-8" />
<title>Webina Molecular Editor</title>
<script src="libs/raphael-min.2.0.1.js"></script>
<meta
name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"
/>
<script src="libs/kekule/kekule.js?modules=chemWidget,algorithm&locals=en,zh"></script>
<link rel="stylesheet" type="text/css" href="libs/kekule/kekule.css" />
<script>
var chemEditor;
var chemComposer;
function init() {
chemComposer = Kekule.Widget.getWidgetById("chemComposer");
chemComposer
.setEnableDimensionTransform(true)
.setAutoSetMinDimension(true)
.setAutoResizeConstraints({ width: 1, height: 1 })
.autoResizeToClient(); // force a resize to window client
}
Kekule.X.domReady(init);
function getSmiles() {
return Kekule.IO.saveFormatData(chemComposer.getChemObj(), 'smi');
}
</script>
<style>
html,
body {
margin: 0;
padding: 0;
overflow: hidden;
touch-action: none;
}
#chemComposer {
margin: 0;
}
button.K-Chem-SaveFile,
button.K-Action-Open-Configurator,
button.K-Chem-Toggle-Inspector,
button.K-Chem-ArrowLineIaController,
button.K-Chem-TextImageIaController,
span.K-Chem-Composer-Zoom-Toolbar {
display: none !important; /* You don't need save option */
}
.K-Chem-Composer .K-Chem-Editor {
overflow-x: hidden !important;
overflow-y: hidden !important;
}
div.K-Chem-Composer-Editor-Stage {
width: 99%;
height: 99%;
}
</style>
</head>
<body>
<div
id="chemComposer"
style="width: 800px; height: 600px;"
data-widget="Kekule.Editor.Composer"
></div>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/**
* A special JS file that need to be compressed into kekule.min.js or
* any other compressed files that load directly in HTML document (rather
* than using kekule.js loader).
*/
if (typeof(Kekule) !== 'undefined')
{
Kekule._loaded();
}
// export objects in webpack or other similiar environment at the tail of the js files
if (typeof (module) !== 'undefined')
{
try
{
module.exports = {
'Class': Class,
'ClassEx': ClassEx,
'ObjectEx': ObjectEx,
'DataType': DataType,
'Kekule': Kekule
};
//module.exports = Kekule;
}
catch (e)
{
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment