{name:this.id,f:l});varn=!0,y=this.$store.state.vinaParams.score_only;!0===this.required&&!0!==y&&(this.invalidMsg="This field is required.",n=void0!==l);!0===n&&void0!==this.min&&this.min>l&&(this.invalidMsg="Value must be ≥ "+this.min.toString()+".",n=!1);!0===n&&void0!==this.max&&this.max<l&&(this.invalidMsg="Value must be ≤ "+this.max.toString()+".",n=!1);this.$store.commit("setValidationParam",{name:this.id,f:n})}},desc:function(){varl="";!0!==this.required&&void0===this["default"]&&
(l=" (Leave blank to use default value.)");returnthis.description+l},isValid:function(){returnthis.$store.state.validation[this.id]}},k={val:{get:function(){returnthis.$store.state.vinaParams[this.id]},set:function(l){this.$store.commit("setVinaParam",{name:this.id,f:l})}},desc:function(){returnthis.description+(!0!==this.required?" (Leave blank to use default value.)":"")}};r=m("/dHQ");g=m("vrqd");varc=m("d/n1"),d={useExampleOutputFiles:function(){for(varl=this,n=["receptor","output"],y=n.length,
{title:"Invalid Parameters!",body:"<p>Please correct the following parameter(s) before continuing: <code>"+n.join("")+"</code></p>"});returnl}},e=m("og8d"),h={B:function(){return""!==this.label&&void0!==this.label},labelCols:function(){return!0===this.B&&!0===this.labelToLeft?3:0},labelColsLg:function(){return!0===this.B&&!0===this.labelToLeft?2:0}},b=m("NL52"),a={items:function(){for(varl=this.$store.state.pdbOutputFrames,n=l.length,y=[],w=!1,x=0;x<n;x++){varC=l[x][0];void0!==C?y.push({mode:C[0],
"affinity (kcal/mol)":C[1],"dist from rmsd L.B.":C[2],"dist from rmsd U.B.":C[3]}):(w=!0,y.push({mode:"---","affinity (kcal/mol)":"---","dist from rmsd L.B.":"---","dist from rmsd U.B.":"---"}))}!0===w&&this.$store.commit("openModal",{title:"Output File Invalid!",body:"<p>The output PDBQT file does not appear to be properly formatted.</p>"});returny},fields:function(){return[{key:"mode"},{key:"affinity (kcal/mol)"},{key:"dist from rmsd L.B."},{key:"dist from rmsd U.B."}]}},p={rowClicked:function(l,
{name:w.currentType,f:!0});D=A.d(w.$store.state[w.currentType+"FileName"],"converted.pdbqt");w.$store.commit("updateFileName",{type:w.currentType,filename:D});""!==y&&w.$bvModal.msgBoxOk("To convert your file to PDBQT, Webina had to make the following modifications: "+y,{title:"Warning: File Too Big!"})}).catch(function(D){3>=n?w.beginConvert(l,n+1,y):(w.$refs["convert-modal"].hide(),w.$bvModal.msgBoxOk("Could not convert your file. Are you sure it is a properly formatted "+w.currentExt+" file? If so, it may be too large to convert in the browser.",
22)===w}).join("\n");y+=" (2) Keep only the first chain (chain "+w+")."}this.$store.commit("setVar",{name:"convertFile",f:n});returny},cancelPressed:function(){this.$store.commit("setVar",{name:this.currentType+"FileName",f:void0});this.$store.commit("setValidationParam",{name:this.currentType,f:!1});this.$store.commit("updateFileName",{type:this.currentType,filename:""})},reloadIFrame:function(){document.getElementById("convert-frame").src="./pdbqt_convert/index.html?startBlank"}},B={drawSmilesModalShow:{get:function(){returnthis.$store.state.drawSmilesModalShow},
{name:w.currentType,f:!0});G=A.d(w.$store.state[w.currentType+"FileName"],"converted.pdbqt");w.$store.commit("updateFileName",{type:w.currentType,filename:G});0!==y.length&&(G=y.map(function(M,N){return"("+(N+1).toString()+") "+M}).join(""),w.$bvModal.msgBoxOk("To convert your file to PDBQT, Webina had to make the following modifications: "+G,{title:"Warning: File Too Big!"}))}).catch(function(G){4>=n?w.beginConvert(l,n+1,y):(w.$refs["convert-modal"].hide(),w.$bvModal.msgBoxOk("Could not convert your file. Are you sure it is a properly formatted "+
w.currentExt+" file? If so, it may be too large to convert in the browser.",{title:"Error Converting File!"}),w.$store.commit("setVar",{name:w.currentType+"ForceValidate",f:!1}),w.$store.commit("updateFileName",{type:w.currentType,filename:""}),console.log("ERROR: "+G))});l.preventDefault()},U:function(l){varn=this.$store.state.convertFile,y="";switch(l){case1:-1!==n.indexOf("\nEND")&&(n=n.split("\nEND")[0],y="Keep only the first frame.");n=n.split("\n").filter(function(x){return"ATOM "===x.slice(0,
5)||"HETATM "===x.slice(0,7)}).join("\n");break;case2:n=A.c(n);y="Discard non-protein atoms.";break;case3:varw=n.slice(21,22);n=n.split("\n").filter(function(x){returnx.slice(21,22)===w}).join("\n");y="Keep only the first chain (chain "+w+").";break;case4:n=n.split("\n").filter(function(x){return"H"!==x.substr(12,4).replace(/ /g,"").substr(0,1)}).join("\n");y="Remove original hydrogen atoms.";break;case5:n=n.split("\n").map(function(x){returnx.substr(0,54)}).join("\n"),y="Remove original occupancy, beta, and element columns."}this.$store.commit("setVar",
props:{size:{type:String,"default":"lg"}}})})();(function(){Vue.component("convert-file-modal",{data:function(){return{addHydrogens:!0,gen3D:!1,phVal:7.4}},computed:v,methods:u,template:'\n <b-modal\n ref="convert-modal"\n @shown="reloadIFrame"\n ok-title="Convert" v-model="convertFileModalShow"\n id="convert-msg-modal" title="Convert File to PDBQT"\n @ok="beginConvert" @cancel="cancelPressed">\n <p class="my-4">\n Webina works with PDBQT files, not {{currentExt}} files. We suggest you:\n <span v-if="this[\'currentType\']===\'receptor\'">\n <ol>\n <li>Add hydrogen atoms using <a href="http://www.poissonboltzmann.org/" target="_blank">PDB2PQR</a></li>\n <li>Convert the resulting PQR file to PDB using <a href="http://openbabel.org/wiki/Main_Page" target="_blank">Open Babel</a></li>\n <li>Convert the PDB file to PDBQT using <a target=\'_blank\' href=\'http://mgltools.scripps.edu/\'>MGLTools</a></li>\n </ol>\n </span>\n <span v-else-if="this[\'currentType\']===\'ligand\'">\n <ol>\n <li>Add hydrogen atoms to your ligand files (SMILES or SDF format) using <a target=\'_blank\' href=\'https://git.durrantlab.pitt.edu/jdurrant/gypsum_dl\'>Gypsum-DL</a></li>\n <li>Convert the resulting PDB or SDF file(s) to PDBQT using <a target=\'_blank\' href=\'http://mgltools.scripps.edu/\'>MGLTools</a></li>\n </ol>\n </span>\n </p>\n\n <p>Or click "Convert" below to convert with the PDBQTConvert app, which should be good enough for most purposes.</p>\n\n <b-form-checkbox\n id="babel-add-hydrogens"\n v-model="addHydrogens"\n name="babel-add-hydrogens"\n :value="true"\n :unchecked-value="false"\n >\n Add hydrogen atoms at pH\n <b-form-input\n id="ph-val"\n v-model="phVal"\n type="text"\n placeholder="7.4"\n class="form-control-sm"\n @click.stop.prevent\n style="width: 45px; height: 23px; text-align: center; margin-left: 2px; display: inline-block;"\n ></b-form-input>\n </b-form-checkbox>\n\n <b-form-checkbox\n v-if="(this[\'currentType\']===\'ligand\') && (!gen3DRequired)"\n id="babel-gen-3d"\n v-model="gen3D"\n name="babel-gen-3d"\n :value="true"\n :unchecked-value="false"\n >\n Generate 3D coordinates.\n </b-form-checkbox>\n\n <iframe id="convert-frame" style="border: 0; width: 100%; height: 65px;"></iframe>\n\n <small class="form-text text-muted">\n PDBQTConvert is an optional GPL-licensed helper app\n built on <a\n href="https://github.com/partridgejiang/cheminfo-to-web/tree/master/OpenBabel/OpenBabel-js" target="_blank">\n OpenBabel JS</a>. It communicates with Webina at "arms\n length" via an iframe.\n </small>\n </b-modal>',
props:{label:String,id:String}})})();r.a();(function(){Vue.component("results-table",{data:function(){return{}},computed:a,template:'\n <b-table\n striped hover small\n :items="items"\n :fields="fields"\n @row-clicked="rowClicked">\n </b-table>\n',props:{},methods:p})})();g.a();(function(){Vue.component("vina-running",{template:'\n <div class="text-center">\n <b-spinner style="width: 4rem; height: 4rem;" label="Working"></b-spinner>\n <br /><br />\n <p>Running Webina in your browser. Docking may take some minutes.</p>\n <p>This page may become unresponsive while performing calculations.\n Need to stop Webina but can\'t close this tab? Use your browser or\n operating-system Task Manager.</p>\n </div>\n',
props:{},computed:{},data:function(){return{msg:"",aa:0}},methods:{}})})();c.a();e.a();(function(){Vue.component("vina-existing-output",{template:'\n <b-form>\n <b-card\n class="mb-2 text-center"\n style="margin-bottom:1.4rem !important;"\n >\n <b-card-text>\n Use this tab if you\'ve already run Webina or Vina and\n have an existing docked-ligand PDBQT output file.\n </b-card-text>\n </b-card>\n\n <sub-section title="Existing Output Files">\n <file-input\n label="Receptor"\n id="receptor"\n description="The rigid part of the receptor (PDBQT or PDB)."\n accept=".pdbqt, .pdb"\n ></file-input>\n\n <file-input\n label="Docked Output"\n id="output"\n description="The Webina/Vina output file (PDBQT, OUT, VINA, or TXT) containing docked ligand poses."\n accept=".pdbqt, .out, .vina, .txt"\n ></file-input>\n\n <file-input\n label="Correct Pose"\n id="crystal"\n :required="false"\n description="The correct ligand pose, if known from experiment. This PDBQT or PDB file is optional."\n accept=".pdbqt, .pdb"\n ></file-input>\n </sub-section>\n\n <form-button cls="float-right mb-4" @click.native="onSubmitClick" variant="primary">Load Files</form-button>\n <form-button @click.native="useExampleOutputFiles" cls="float-right mr-2">Use Example Files</form-button>\n </b-form>\n',
props:{},computed:{},data:function(){return{}},methods:d})})();(function(){newVue({el:"#app",store:z.a,template:'\n <div class="container-fluid">\n <open-modal></open-modal>\n <convert-file-modal></convert-file-modal>\n <draw-smiles-modal></draw-smiles-modal>\n <div id="no-mobile">\n <b-jumbotron class="jumbo" header="Webina 1.0.1" lead="AutoDock Vina Ported to WebAssembly">\n <p>Webina 1.0.1 is not designed to work on mobile phones. Please use a device with a larger screen.</p>\n </b-jumbotron>\n </div>\n\n <b-jumbotron class="jumbo" style="background-image:url('+
props:{},computed:{},data:function(){return{}},methods:d})})();(function(){newVue({el:"#app",store:z.a,template:'\n <div class="container-fluid">\n <open-modal></open-modal>\n <convert-file-modal></convert-file-modal>\n <draw-smiles-modal></draw-smiles-modal>\n <div id="no-mobile">\n <b-jumbotron class="jumbo" header="Webina 1.0.2" lead="AutoDock Vina Ported to WebAssembly">\n <p>Webina 1.0.2 is not designed to work on mobile phones. Please use a device with a larger screen.</p>\n </b-jumbotron>\n </div>\n\n <b-jumbotron class="jumbo" style="background-image:url('+