moorhen 0.18.1 → 0.18.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moorhen",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "private": false,
5
5
  "main": "moorhen.js",
6
6
  "types": "./types/main.d.ts",
@@ -1 +1 @@
1
- var cootModule,molecules_container,__assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var a,r=1,t=arguments.length;r<t;r++)for(var o in a=arguments[r])Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o]);return e},__assign.apply(this,arguments)},guid=function(){var e=Date.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(a){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===a?r:3&r|8).toString(16)}))},print=function(e){},printErr=function(e){console.error(e)},parseMonLibListCif=function(e){for(var a=cootModule.parse_mon_lib_list_cif(e),r=a.size(),t=[],o=0;o<r;o++){var s=a.get(o);t.push({three_letter_code:s.three_letter_code,name:s.name.replaceAll("'","").toLowerCase()})}return a.delete(),t},instancedMeshToMeshData=function(e,a,r,t){void 0===r&&(r=!1),void 0===t&&(t=1e4);for(var o=[],s=[],n=[],i=[],_=[],c=[],l=[],u=[],d=[],m=e.geom,p=e.markup,h=m.size(),g=0;g<h;g++){var f=r,y=[],v=[],b=[],S=[],M=[],z=[],T=[],A=m.get(g);"spherical-atoms"===A.name&&(f=!0);for(var x=A.vertices,F=A.triangles,k=F.size(),w=0;w<k;w++){var I=F.get(w).point_id;a?(y.push(I[0]),y.push(I[2]),y.push(I[1])):(y.push(I[0]),y.push(I[1]),y.push(I[2]))}F.delete();for(var J=x.size(),D=0;D<J;D++){var C=x.get(D),N=C.pos;v.push(N[0]),v.push(N[1]),v.push(N[2]);var R=C.normal;b.push(R[0]),b.push(R[1]),b.push(R[2])}x.delete();var P=A.instancing_data_A,E=P.size();if(E>0)for(var L=0;L<E;L++){var U=(V=P.get(L)).position;z.push(U[0]),z.push(U[1]),z.push(U[2]);var O=V.colour;M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var j=V.size;S.push(j[0]),S.push(j[1]),S.push(j[2]),T.push.apply(T,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}P.delete();var B=A.instancing_data_B,q=B.size();if(q>0)for(L=0;L<q;L++){var V;if(!((j=(V=B.get(L)).size)[2]>t)){S.push(j[0]),S.push(j[1]),S.push(j[2]);U=V.position;z.push(U[0]),z.push(U[1]),z.push(U[2]);O=V.colour;M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var H=V.orientation,K=[H[0][0],H[0][1],H[0][2]],W=[H[1][0],H[1][1],H[1][2]],G=[H[2][0],H[2][1],H[2][2]],X=Math.sqrt(K[0]*K[0]+K[1]*K[1]+K[2]*K[2]),Y=Math.sqrt(W[0]*W[0]+W[1]*W[1]+W[2]*W[2]),Z=Math.sqrt(G[0]*G[0]+G[1]*G[1]+G[2]*G[2]),Q=[K[0]/X,K[1]/X,K[2]/X],$=[W[0]/Y,W[1]/Y,W[2]/Y],ee=[G[0]/Z,G[1]/Z,G[2]/Z],ae=[Q[1]*$[2]-$[1]*Q[2],Q[2]*$[0]-$[2]*Q[0],Q[0]*$[1]-$[0]*Q[1]];ae[0]*ee[0]+ae[1]*ee[1]+ae[2]*ee[2]>0?(T.push(H[0][0]),T.push(H[0][1]),T.push(H[0][2]),T.push(H[0][3]),T.push(H[1][0]),T.push(H[1][1]),T.push(H[1][2]),T.push(H[1][3])):(T.push(H[1][0]),T.push(H[1][1]),T.push(H[1][2]),T.push(H[1][3]),T.push(H[0][0]),T.push(H[0][1]),T.push(H[0][2]),T.push(H[0][3])),T.push(H[2][0]),T.push(H[2][1]),T.push(H[2][2]),T.push(H[2][3]),T.push(H[3][0]),T.push(H[3][1]),T.push(H[3][2]),T.push(H[3][3])}}B.delete(),n.push(b),s.push(v),o.push(y),i.push(S),c.push(z),l.push(T),_.push(M),u.push(!0),f?d.push("PERFECT_SPHERES"):d.push("TRIANGLES")}m.delete();var re=simpleMeshToMeshData(p);return re.idx_tri.length>0&&re.idx_tri[0].length>0&&re.idx_tri[0][0].length>0?r?{prim_types:[d,re.prim_types[0]],idx_tri:[o,re.idx_tri[0]],vert_tri:[c,re.vert_tri[0]],norm_tri:[n,re.norm_tri[0]],col_tri:[_,re.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[c,null],instance_orientations:[l,null]}:{prim_types:[d,re.prim_types[0]],idx_tri:[o,re.idx_tri[0]],vert_tri:[s,re.vert_tri[0]],norm_tri:[n,re.norm_tri[0]],col_tri:[_,re.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[c,null],instance_orientations:[l,null]}:{prim_types:[d],idx_tri:[o],vert_tri:[s],norm_tri:[n],col_tri:[_],instance_use_colors:[u],instance_sizes:[i],instance_origins:[c],instance_orientations:[l]}},simpleMeshToMeshData=function(e,a,r){void 0===a&&(a=!1),void 0===r&&(r=!1);var t=!1,o=(performance.now(),e.vertices),s=e.triangles,n=o.size(),i=s.size(),_=new Uint32Array(3*i),c=new Float32Array(3*n),l=new Float32Array(3*n),u=new Float32Array(4*n);cootModule.getPositionsFromSimpleMesh2(e,c),cootModule.getColoursFromSimpleMesh2(e,u),a?(r?cootModule.getReversedNormalsFromSimpleMesh3(e,l):cootModule.getReversedNormalsFromSimpleMesh2(e,l),cootModule.getPermutedTriangleIndicesFromSimpleMesh2(e,_)):(cootModule.getNormalsFromSimpleMesh2(e,l),cootModule.getTriangleIndicesFromSimpleMesh2(e,_));performance.now();var d=c,m=u,p=l,h=_;return o.delete(),s.delete(),{prim_types:[["TRIANGLES"]],idx_tri:[[h]],vert_tri:[[d]],norm_tri:[[p]],col_tri:[[m]]}},SuperposeResultsToJSArray=function(e){for(var a=e.aligned_pairs,r=a.size(),t=[],o=0;o<r;o++){var s=a.get(o),n=s.first,i=n.residue_spec,_=s.second,c=_.residue_spec,l={reference:{chainId:i.chain_id,insCode:i.ins_code,seqNum:i.res_no,restype:"UNK",value:n.function_value,label:n.label},moving:{chainId:c.chain_id,insCode:c.ins_code,seqNum:c.res_no,restype:"UNK",value:_.function_value,label:_.label}};t.push(l)}return a.delete(),{referenceSequence:e.alignment.first,movingSequence:e.alignment.second,supperposeInfo:e.superpose_info,alignedPairsData:t}},colourRulesToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},stringArrayArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){for(var o=e.get(t),s=o.size(),n=[],i=0;i<s;i++){var _=o.get(i);n.push(_)}a.push(n),o.delete()}return e.delete(),a},floatArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},mapMoleculeCentreInfoToJSObject=function(e){var a=e.updated_centre,r={updated_centre:[a.x(),a.y(),a.z()],success:e.success,suggested_radius:e.suggested_radius,suggested_contour_level:e.suggested_contour_level};return a.delete(),r},textureAsFloatsToJSTextureAsFloats=function(e){var a=e.width*e.height,r=new Float32Array(a);performance.now();cootModule.getTextureArray(e,r);performance.now();return{width:e.width,height:e.height,x_size:e.x_size,y_size:e.y_size,z_position:e.z_position,image_data:r}},fitLigandInfoArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(__assign({},o))}return e.delete(),a},intArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},stringArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},export_map_as_gltf=function(e,a,r,t,o,s){var n="".concat(guid(),".glb");molecules_container.export_map_molecule_as_gltf(e,a,r,t,o,s,n);var i=cootModule.FS.readFile(n,{encoding:"binary"});return cootModule.FS_unlink(n),i.buffer},export_molecular_representation_as_gltf=function(e,a,r,t,o){var s="".concat(guid(),".glb");molecules_container.export_molecular_representation_as_gltf(e,a,r,t,o,s);var n=cootModule.FS.readFile(s,{encoding:"binary"});return cootModule.FS_unlink(s),n.buffer},export_molecule_as_gltf=function(e,a,r,t,o,s,n,i,_){var c="".concat(guid(),".glb");molecules_container.export_model_molecule_as_gltf(e,a,r,t,o,s,n,i,_,c);var l=cootModule.FS.readFile(c,{encoding:"binary"});return cootModule.FS_unlink(c),l.buffer},symmetryToJSData=function(e){for(var a=[],r=e.first,t=e.second,o=r.symm_trans,s=o.size(),n=0;n<s;n++){var i=o.get(n),_=i.first,c=i.second,l=t.get(n);a.push({x:_.x(),y:_.y(),z:_.z(),asString:_.symm_as_string,isym:_.isym(),us:c.us,ws:c.ws,vs:c.vs,matrix:l}),_.delete()}return o.delete(),t.delete(),a},mmrrccStatsToJSArray=function(e){var a=function(e){for(var a=[],r=e.keys(),t=r.size(),o=0;o<t;o++){var s=r.get(o),n=e.get(s);a.push({resNum:s.res_no,insCode:s.ins_code,modelNumber:s.model_number,chainId:s.chain_id,n:n.n,correlation:n.correlation()}),n.delete()}return r.delete(),a},r=e.first,t=e.second,o={"All atoms":a(r),"Side-chains":a(t)};return r.delete(),t.delete(),o},atomSpecToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({chain_id:o.chain_id,res_no:o.res_no,ins_code:o.ins_code,atom_name:o.atom_name,alt_conf:o.alt_conf,int_user_data:o.int_user_data,float_user_data:o.float_user_data,string_user_data:o.string_user_data,model_number:o.model_number})}return e.delete(),a},residueSpecToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({resNum:o.res_no,insCode:o.ins_code,modelNumber:o.model_number,chainId:o.chain_id,intUserData:o.int_user_data})}return e.delete(),a},stringPairVectorToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({first:o.first,second:o.second})}return e.delete(),a},validationDataToJSArray=function(e,a){void 0===a&&(a=null);for(var r=[],t=e.cviv,o=t.size(),s=0;s<o;s++){var n=t.get(s);if(null!==a&&n.chain_id!==a);else{for(var i=n.rviv,_=i.size(),c=0;c<_;c++){var l=i.get(c),u=l.residue_spec;r.push({chainId:u.chain_id,insCode:u.ins_code,seqNum:u.res_no,restype:"UNK",value:l.function_value})}i.delete()}}return t.delete(),e.delete(),r},linesBoxToJSArray=function(e){for(var a=[],r=e.line_segments,t=r.size(),o=0;o<t;o++){for(var s=[],n=r.get(o),i=n.size(),_=0;_<i;_++){var c=n.get(_),l=c.getStart(),u=c.getFinish(),d=c.amplitude(),m={x:l.x(),y:l.y(),z:l.z()},p={x:u.x(),y:u.y(),z:u.z()};s.push({start:m,end:p,dist:d}),l.delete(),u.delete(),c.delete()}n.delete(),a.push(s)}return r.delete(),a},vectorHBondToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({hb_hydrogen:o.hb_hydrogen,donor:o.donor,acceptor:o.acceptor,donor_neigh:o.donor_neigh,acceptor_neigh:o.acceptor_neigh,angle_1:o.angle_1,angle_2:o.angle_2,angle_3:o.angle_3,dist:o.dist,ligand_atom_is_donor:o.ligand_atom_is_donor,hydrogen_is_ligand_atom:o.hydrogen_is_ligand_atom,bond_has_hydrogen_flag:o.bond_has_hydrogen_flag})}return e.delete(),a},interestingPlaceDataToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s=o.residue_spec;a.push({intUserData:s.int_user_data,modelNumber:s.model_number,chainId:s.chain_id,insCode:s.ins_code,resNum:s.res_no,featureType:o.feature_type,featureValue:o.feature_value,buttonLabel:o.button_label,badness:o.badness,coordX:o.x,coordY:o.y,coordZ:o.z})}return e.delete(),a},histogramInfoToJSData=function(e){var a=e.counts;return{counts:intArrayToJSArray(a),bin_width:e.bin_width,base:e.base}},acedrgTypesForBondDataToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s={atom_id_1:o.atom_id_1,atom_id_2:o.atom_id_1,atom_type_1:o.atom_type_1,atom_type_2:o.atom_type_1,bond_length:o.bond_length};a.push(s)}return e.delete(),a},autoReadMtzInfoVectToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({idx:o.idx,F:o.F,phi:o.phi,w:o.w,weights_used:o.weights_used,Rfree:o.Rfree?o.Rfree.split("/")[3]:"",F_obs:o.F_obs?o.F_obs.split("/")[3]:"",sigF_obs:o.sigF_obs?o.sigF_obs.split("/")[3]:""})}if(e.delete(),a.some((function(e){return-1===e.idx}))){var s=a.find((function(e){return-1===e.idx}));s&&s.F_obs&&s.Rfree&&s.sigF_obs&&a.forEach((function(e){e.F_obs=s.F_obs,e.sigF_obs=s.sigF_obs,e.Rfree=s.Rfree})),a=a.filter((function(e){return-1!==e.idx}))}return a},ramachandranDataToJSArray=function(e,a){for(var r=[],t=e.size(),o=0;o<t;o++){var s=e.get(o),n=s.phi_psi;n.chain_id===a&&r.push({chainId:n.chain_id,insCode:n.ins_code,seqNum:n.residue_number,restype:s.residue_name(),isOutlier:!s.is_allowed_flag,phi:n.phi(),psi:n.psi(),is_pre_pro:"PRO"===s.residue_name()}),s.delete(),n.delete()}return e.delete(),r},vectorPairStringIntToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s={residue:o.first,slice:o.second};a.push(s)}return e.delete(),a},vectorPairClipperCoordFloatToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s=o.second,n=o.first,i={x:n.x(),y:n.y(),z:n.z()};n.delete(),a.push({value:s,coord:i})}return e.delete(),a},simpleMeshToLineMeshData=function(e,a){var r=!1,t=(performance.now(),e.vertices),o=e.triangles,s=o.size(),n=t.size(),i=new Uint32Array(6*s),_=new Float32Array(3*n),c=new Float32Array(3*n),l=new Float32Array(4*n);cootModule.getLineIndicesFromSimpleMesh2(e,i),cootModule.getPositionsFromSimpleMesh2(e,_),cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getColoursFromSimpleMesh2(e,l);performance.now();var u=i,d=_,m=c,p=l;return t.delete(),o.delete(),a?{prim_types:[["NORMALLINES"]],useIndices:[[!0]],idx_tri:[[u]],vert_tri:[[d]],additional_norm_tri:[[m]],norm_tri:[[m]],col_tri:[[p]]}:{prim_types:[["LINES"]],useIndices:[[!0]],idx_tri:[[u]],vert_tri:[[d]],norm_tri:[[m]],col_tri:[[p]]}},auto_read_mtz=function(e){var a=guid(),r=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(a,".mtz"),r,!0,!0);var t="./".concat(a,".mtz"),o=molecules_container.auto_read_mtz(t);return cootModule.FS_unlink(t),o},replace_map_by_mtz_from_file=function(e,a,r){var t=guid(),o="./".concat(t,".mtz"),s=new Uint8Array(a);cootModule.FS_createDataFile(".",o,s,!0,!0);var n=[e,o,r.F,r.PHI,"",!1],i=molecules_container.replace_map_by_mtz_from_file.apply(molecules_container,n);return cootModule.FS_unlink(o),i},generate_assembly=function(e,a,r){var t=cootModule.read_structure_from_string(e,r),o=cootModule.copy_to_assembly_to_new_structure(t,a),s=cootModule.get_mmcif_string_from_gemmi_struct(o);return molecules_container.read_coords_string(s,r)},new_positions_for_residue_atoms=function(e,a){var r=0,t=new cootModule.Vectormoved_residue_t;return a.forEach((function(e){if(e.length>0){var a=e[0],r=new cootModule.moved_residue_t(a.chain_id,parseInt(a.res_no),"");e.forEach((function(e){var a=new cootModule.moved_atom_t(e.name,e.alt_loc,e.x,e.y,e.z,-1);r.add_atom(a),a.delete()})),t.push_back(r),r.delete()}})),r+=molecules_container.new_positions_for_atoms_in_residues(e,t),t.delete(),r},read_mtz=function(e,a,r){var t=guid(),o=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(t,".mtz"),o,!0,!0);var s="./".concat(t,".mtz"),n=[s,r.F,r.PHI,"",!1,r.isDifference],i=molecules_container.read_mtz.apply(molecules_container,n);return cootModule.FS_unlink(s),i},associate_data_mtz_file_with_map=function(e,a,r,t,o){var s=new Uint8Array(a.data);cootModule.FS_createDataFile(".","".concat(a.fileName,".mtz"),s,!0,!0);var n="./".concat(a.fileName,".mtz"),i=[e,n,r,t,o];return molecules_container.associate_data_mtz_file_with_map.apply(molecules_container,i),n},read_ccp4_map=function(e,a,r){var t=guid(),o=new Uint8Array(e),s="";a.endsWith(".map.gz")?s="map.gz":a.endsWith(".mrc.gz")&&(s="mrc.gz"),cootModule.FS_createDataFile(".","".concat(t).concat(s),o,!0,!0);var n="./".concat(t).concat(s),i=[n,r],_=-1;try{_=molecules_container.read_ccp4_map.apply(molecules_container,i)}catch(e){console.warn(e)}finally{cootModule.FS_unlink(n)}return _},setUserDefinedBondColours=function(e,a,r){void 0===r&&(r=!1);var t=new cootModule.MapIntFloat4,o=new cootModule.VectorStringUInt_pair;a.forEach((function(e,a){t.set(a+51,e.rgba);var r={first:e.cid,second:a+51};o.push_back(r)})),molecules_container.set_user_defined_bond_colours(e,t),molecules_container.set_user_defined_atom_colour_by_selection(e,o,r),o.delete(),t.delete()},privateerValidationToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){for(var o=e.get(t),s=[],n=o.torsions,i=n.size(),_=0;_<i;_++)s.push(n.get(_));n.delete();var c={torsions:s,svg:o.svg.replace(/: *32/g,""),id:o.id.replace(/: *32/g,""),chain:o.chain,wurcs:o.wurcs,glyconnect_id:o.glyconnect_id,glytoucan_id:o.glytoucan_id,torsion_err:o.torsion_err,anomer_err:o.anomer_err,conformation_err:o.conformation_err,puckering_err:o.puckering_err,chirality_err:o.chirality_err};a.push(c)}return e.delete(),a},headerInfoAsJSObject=function(e){var a=e.author_lines,r=stringArrayToJSArray(a),t=e.compound_lines,o=stringArrayToJSArray(t),s=e.journal_lines,n=stringArrayToJSArray(s);return{title:e.title,author_lines:r,compound_lines:o,journal_lines:n}},doCootCommand=function(e){var a=e.returnType,r=e.command,t=e.commandArgs,o=e.messageId,s=e.myTimeStamp,n=e.message;try{var i=void 0;switch(r){case"shim_generate_assembly":i=generate_assembly.apply(void 0,t);break;case"shim_new_positions_for_residue_atoms":i=new_positions_for_residue_atoms.apply(void 0,t);break;case"shim_read_mtz":i=read_mtz.apply(void 0,t);break;case"shim_auto_read_mtz":i=auto_read_mtz.apply(void 0,t);break;case"shim_read_ccp4_map":i=read_ccp4_map.apply(void 0,t);break;case"shim_associate_data_mtz_file_with_map":i=associate_data_mtz_file_with_map.apply(void 0,t);break;case"shim_replace_map_by_mtz_from_file":i=replace_map_by_mtz_from_file.apply(void 0,t);break;case"shim_set_bond_colours":i=setUserDefinedBondColours.apply(void 0,t);break;case"shim_export_map_as_gltf":i=export_map_as_gltf.apply(void 0,t);break;case"shim_export_molecule_as_gltf":i=export_molecule_as_gltf.apply(void 0,t);break;case"shim_export_molecular_representation_as_gltf":i=export_molecular_representation_as_gltf.apply(void 0,t);break;case"parse_mon_lib_list_cif":i=parseMonLibListCif.apply(void 0,t);break;case"SmallMoleculeCifToMMCif":i=cootModule.SmallMoleculeCifToMMCif.apply(cootModule,t);break;default:i=molecules_container[r].apply(molecules_container,t)}var _=void 0;switch(a){case"header_info_t":_=headerInfoAsJSObject(i);break;case"texture_as_floats_t":_=textureAsFloatsToJSTextureAsFloats(i);break;case"fit_ligand_info_array":_=fitLigandInfoArrayToJSArray(i);break;case"string_array_array":_=stringArrayArrayToJSArray(i);break;case"instanced_mesh_perm":_=instancedMeshToMeshData(i,!0);break;case"histogram_info_t":_=histogramInfoToJSData(i);break;case"symmetry":_=symmetryToJSData(i);break;case"mmrrcc_stats":_=mmrrccStatsToJSArray(i);break;case"colour_rules":_=colourRulesToJSArray(i);break;case"instanced_mesh_perfect_spheres":_=instancedMeshToMeshData(i,!1,!0);break;case"instanced_mesh":_=instancedMeshToMeshData(i,!1,!1,5);break;case"mesh_perm3":_=simpleMeshToMeshData(i,!0,!0);break;case"mesh_perm":_=simpleMeshToMeshData(i,!0);break;case"mesh":_=simpleMeshToMeshData(i);break;case"lit_lines_mesh":_=simpleMeshToLineMeshData(i,!0);break;case"lines_mesh":_=simpleMeshToLineMeshData(i,!1);break;case"float_array":_=floatArrayToJSArray(i);break;case"int_array":_=intArrayToJSArray(i);break;case"auto_read_mtz_info_array":_=autoReadMtzInfoVectToJSArray(i);break;case"map_molecule_centre_info_t":_=mapMoleculeCentreInfoToJSObject(i);break;case"string_array":_=stringArrayToJSArray(i);break;case"residue_specs":_=residueSpecToJSArray(i);break;case"atom_specs":_=atomSpecToJSArray(i);break;case"ramachandran_data":_=ramachandranDataToJSArray(i,e.chainID);break;case"acedrg_types_for_bond_data":_=acedrgTypesForBondDataToJSArray(i.bond_types);break;case"validation_data":_=validationDataToJSArray(i,e.chainID);break;case"interesting_places_data":_=interestingPlaceDataToJSArray(i);break;case"superpose_results":_=SuperposeResultsToJSArray(i);break;case"generic_3d_lines_bonds_box":_=linesBoxToJSArray(i);break;case"vector_hbond":_=vectorHBondToJSArray(i);break;case"status_instanced_mesh_pair":_={status:i.first,mesh:instancedMeshToMeshData(i.second,!1,!1,5)};break;case"string_string_pair_vector":_=stringPairVectorToJSArray(i);break;case"void":_=null;break;case"vector_pair_clipper_coord_float":_=vectorPairClipperCoordFloatToJSArray(i);break;case"vector_pair_string_int":_=vectorPairStringIntToJSArray(i);break;case"privateer_results":_=privateerValidationToJSArray(i);break;default:_=i}try{i.delete()}catch(e){}return{messageId:o,messageSendTime:Date.now(),command:r,consoleMessage:"Completed ".concat(r," in ").concat(Date.now()-s," ms"),result:{status:"Completed",result:_}}}catch(e){return{messageId:o,myTimeStamp:s,message:n,consoleMessage:"EXCEPTION RAISED IN ".concat(r,", ").concat(e),result:{status:"Exception"}}}};onmessage=function(e){if("CootInitialize"===e.data.message){var a=void 0,r=void 0,t=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,4,1]));if(t)try{importScripts("./moorhen64.js"),a=createCoot64Module,r="moorhen64.js"}catch(e){console.error(e),t=!1}t||(importScripts("./moorhen.js"),a=createCootModule,r="moorhen.js"),a({onRuntimeInitialized:function(){},mainScriptUrlOrBlob:r,print,printErr}).then((function(a){postMessage({consoleMessage:"Initialized molecules_container",message:e.data.message,messageId:e.data.messageId}),cootModule=a;var r=e.data.data.cootData,t=!1,o="",s="data.tar";31==r[0]&&139==r[1]&&(t=!0,s="data.tar.gz",o="data_tmp/data.tar"),cootModule.FS.mkdir("data_tmp"),cootModule.FS_createDataFile("data_tmp",s,r,!0,!0);cootModule.unpackCootDataFile("data_tmp/"+s,t,o,"");cootModule.FS_unlink("data_tmp/"+s),(molecules_container=new cootModule.molecules_container_js(!1)).set_use_gemmi(!1),molecules_container.set_show_timings(!1),molecules_container.set_refinement_is_verbose(!1),molecules_container.fill_rotamer_probability_tables(),molecules_container.set_map_sampling_rate(1.7),molecules_container.set_map_is_contoured_with_thread_pool(!0),molecules_container.set_max_number_of_threads(3),cootModule.FS.mkdir("COOT_BACKUP")})).catch((function(e){}))}else if("close"===e.data.message)null==molecules_container||molecules_container.delete(),postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,consoleMessage:"Closed molecules container",message:e.data.message,result:{}});else if("get_mtz_data"===e.data.message){var o=cootModule.FS.readFile(e.data.fileName,{encoding:"binary"});postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,consoleMessage:"Fetched mtz data for map ".concat(e.data.molNo),message:e.data.message,result:{molNo:e.data.molNo,mtzData:o}})}else if("get_map"===e.data.message){var s=guid(),n="./".concat(s,".map");molecules_container.writeCCP4Map(e.data.molNo,n);var i=cootModule.FS.readFile(n,{encoding:"binary"});cootModule.FS_unlink(n),postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,consoleMessage:"Fetched map of map ".concat(e.data.molNo),message:e.data.message,result:{molNo:e.data.molNo,mapData:i.buffer}})}else if("delete_file_name"===e.data.message){var _=cootModule.FS_unlink(e.data.fileName);postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,messageTag:"result",result:_})}else if("coot_command_list"===e.data.message){var c=e.data.commandList.map((function(a){return doCootCommand(__assign(__assign({},e.data),a))}));postMessage({messageId:e.data.messageId,resultList:c})}if("coot_command"===e.data.message){_=doCootCommand(e.data);postMessage(_)}};
1
+ var cootModule,molecules_container,__assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var a,r=1,t=arguments.length;r<t;r++)for(var o in a=arguments[r])Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o]);return e},__assign.apply(this,arguments)},guid=function(){var e=Date.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(a){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===a?r:3&r|8).toString(16)}))},print=function(e){},printErr=function(e){console.error(e)},parseMonLibListCif=function(e){for(var a=cootModule.parse_mon_lib_list_cif(e),r=a.size(),t=[],o=0;o<r;o++){var s=a.get(o);t.push({three_letter_code:s.three_letter_code,name:s.name.replaceAll("'","").toLowerCase()})}return a.delete(),t},instancedMeshToMeshData=function(e,a,r,t){void 0===r&&(r=!1),void 0===t&&(t=1e4);for(var o=[],s=[],n=[],i=[],_=[],c=[],l=[],u=[],d=[],m=e.geom,p=e.markup,h=m.size(),g=0;g<h;g++){var f=r,y=[],v=[],b=[],S=[],M=[],z=[],T=[],A=m.get(g);"spherical-atoms"===A.name&&(f=!0);for(var x=A.vertices,F=A.triangles,k=F.size(),w=0;w<k;w++){var I=F.get(w).point_id;a?(y.push(I[0]),y.push(I[2]),y.push(I[1])):(y.push(I[0]),y.push(I[1]),y.push(I[2]))}F.delete();for(var J=x.size(),D=0;D<J;D++){var C=x.get(D),N=C.pos;v.push(N[0]),v.push(N[1]),v.push(N[2]);var R=C.normal;b.push(R[0]),b.push(R[1]),b.push(R[2])}x.delete();var P=A.instancing_data_A,L=P.size();if(L>0)for(var E=0;E<L;E++){var U=(q=P.get(E)).position;z.push(U[0]),z.push(U[1]),z.push(U[2]);var O=q.colour;M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var j=q.size;S.push(j[0]),S.push(j[1]),S.push(j[2]),T.push.apply(T,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}P.delete();var B=A.instancing_data_B,V=B.size();if(V>0)for(E=0;E<V;E++){var q;if(!((j=(q=B.get(E)).size)[2]>t)){S.push(j[0]),S.push(j[1]),S.push(j[2]);U=q.position;z.push(U[0]),z.push(U[1]),z.push(U[2]);O=q.colour;M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var H=q.orientation,K=[H[0][0],H[0][1],H[0][2]],W=[H[1][0],H[1][1],H[1][2]],G=[H[2][0],H[2][1],H[2][2]],X=Math.sqrt(K[0]*K[0]+K[1]*K[1]+K[2]*K[2]),Y=Math.sqrt(W[0]*W[0]+W[1]*W[1]+W[2]*W[2]),Z=Math.sqrt(G[0]*G[0]+G[1]*G[1]+G[2]*G[2]),Q=[K[0]/X,K[1]/X,K[2]/X],$=[W[0]/Y,W[1]/Y,W[2]/Y],ee=[G[0]/Z,G[1]/Z,G[2]/Z],ae=[Q[1]*$[2]-$[1]*Q[2],Q[2]*$[0]-$[2]*Q[0],Q[0]*$[1]-$[0]*Q[1]];ae[0]*ee[0]+ae[1]*ee[1]+ae[2]*ee[2]>0?(T.push(H[0][0]),T.push(H[0][1]),T.push(H[0][2]),T.push(H[0][3]),T.push(H[1][0]),T.push(H[1][1]),T.push(H[1][2]),T.push(H[1][3])):(T.push(H[1][0]),T.push(H[1][1]),T.push(H[1][2]),T.push(H[1][3]),T.push(H[0][0]),T.push(H[0][1]),T.push(H[0][2]),T.push(H[0][3])),T.push(H[2][0]),T.push(H[2][1]),T.push(H[2][2]),T.push(H[2][3]),T.push(H[3][0]),T.push(H[3][1]),T.push(H[3][2]),T.push(H[3][3])}}B.delete(),n.push(b),s.push(v),o.push(y),i.push(S),c.push(z),l.push(T),_.push(M),u.push(!0),f?d.push("PERFECT_SPHERES"):d.push("TRIANGLES")}m.delete();var re=simpleMeshToMeshData(p);return re.idx_tri.length>0&&re.idx_tri[0].length>0&&re.idx_tri[0][0].length>0?r?{prim_types:[d,re.prim_types[0]],idx_tri:[o,re.idx_tri[0]],vert_tri:[c,re.vert_tri[0]],norm_tri:[n,re.norm_tri[0]],col_tri:[_,re.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[c,null],instance_orientations:[l,null]}:{prim_types:[d,re.prim_types[0]],idx_tri:[o,re.idx_tri[0]],vert_tri:[s,re.vert_tri[0]],norm_tri:[n,re.norm_tri[0]],col_tri:[_,re.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[c,null],instance_orientations:[l,null]}:{prim_types:[d],idx_tri:[o],vert_tri:[s],norm_tri:[n],col_tri:[_],instance_use_colors:[u],instance_sizes:[i],instance_origins:[c],instance_orientations:[l]}},simpleMeshToMeshData=function(e,a,r){void 0===a&&(a=!1),void 0===r&&(r=!1);var t=!1,o=(performance.now(),e.vertices),s=e.triangles,n=o.size(),i=s.size(),_=new Uint32Array(3*i),c=new Float32Array(3*n),l=new Float32Array(3*n),u=new Float32Array(4*n);cootModule.getPositionsFromSimpleMesh2(e,c),cootModule.getColoursFromSimpleMesh2(e,u),a?(r?cootModule.getReversedNormalsFromSimpleMesh3(e,l):cootModule.getReversedNormalsFromSimpleMesh2(e,l),cootModule.getPermutedTriangleIndicesFromSimpleMesh2(e,_)):(cootModule.getNormalsFromSimpleMesh2(e,l),cootModule.getTriangleIndicesFromSimpleMesh2(e,_));performance.now();var d=c,m=u,p=l,h=_;return o.delete(),s.delete(),{prim_types:[["TRIANGLES"]],idx_tri:[[h]],vert_tri:[[d]],norm_tri:[[p]],col_tri:[[m]]}},SuperposeResultsToJSArray=function(e){for(var a=e.aligned_pairs,r=a.size(),t=[],o=0;o<r;o++){var s=a.get(o),n=s.first,i=n.residue_spec,_=s.second,c=_.residue_spec,l={reference:{chainId:i.chain_id,insCode:i.ins_code,seqNum:i.res_no,restype:"UNK",value:n.function_value,label:n.label},moving:{chainId:c.chain_id,insCode:c.ins_code,seqNum:c.res_no,restype:"UNK",value:_.function_value,label:_.label}};t.push(l)}return a.delete(),{referenceSequence:e.alignment.first,movingSequence:e.alignment.second,supperposeInfo:e.superpose_info,alignedPairsData:t}},colourRulesToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},stringArrayArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){for(var o=e.get(t),s=o.size(),n=[],i=0;i<s;i++){var _=o.get(i);n.push(_)}a.push(n),o.delete()}return e.delete(),a},floatArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},mapMoleculeCentreInfoToJSObject=function(e){var a=e.updated_centre,r={updated_centre:[a.x(),a.y(),a.z()],success:e.success,suggested_radius:e.suggested_radius,suggested_contour_level:e.suggested_contour_level};return a.delete(),r},textureAsFloatsToJSTextureAsFloats=function(e){var a=e.width*e.height,r=new Float32Array(a);performance.now();cootModule.getTextureArray(e,r);performance.now();return{width:e.width,height:e.height,x_size:e.x_size,y_size:e.y_size,z_position:e.z_position,image_data:r}},fitLigandInfoArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(__assign({},o))}return e.delete(),a},intArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},stringArrayToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push(o)}return e.delete(),a},export_map_as_gltf=function(e,a,r,t,o,s){var n="".concat(guid(),".glb");molecules_container.export_map_molecule_as_gltf(e,a,r,t,o,s,n);var i=cootModule.FS.readFile(n,{encoding:"binary"});return cootModule.FS_unlink(n),i.buffer},export_molecular_representation_as_gltf=function(e,a,r,t,o){var s="".concat(guid(),".glb");molecules_container.export_molecular_representation_as_gltf(e,a,r,t,o,s);var n=cootModule.FS.readFile(s,{encoding:"binary"});return cootModule.FS_unlink(s),n.buffer},export_molecule_as_gltf=function(e,a,r,t,o,s,n,i,_){var c="".concat(guid(),".glb");molecules_container.export_model_molecule_as_gltf(e,a,r,t,o,s,n,i,_,c);var l=cootModule.FS.readFile(c,{encoding:"binary"});return cootModule.FS_unlink(c),l.buffer},symmetryToJSData=function(e){for(var a=[],r=e.first,t=e.second,o=r.symm_trans,s=o.size(),n=0;n<s;n++){var i=o.get(n),_=i.first,c=i.second,l=t.get(n);a.push({x:_.x(),y:_.y(),z:_.z(),asString:_.symm_as_string,isym:_.isym(),us:c.us,ws:c.ws,vs:c.vs,matrix:l}),_.delete()}return o.delete(),t.delete(),a},mmrrccStatsToJSArray=function(e){var a=function(e){for(var a=[],r=e.keys(),t=r.size(),o=0;o<t;o++){var s=r.get(o),n=e.get(s);a.push({resNum:s.res_no,insCode:s.ins_code,modelNumber:s.model_number,chainId:s.chain_id,n:n.n,correlation:n.correlation()}),n.delete()}return r.delete(),a},r=e.first,t=e.second,o={"All atoms":a(r),"Side-chains":a(t)};return r.delete(),t.delete(),o},atomSpecToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({chain_id:o.chain_id,res_no:o.res_no,ins_code:o.ins_code,atom_name:o.atom_name,alt_conf:o.alt_conf,int_user_data:o.int_user_data,float_user_data:o.float_user_data,string_user_data:o.string_user_data,model_number:o.model_number})}return e.delete(),a},residueSpecToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({resNum:o.res_no,insCode:o.ins_code,modelNumber:o.model_number,chainId:o.chain_id,intUserData:o.int_user_data})}return e.delete(),a},stringPairVectorToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({first:o.first,second:o.second})}return e.delete(),a},validationDataToJSArray=function(e,a){void 0===a&&(a=null);for(var r=[],t=e.cviv,o=t.size(),s=0;s<o;s++){var n=t.get(s);if(null!==a&&n.chain_id!==a);else{for(var i=n.rviv,_=i.size(),c=0;c<_;c++){var l=i.get(c),u=l.residue_spec;r.push({chainId:u.chain_id,insCode:u.ins_code,seqNum:u.res_no,restype:"UNK",value:l.function_value})}i.delete()}}return t.delete(),e.delete(),r},linesBoxToJSArray=function(e){for(var a=[],r=e.line_segments,t=r.size(),o=0;o<t;o++){for(var s=[],n=r.get(o),i=n.size(),_=0;_<i;_++){var c=n.get(_),l=c.getStart(),u=c.getFinish(),d=c.amplitude(),m={x:l.x(),y:l.y(),z:l.z()},p={x:u.x(),y:u.y(),z:u.z()};s.push({start:m,end:p,dist:d}),l.delete(),u.delete(),c.delete()}n.delete(),a.push(s)}return r.delete(),a},vectorHBondToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({hb_hydrogen:o.hb_hydrogen,donor:o.donor,acceptor:o.acceptor,donor_neigh:o.donor_neigh,acceptor_neigh:o.acceptor_neigh,angle_1:o.angle_1,angle_2:o.angle_2,angle_3:o.angle_3,dist:o.dist,ligand_atom_is_donor:o.ligand_atom_is_donor,hydrogen_is_ligand_atom:o.hydrogen_is_ligand_atom,bond_has_hydrogen_flag:o.bond_has_hydrogen_flag})}return e.delete(),a},interestingPlaceDataToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s=o.residue_spec;a.push({intUserData:s.int_user_data,modelNumber:s.model_number,chainId:s.chain_id,insCode:s.ins_code,resNum:s.res_no,featureType:o.feature_type,featureValue:o.feature_value,buttonLabel:o.button_label,badness:o.badness,coordX:o.x,coordY:o.y,coordZ:o.z})}return e.delete(),a},histogramInfoToJSData=function(e){var a=e.counts;return{counts:intArrayToJSArray(a),bin_width:e.bin_width,base:e.base}},acedrgTypesForBondDataToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s={atom_id_1:o.atom_id_1,atom_id_2:o.atom_id_1,atom_type_1:o.atom_type_1,atom_type_2:o.atom_type_1,bond_length:o.bond_length};a.push(s)}return e.delete(),a},autoReadMtzInfoVectToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t);a.push({idx:o.idx,F:o.F,phi:o.phi,w:o.w,weights_used:o.weights_used,Rfree:o.Rfree?o.Rfree.split("/")[3]:"",F_obs:o.F_obs?o.F_obs.split("/")[3]:"",sigF_obs:o.sigF_obs?o.sigF_obs.split("/")[3]:""})}if(e.delete(),a.some((function(e){return-1===e.idx}))){var s=a.find((function(e){return-1===e.idx}));s&&s.F_obs&&s.Rfree&&s.sigF_obs&&a.forEach((function(e){e.F_obs=s.F_obs,e.sigF_obs=s.sigF_obs,e.Rfree=s.Rfree})),a=a.filter((function(e){return-1!==e.idx}))}return a},ramachandranDataToJSArray=function(e,a){for(var r=[],t=e.size(),o=0;o<t;o++){var s=e.get(o),n=s.phi_psi;n.chain_id===a&&r.push({chainId:n.chain_id,insCode:n.ins_code,seqNum:n.residue_number,restype:s.residue_name(),isOutlier:!s.is_allowed_flag,phi:n.phi(),psi:n.psi(),is_pre_pro:"PRO"===s.residue_name()}),s.delete(),n.delete()}return e.delete(),r},vectorPairStringIntToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s={residue:o.first,slice:o.second};a.push(s)}return e.delete(),a},vectorPairClipperCoordFloatToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){var o=e.get(t),s=o.second,n=o.first,i={x:n.x(),y:n.y(),z:n.z()};n.delete(),a.push({value:s,coord:i})}return e.delete(),a},simpleMeshToLineMeshData=function(e,a){var r=!1,t=(performance.now(),e.vertices),o=e.triangles,s=o.size(),n=t.size(),i=new Uint32Array(6*s),_=new Float32Array(3*n),c=new Float32Array(3*n),l=new Float32Array(4*n);cootModule.getLineIndicesFromSimpleMesh2(e,i),cootModule.getPositionsFromSimpleMesh2(e,_),cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getColoursFromSimpleMesh2(e,l);performance.now();var u=i,d=_,m=c,p=l;return t.delete(),o.delete(),a?{prim_types:[["NORMALLINES"]],useIndices:[[!0]],idx_tri:[[u]],vert_tri:[[d]],additional_norm_tri:[[m]],norm_tri:[[m]],col_tri:[[p]]}:{prim_types:[["LINES"]],useIndices:[[!0]],idx_tri:[[u]],vert_tri:[[d]],norm_tri:[[m]],col_tri:[[p]]}},auto_read_mtz=function(e){var a=guid(),r=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(a,".mtz"),r,!0,!0);var t="./".concat(a,".mtz"),o=molecules_container.auto_read_mtz(t);return cootModule.FS_unlink(t),o},replace_map_by_mtz_from_file=function(e,a,r){var t=guid(),o="./".concat(t,".mtz"),s=new Uint8Array(a);cootModule.FS_createDataFile(".",o,s,!0,!0);var n=[e,o,r.F,r.PHI,"",!1],i=molecules_container.replace_map_by_mtz_from_file.apply(molecules_container,n);return cootModule.FS_unlink(o),i},generate_assembly=function(e,a,r){var t=cootModule.read_structure_from_string(e,r),o=cootModule.copy_to_assembly_to_new_structure(t,a),s=cootModule.get_mmcif_string_from_gemmi_struct(o);return molecules_container.read_coords_string(s,r)},new_positions_for_residue_atoms=function(e,a){var r=0,t=new cootModule.Vectormoved_residue_t;return a.forEach((function(e){if(e.length>0){var a=e[0],r=new cootModule.moved_residue_t(a.chain_id,parseInt(a.res_no),"");e.forEach((function(e){var a=new cootModule.moved_atom_t(e.name,e.alt_loc,e.x,e.y,e.z,-1);r.add_atom(a),a.delete()})),t.push_back(r),r.delete()}})),r+=molecules_container.new_positions_for_atoms_in_residues(e,t),t.delete(),r},read_mtz=function(e,a,r){var t=guid(),o=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(t,".mtz"),o,!0,!0);var s="./".concat(t,".mtz"),n=[s,r.F,r.PHI,"",!1,r.isDifference],i=molecules_container.read_mtz.apply(molecules_container,n);return cootModule.FS_unlink(s),i},associate_data_mtz_file_with_map=function(e,a,r,t,o){var s=new Uint8Array(a.data);cootModule.FS_createDataFile(".","".concat(a.fileName,".mtz"),s,!0,!0);var n="./".concat(a.fileName,".mtz"),i=[e,n,r,t,o];return molecules_container.associate_data_mtz_file_with_map.apply(molecules_container,i),n},read_ccp4_map=function(e,a,r){var t=guid(),o=new Uint8Array(e),s="";a.endsWith(".map.gz")?s="map.gz":a.endsWith(".mrc.gz")&&(s="mrc.gz"),cootModule.FS_createDataFile(".","".concat(t).concat(s),o,!0,!0);var n="./".concat(t).concat(s),i=[n,r],_=-1;try{_=molecules_container.read_ccp4_map.apply(molecules_container,i)}catch(e){console.warn(e)}finally{cootModule.FS_unlink(n)}return _},setUserDefinedBondColours=function(e,a,r){void 0===r&&(r=!1);var t=new cootModule.MapIntFloat4,o=new cootModule.VectorStringUInt_pair;a.forEach((function(e,a){t.set(a+51,e.rgba);var r={first:e.cid,second:a+51};o.push_back(r)})),molecules_container.set_user_defined_bond_colours(e,t),molecules_container.set_user_defined_atom_colour_by_selection(e,o,r),o.delete(),t.delete()},privateerValidationToJSArray=function(e){for(var a=[],r=e.size(),t=0;t<r;t++){for(var o=e.get(t),s=[],n=o.torsions,i=n.size(),_=0;_<i;_++)s.push(n.get(_));n.delete();var c={torsions:s,svg:o.svg.replace(/: *32/g,""),id:o.id.replace(/: *32/g,""),chain:o.chain,wurcs:o.wurcs,glyconnect_id:o.glyconnect_id,glytoucan_id:o.glytoucan_id,torsion_err:o.torsion_err,anomer_err:o.anomer_err,conformation_err:o.conformation_err,puckering_err:o.puckering_err,chirality_err:o.chirality_err};a.push(c)}return e.delete(),a},headerInfoAsJSObject=function(e){var a=e.author_lines,r=stringArrayToJSArray(a),t=e.compound_lines,o=stringArrayToJSArray(t),s=e.journal_lines,n=stringArrayToJSArray(s);return{title:e.title,author_lines:r,compound_lines:o,journal_lines:n}},doCootCommand=function(e){var a=e.returnType,r=e.command,t=e.commandArgs,o=e.messageId,s=e.myTimeStamp,n=e.message;try{var i=void 0;switch(r){case"shim_generate_assembly":i=generate_assembly.apply(void 0,t);break;case"shim_new_positions_for_residue_atoms":i=new_positions_for_residue_atoms.apply(void 0,t);break;case"shim_read_mtz":i=read_mtz.apply(void 0,t);break;case"shim_auto_read_mtz":i=auto_read_mtz.apply(void 0,t);break;case"shim_read_ccp4_map":i=read_ccp4_map.apply(void 0,t);break;case"shim_associate_data_mtz_file_with_map":i=associate_data_mtz_file_with_map.apply(void 0,t);break;case"shim_replace_map_by_mtz_from_file":i=replace_map_by_mtz_from_file.apply(void 0,t);break;case"shim_set_bond_colours":i=setUserDefinedBondColours.apply(void 0,t);break;case"shim_export_map_as_gltf":i=export_map_as_gltf.apply(void 0,t);break;case"shim_export_molecule_as_gltf":i=export_molecule_as_gltf.apply(void 0,t);break;case"shim_export_molecular_representation_as_gltf":i=export_molecular_representation_as_gltf.apply(void 0,t);break;case"parse_mon_lib_list_cif":i=parseMonLibListCif.apply(void 0,t);break;case"SmallMoleculeCifToMMCif":i=cootModule.SmallMoleculeCifToMMCif.apply(cootModule,t);break;default:i=molecules_container[r].apply(molecules_container,t)}var _=void 0;switch(a){case"header_info_t":_=headerInfoAsJSObject(i);break;case"texture_as_floats_t":_=textureAsFloatsToJSTextureAsFloats(i);break;case"fit_ligand_info_array":_=fitLigandInfoArrayToJSArray(i);break;case"string_array_array":_=stringArrayArrayToJSArray(i);break;case"instanced_mesh_perm":_=instancedMeshToMeshData(i,!0);break;case"histogram_info_t":_=histogramInfoToJSData(i);break;case"symmetry":_=symmetryToJSData(i);break;case"mmrrcc_stats":_=mmrrccStatsToJSArray(i);break;case"colour_rules":_=colourRulesToJSArray(i);break;case"instanced_mesh_perfect_spheres":_=instancedMeshToMeshData(i,!1,!0);break;case"instanced_mesh":_=instancedMeshToMeshData(i,!1,!1,5);break;case"mesh_perm3":_=simpleMeshToMeshData(i,!0,!0);break;case"mesh_perm":_=simpleMeshToMeshData(i,!0);break;case"mesh":_=simpleMeshToMeshData(i);break;case"lit_lines_mesh":_=simpleMeshToLineMeshData(i,!0);break;case"lines_mesh":_=simpleMeshToLineMeshData(i,!1);break;case"float_array":_=floatArrayToJSArray(i);break;case"int_array":_=intArrayToJSArray(i);break;case"auto_read_mtz_info_array":_=autoReadMtzInfoVectToJSArray(i);break;case"map_molecule_centre_info_t":_=mapMoleculeCentreInfoToJSObject(i);break;case"string_array":_=stringArrayToJSArray(i);break;case"residue_specs":_=residueSpecToJSArray(i);break;case"atom_specs":_=atomSpecToJSArray(i);break;case"ramachandran_data":_=ramachandranDataToJSArray(i,e.chainID);break;case"acedrg_types_for_bond_data":_=acedrgTypesForBondDataToJSArray(i.bond_types);break;case"validation_data":_=validationDataToJSArray(i,e.chainID);break;case"interesting_places_data":_=interestingPlaceDataToJSArray(i);break;case"superpose_results":_=SuperposeResultsToJSArray(i);break;case"generic_3d_lines_bonds_box":_=linesBoxToJSArray(i);break;case"vector_hbond":_=vectorHBondToJSArray(i);break;case"status_instanced_mesh_pair":_={status:i.first,mesh:instancedMeshToMeshData(i.second,!1,!1,5)};break;case"string_string_pair_vector":_=stringPairVectorToJSArray(i);break;case"void":_=null;break;case"vector_pair_clipper_coord_float":_=vectorPairClipperCoordFloatToJSArray(i);break;case"vector_pair_string_int":_=vectorPairStringIntToJSArray(i);break;case"privateer_results":_=privateerValidationToJSArray(i);break;default:_=i}try{i.delete()}catch(e){}return{messageId:o,messageSendTime:Date.now(),command:r,consoleMessage:"Completed ".concat(r," in ").concat(Date.now()-s," ms"),result:{status:"Completed",result:_}}}catch(e){return{messageId:o,myTimeStamp:s,message:n,consoleMessage:"EXCEPTION RAISED IN ".concat(r,", ").concat(e),result:{status:"Exception"}}}};onmessage=function(e){if("CootInitialize"===e.data.message){var a=void 0,r=void 0,t=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,4,1])),o=-1!=navigator.appVersion.indexOf("Linux")&&-1!=navigator.appVersion.indexOf("Chrome");if(t&&!o)try{importScripts("./moorhen64.js"),a=createCoot64Module,r="moorhen64.js"}catch(e){console.error(e),t=!1}else importScripts("./moorhen.js"),a=createCootModule,r="moorhen.js";a({onRuntimeInitialized:function(){},mainScriptUrlOrBlob:r,print,printErr}).then((function(a){postMessage({consoleMessage:"Initialized molecules_container",message:e.data.message,messageId:e.data.messageId}),cootModule=a;var r=e.data.data.cootData,t=!1,o="",s="data.tar";31==r[0]&&139==r[1]&&(t=!0,s="data.tar.gz",o="data_tmp/data.tar"),cootModule.FS.mkdir("data_tmp"),cootModule.FS_createDataFile("data_tmp",s,r,!0,!0);cootModule.unpackCootDataFile("data_tmp/"+s,t,o,"");cootModule.FS_unlink("data_tmp/"+s),(molecules_container=new cootModule.molecules_container_js(!1)).set_use_gemmi(!1),molecules_container.set_show_timings(!1),molecules_container.set_refinement_is_verbose(!1),molecules_container.fill_rotamer_probability_tables(),molecules_container.set_map_sampling_rate(1.7),molecules_container.set_map_is_contoured_with_thread_pool(!0),molecules_container.set_max_number_of_threads(3),cootModule.FS.mkdir("COOT_BACKUP")})).catch((function(e){}))}else if("close"===e.data.message)null==molecules_container||molecules_container.delete(),postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,consoleMessage:"Closed molecules container",message:e.data.message,result:{}});else if("get_mtz_data"===e.data.message){var s=cootModule.FS.readFile(e.data.fileName,{encoding:"binary"});postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,consoleMessage:"Fetched mtz data for map ".concat(e.data.molNo),message:e.data.message,result:{molNo:e.data.molNo,mtzData:s}})}else if("get_map"===e.data.message){var n=guid(),i="./".concat(n,".map");molecules_container.writeCCP4Map(e.data.molNo,i);var _=cootModule.FS.readFile(i,{encoding:"binary"});cootModule.FS_unlink(i),postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,consoleMessage:"Fetched map of map ".concat(e.data.molNo),message:e.data.message,result:{molNo:e.data.molNo,mapData:_.buffer}})}else if("delete_file_name"===e.data.message){var c=cootModule.FS_unlink(e.data.fileName);postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,messageTag:"result",result:c})}else if("coot_command_list"===e.data.message){var l=e.data.commandList.map((function(a){return doCootCommand(__assign(__assign({},e.data),a))}));postMessage({messageId:e.data.messageId,resultList:l})}if("coot_command"===e.data.message){c=doCootCommand(e.data);postMessage(c)}};
@@ -1312,11 +1312,13 @@ const doCootCommand = (messageData: {
1312
1312
  }
1313
1313
 
1314
1314
  onmessage = function (e) {
1315
+
1315
1316
  if (e.data.message === 'CootInitialize') {
1316
1317
  let mod
1317
1318
  let scriptName
1318
1319
  let memory64 = WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 5, 3, 1, 4, 1]))
1319
- if (memory64) {
1320
+ const isChromeLinux = (navigator.appVersion.indexOf("Linux") != -1) && (navigator.appVersion.indexOf("Chrome") != -1)
1321
+ if (memory64&&!isChromeLinux) {
1320
1322
  try {
1321
1323
  importScripts('./moorhen64.js')
1322
1324
  mod = createCoot64Module
@@ -1327,8 +1329,7 @@ onmessage = function (e) {
1327
1329
  console.log("Failed to load 64-bit libcoot in worker thread. Falling back to 32-bit.")
1328
1330
  memory64 = false
1329
1331
  }
1330
- }
1331
- if (!memory64) {
1332
+ } else {
1332
1333
  importScripts('./moorhen.js')
1333
1334
  mod = createCootModule
1334
1335
  scriptName = "moorhen.js"
Binary file