moorhen 0.8.5 → 0.9.0

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.
@@ -1 +1 @@
1
- var cootModule,molecules_container,ccp4Module,__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)};importScripts("./wasm/moorhen.js"),importScripts("./wasm/web_example.js");var 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){console.log(e),postMessage({consoleMessage:JSON.stringify(e)})},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,g=m.size(),h=0;h<g;h++){var f=r,v=[],y=[],S=[],b=[],M=[],z=[],T=[],x=m.get(h);"spherical-atoms"===x.name&&(f=!0);for(var A=x.vertices,F=x.triangles,w=F.size(),k=0;k<w;k++){var I=F.get(k).point_id;a?(v.push(I[0]),v.push(I[2]),v.push(I[1])):(v.push(I[0]),v.push(I[1]),v.push(I[2]))}F.delete();for(var J=A.size(),D=0;D<J;D++){var C=A.get(D),N=C.pos;y.push(N[0]),y.push(N[1]),y.push(N[2]);var R=C.normal;S.push(R[0]),S.push(R[1]),S.push(R[2])}A.delete();var P=x.instancing_data_A,E=P.size();if(E>0)for(var U=0;U<E;U++){var L=(q=P.get(U)).position;z.push(L[0]),z.push(L[1]),z.push(L[2]);var O=q.colour;M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var B=q.size;b.push(B[0]),b.push(B[1]),b.push(B[2]),T.push.apply(T,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}P.delete();var j=x.instancing_data_B,V=j.size();if(V>0)for(U=0;U<V;U++){var q;if(!((B=(q=j.get(U)).size)[2]>t)){b.push(B[0]),b.push(B[1]),b.push(B[2]),L=q.position,z.push(L[0]),z.push(L[1]),z.push(L[2]),O=q.colour,M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var H=q.orientation;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[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])}}j.delete(),n.push(S),s.push(y),o.push(v),i.push(b),_.push(z),l.push(T),c.push(M),u.push(!0),f?d.push("PERFECT_SPHERES"):d.push("TRIANGLES")}m.delete();var K=simpleMeshToMeshData(p);return K.idx_tri.length>0&&K.idx_tri[0].length>0&&K.idx_tri[0][0].length>0?r?{prim_types:[d,K.prim_types[0]],idx_tri:[o,K.idx_tri[0]],vert_tri:[_,K.vert_tri[0]],norm_tri:[n,K.norm_tri[0]],col_tri:[c,K.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[_,null],instance_orientations:[l,null]}:{prim_types:[d,K.prim_types[0]],idx_tri:[o,K.idx_tri[0]],vert_tri:[s,K.vert_tri[0]],norm_tri:[n,K.norm_tri[0]],col_tri:[c,K.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[_,null],instance_orientations:[l,null]}:{prim_types:[d],idx_tri:[o],vert_tri:[s],norm_tri:[n],col_tri:[c],instance_use_colors:[u],instance_sizes:[i],instance_origins:[_],instance_orientations:[l]}},simpleMeshToMeshData=function(e,a){void 0===a&&(a=!1),performance.now();var r=e.vertices,t=e.triangles,o=r.size(),s=t.size(),n=new Uint32Array(3*s),i=new Float32Array(3*o),c=new Float32Array(3*o),_=new Float32Array(4*o);cootModule.getPositionsFromSimpleMesh2(e,i),cootModule.getColoursFromSimpleMesh2(e,_),a?(cootModule.getReversedNormalsFromSimpleMesh2(e,c),cootModule.getPermutedTriangleIndicesFromSimpleMesh2(e,n)):(cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getTriangleIndicesFromSimpleMesh2(e,n)),performance.now();var l=i,u=_,d=c,m=n;return r.delete(),t.delete(),{prim_types:[["TRIANGLES"]],idx_tri:[[m]],vert_tri:[[l]],norm_tri:[[d]],col_tri:[[u]]}},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,c=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:_.chain_id,insCode:_.ins_code,seqNum:_.res_no,restype:"UNK",value:c.function_value,label:c.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 c=o.get(i);n.push(c)}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=[],r=e.image_data.size();console.log(r);for(var t=0;t<r;t++){var o=e.image_data.get(t);a.push(o)}return e.image_data.delete(),{width:e.width,height:e.height,x_size:e.x_size,y_size:e.y_size,z_position:e.z_position,image_data:a}},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_molecule_as_gltf=function(e,a,r,t,o,s,n,i,c){var _="".concat(guid(),".glb");molecules_container.export_model_molecule_as_gltf(e,a,r,t,o,s,n,i,c,_);var l=cootModule.FS.readFile(_,{encoding:"binary"});return cootModule.FS_unlink(_),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),c=i.first,_=i.second,l=t.get(n);a.push({x:c.x(),y:c.y(),z:c.z(),asString:c.symm_as_string,isym:c.isym(),us:_.us,ws:_.ws,vs:_.vs,matrix:l}),c.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,c=i.size(),_=0;_<c;_++){var l=i.get(_),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(),c=0;c<i;c++){var _=n.get(c),l=_.getStart(),u=_.getFinish(),d=_.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(),_.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}},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){performance.now();var r=e.vertices,t=e.triangles,o=t.size(),s=r.size(),n=new Uint32Array(6*o),i=new Float32Array(3*s),c=new Float32Array(3*s),_=new Float32Array(4*s);cootModule.getLineIndicesFromSimpleMesh2(e,n),cootModule.getPositionsFromSimpleMesh2(e,i),cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getColoursFromSimpleMesh2(e,_),performance.now();var l=n,u=i,d=c,m=_;return r.delete(),t.delete(),a?{prim_types:[["NORMALLINES"]],useIndices:[[!0]],idx_tri:[[l]],vert_tri:[[u]],additional_norm_tri:[[d]],norm_tri:[[d]],col_tri:[[m]]}:{prim_types:[["LINES"]],useIndices:[[!0]],idx_tri:[[l]],vert_tri:[[u]],norm_tri:[[d]],col_tri:[[m]]}},auto_open_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},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],c=-1;try{c=molecules_container.read_ccp4_map.apply(molecules_container,i)}catch(e){console.warn(e)}finally{cootModule.FS_unlink(n)}return c},setUserDefinedBondColours=function(e,a,r){void 0===r&&(r=!1);var t=new cootModule.MapIntFloat3,o=new cootModule.VectorStringUInt_pair;a.forEach((function(e,a){t.set(a+51,e.rgb);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(),c=0;c<i;c++)s.push(n.get(c));n.delete();var _={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(_)}return e.delete(),a},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_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_open_mtz":i=auto_open_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;default:i=molecules_container[r].apply(molecules_container,t)}var c=void 0;switch(a){case"texture_as_floats_t":c=textureAsFloatsToJSTextureAsFloats(i);break;case"fit_ligand_info_array":c=fitLigandInfoArrayToJSArray(i);break;case"string_array_array":c=stringArrayArrayToJSArray(i);break;case"instanced_mesh_perm":c=instancedMeshToMeshData(i,!0);break;case"histogram_info_t":c=histogramInfoToJSData(i);break;case"symmetry":c=symmetryToJSData(i);break;case"mmrrcc_stats":c=mmrrccStatsToJSArray(i);break;case"colour_rules":c=colourRulesToJSArray(i);break;case"instanced_mesh_perfect_spheres":c=instancedMeshToMeshData(i,!1,!0);break;case"instanced_mesh":c=instancedMeshToMeshData(i,!1,!1,5);break;case"mesh_perm":c=simpleMeshToMeshData(i,!0);break;case"mesh":c=simpleMeshToMeshData(i);break;case"lit_lines_mesh":c=simpleMeshToLineMeshData(i,!0);break;case"lines_mesh":c=simpleMeshToLineMeshData(i,!1);break;case"float_array":c=floatArrayToJSArray(i);break;case"int_array":c=intArrayToJSArray(i);break;case"auto_read_mtz_info_array":c=autoReadMtzInfoVectToJSArray(i);break;case"map_molecule_centre_info_t":c=mapMoleculeCentreInfoToJSObject(i);break;case"string_array":c=stringArrayToJSArray(i);break;case"residue_specs":c=residueSpecToJSArray(i);break;case"atom_specs":c=atomSpecToJSArray(i);break;case"ramachandran_data":c=ramachandranDataToJSArray(i,e.chainID);break;case"validation_data":c=validationDataToJSArray(i,e.chainID);break;case"interesting_places_data":c=interestingPlaceDataToJSArray(i);break;case"superpose_results":c=SuperposeResultsToJSArray(i);break;case"generic_3d_lines_bonds_box":c=linesBoxToJSArray(i);break;case"vector_hbond":c=vectorHBondToJSArray(i);break;case"status_instanced_mesh_pair":c={status:i.first,mesh:instancedMeshToMeshData(i.second,!1,!1,5)};break;case"string_string_pair_vector":c=stringPairVectorToJSArray(i);break;case"void":c=null;break;case"vector_pair_clipper_coord_float":c=vectorPairClipperCoordFloatToJSArray(i);break;case"vector_pair_string_int":c=vectorPairStringIntToJSArray(i);break;case"privateer_results":c=privateerValidationToJSArray(i);break;default:c=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:c}}}catch(e){return console.log(e),{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)createRSRModule({locateFile:function(e){return"./wasm/".concat(e)},onRuntimeInitialized:function(){},mainScriptUrlOrBlob:"moorhen.js",print,printErr:print}).then((function(a){postMessage({consoleMessage:"Initialized molecules_container",message:e.data.message,messageId:e.data.messageId}),(molecules_container=new(cootModule=a).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){console.log(e),print(e)})),createCCP4Module({locateFile:function(e){return"./wasm/".concat(e)},onRuntimeInitialized:function(){},mainScriptUrlOrBlob:"web_example.js",print,printErr:print}).then((function(e){ccp4Module=e})).catch((function(e){console.log(e),print(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 a=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:a}})}else if("get_map"===e.data.message){var r=guid(),t="./".concat(r,".map");molecules_container.writeCCP4Map(e.data.molNo,t);var o=cootModule.FS.readFile(t,{encoding:"binary"});cootModule.FS_unlink(t),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:o.buffer}})}else if("delete_file_name"===e.data.message){var s=cootModule.FS_unlink(e.data.fileName);postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,messageTag:"result",result:s})}else if("coot_command_list"===e.data.message){var n=e.data.commandList.map((function(a){return doCootCommand(__assign(__assign({},e.data),a))}));postMessage({messageId:e.data.messageId,resultList:n})}"coot_command"===e.data.message&&(s=doCootCommand(e.data),postMessage(s))};
1
+ var cootModule,molecules_container,ccp4Module,__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)};importScripts("./moorhen.js"),importScripts("./web_example.js");var 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){console.log(e),postMessage({consoleMessage:JSON.stringify(e)})},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,g=m.size(),h=0;h<g;h++){var f=r,v=[],y=[],S=[],b=[],M=[],z=[],x=[],T=m.get(h);"spherical-atoms"===T.name&&(f=!0);for(var A=T.vertices,F=T.triangles,w=F.size(),k=0;k<w;k++){var I=F.get(k).point_id;a?(v.push(I[0]),v.push(I[2]),v.push(I[1])):(v.push(I[0]),v.push(I[1]),v.push(I[2]))}F.delete();for(var J=A.size(),D=0;D<J;D++){var C=A.get(D),N=C.pos;y.push(N[0]),y.push(N[1]),y.push(N[2]);var R=C.normal;S.push(R[0]),S.push(R[1]),S.push(R[2])}A.delete();var P=T.instancing_data_A,E=P.size();if(E>0)for(var U=0;U<E;U++){var L=(q=P.get(U)).position;z.push(L[0]),z.push(L[1]),z.push(L[2]);var O=q.colour;M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var B=q.size;b.push(B[0]),b.push(B[1]),b.push(B[2]),x.push.apply(x,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}P.delete();var j=T.instancing_data_B,V=j.size();if(V>0)for(U=0;U<V;U++){var q;if(!((B=(q=j.get(U)).size)[2]>t)){b.push(B[0]),b.push(B[1]),b.push(B[2]),L=q.position,z.push(L[0]),z.push(L[1]),z.push(L[2]),O=q.colour,M.push(O[0]),M.push(O[1]),M.push(O[2]),M.push(O[3]);var H=q.orientation;x.push(H[0][0]),x.push(H[0][1]),x.push(H[0][2]),x.push(H[0][3]),x.push(H[1][0]),x.push(H[1][1]),x.push(H[1][2]),x.push(H[1][3]),x.push(H[2][0]),x.push(H[2][1]),x.push(H[2][2]),x.push(H[2][3]),x.push(H[3][0]),x.push(H[3][1]),x.push(H[3][2]),x.push(H[3][3])}}j.delete(),n.push(S),s.push(y),o.push(v),i.push(b),_.push(z),l.push(x),c.push(M),u.push(!0),f?d.push("PERFECT_SPHERES"):d.push("TRIANGLES")}m.delete();var K=simpleMeshToMeshData(p);return K.idx_tri.length>0&&K.idx_tri[0].length>0&&K.idx_tri[0][0].length>0?r?{prim_types:[d,K.prim_types[0]],idx_tri:[o,K.idx_tri[0]],vert_tri:[_,K.vert_tri[0]],norm_tri:[n,K.norm_tri[0]],col_tri:[c,K.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[_,null],instance_orientations:[l,null]}:{prim_types:[d,K.prim_types[0]],idx_tri:[o,K.idx_tri[0]],vert_tri:[s,K.vert_tri[0]],norm_tri:[n,K.norm_tri[0]],col_tri:[c,K.col_tri[0]],instance_use_colors:[u,null],instance_sizes:[i,null],instance_origins:[_,null],instance_orientations:[l,null]}:{prim_types:[d],idx_tri:[o],vert_tri:[s],norm_tri:[n],col_tri:[c],instance_use_colors:[u],instance_sizes:[i],instance_origins:[_],instance_orientations:[l]}},simpleMeshToMeshData=function(e,a){void 0===a&&(a=!1),performance.now();var r=e.vertices,t=e.triangles,o=r.size(),s=t.size(),n=new Uint32Array(3*s),i=new Float32Array(3*o),c=new Float32Array(3*o),_=new Float32Array(4*o);cootModule.getPositionsFromSimpleMesh2(e,i),cootModule.getColoursFromSimpleMesh2(e,_),a?(cootModule.getReversedNormalsFromSimpleMesh2(e,c),cootModule.getPermutedTriangleIndicesFromSimpleMesh2(e,n)):(cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getTriangleIndicesFromSimpleMesh2(e,n)),performance.now();var l=i,u=_,d=c,m=n;return r.delete(),t.delete(),{prim_types:[["TRIANGLES"]],idx_tri:[[m]],vert_tri:[[l]],norm_tri:[[d]],col_tri:[[u]]}},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,c=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:_.chain_id,insCode:_.ins_code,seqNum:_.res_no,restype:"UNK",value:c.function_value,label:c.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 c=o.get(i);n.push(c)}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),t=performance.now();cootModule.getTextureArray(e,r);var o=performance.now();return console.log("Time to convert texture array to JS",o-t),{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_represenation_as_gltf=function(e,a,r,t){var o="".concat(guid(),".glb");molecules_container.export_molecular_represenation_as_gltf(e,a,r,t,o);var s=cootModule.FS.readFile(o,{encoding:"binary"});return cootModule.FS_unlink(o),s.buffer},export_molecule_as_gltf=function(e,a,r,t,o,s,n,i,c){var _="".concat(guid(),".glb");molecules_container.export_model_molecule_as_gltf(e,a,r,t,o,s,n,i,c,_);var l=cootModule.FS.readFile(_,{encoding:"binary"});return cootModule.FS_unlink(_),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),c=i.first,_=i.second,l=t.get(n);a.push({x:c.x(),y:c.y(),z:c.z(),asString:c.symm_as_string,isym:c.isym(),us:_.us,ws:_.ws,vs:_.vs,matrix:l}),c.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,c=i.size(),_=0;_<c;_++){var l=i.get(_),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(),c=0;c<i;c++){var _=n.get(c),l=_.getStart(),u=_.getFinish(),d=_.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(),_.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}},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){performance.now();var r=e.vertices,t=e.triangles,o=t.size(),s=r.size(),n=new Uint32Array(6*o),i=new Float32Array(3*s),c=new Float32Array(3*s),_=new Float32Array(4*s);cootModule.getLineIndicesFromSimpleMesh2(e,n),cootModule.getPositionsFromSimpleMesh2(e,i),cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getColoursFromSimpleMesh2(e,_),performance.now();var l=n,u=i,d=c,m=_;return r.delete(),t.delete(),a?{prim_types:[["NORMALLINES"]],useIndices:[[!0]],idx_tri:[[l]],vert_tri:[[u]],additional_norm_tri:[[d]],norm_tri:[[d]],col_tri:[[m]]}:{prim_types:[["LINES"]],useIndices:[[!0]],idx_tri:[[l]],vert_tri:[[u]],norm_tri:[[d]],col_tri:[[m]]}},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},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],c=-1;try{c=molecules_container.read_ccp4_map.apply(molecules_container,i)}catch(e){console.warn(e)}finally{cootModule.FS_unlink(n)}return c},setUserDefinedBondColours=function(e,a,r){void 0===r&&(r=!1);var t=new cootModule.MapIntFloat3,o=new cootModule.VectorStringUInt_pair;a.forEach((function(e,a){t.set(a+51,e.rgb);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(),c=0;c<i;c++)s.push(n.get(c));n.delete();var _={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(_)}return e.delete(),a},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_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_represenation_as_gltf":i=export_molecular_represenation_as_gltf.apply(void 0,t);break;default:i=molecules_container[r].apply(molecules_container,t)}var c=void 0;switch(a){case"texture_as_floats_t":c=textureAsFloatsToJSTextureAsFloats(i);break;case"fit_ligand_info_array":c=fitLigandInfoArrayToJSArray(i);break;case"string_array_array":c=stringArrayArrayToJSArray(i);break;case"instanced_mesh_perm":c=instancedMeshToMeshData(i,!0);break;case"histogram_info_t":c=histogramInfoToJSData(i);break;case"symmetry":c=symmetryToJSData(i);break;case"mmrrcc_stats":c=mmrrccStatsToJSArray(i);break;case"colour_rules":c=colourRulesToJSArray(i);break;case"instanced_mesh_perfect_spheres":c=instancedMeshToMeshData(i,!1,!0);break;case"instanced_mesh":c=instancedMeshToMeshData(i,!1,!1,5);break;case"mesh_perm":c=simpleMeshToMeshData(i,!0);break;case"mesh":c=simpleMeshToMeshData(i);break;case"lit_lines_mesh":c=simpleMeshToLineMeshData(i,!0);break;case"lines_mesh":c=simpleMeshToLineMeshData(i,!1);break;case"float_array":c=floatArrayToJSArray(i);break;case"int_array":c=intArrayToJSArray(i);break;case"auto_read_mtz_info_array":c=autoReadMtzInfoVectToJSArray(i);break;case"map_molecule_centre_info_t":c=mapMoleculeCentreInfoToJSObject(i);break;case"string_array":c=stringArrayToJSArray(i);break;case"residue_specs":c=residueSpecToJSArray(i);break;case"atom_specs":c=atomSpecToJSArray(i);break;case"ramachandran_data":c=ramachandranDataToJSArray(i,e.chainID);break;case"validation_data":c=validationDataToJSArray(i,e.chainID);break;case"interesting_places_data":c=interestingPlaceDataToJSArray(i);break;case"superpose_results":c=SuperposeResultsToJSArray(i);break;case"generic_3d_lines_bonds_box":c=linesBoxToJSArray(i);break;case"vector_hbond":c=vectorHBondToJSArray(i);break;case"status_instanced_mesh_pair":c={status:i.first,mesh:instancedMeshToMeshData(i.second,!1,!1,5)};break;case"string_string_pair_vector":c=stringPairVectorToJSArray(i);break;case"void":c=null;break;case"vector_pair_clipper_coord_float":c=vectorPairClipperCoordFloatToJSArray(i);break;case"vector_pair_string_int":c=vectorPairStringIntToJSArray(i);break;case"privateer_results":c=privateerValidationToJSArray(i);break;default:c=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:c}}}catch(e){return console.log(e),{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)createRSRModule({onRuntimeInitialized:function(){},mainScriptUrlOrBlob:"moorhen.js",print,printErr:print}).then((function(a){postMessage({consoleMessage:"Initialized molecules_container",message:e.data.message,messageId:e.data.messageId}),(molecules_container=new(cootModule=a).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){console.log(e),print(e)})),createCCP4Module({onRuntimeInitialized:function(){},mainScriptUrlOrBlob:"web_example.js",print,printErr:print}).then((function(e){ccp4Module=e})).catch((function(e){console.log(e),print(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 a=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:a}})}else if("get_map"===e.data.message){var r=guid(),t="./".concat(r,".map");molecules_container.writeCCP4Map(e.data.molNo,t);var o=cootModule.FS.readFile(t,{encoding:"binary"});cootModule.FS_unlink(t),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:o.buffer}})}else if("delete_file_name"===e.data.message){var s=cootModule.FS_unlink(e.data.fileName);postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,messageTag:"result",result:s})}else if("coot_command_list"===e.data.message){var n=e.data.commandList.map((function(a){return doCootCommand(__assign(__assign({},e.data),a))}));postMessage({messageId:e.data.messageId,resultList:n})}"coot_command"===e.data.message&&(s=doCootCommand(e.data),postMessage(s))};
@@ -3,9 +3,9 @@ import { emscriptem } from "../../src/types/emscriptem"
3
3
  import { privateer } from "../../src/types/privateer";
4
4
 
5
5
  // @ts-ignore
6
- importScripts('./wasm/moorhen.js')
6
+ importScripts('./moorhen.js')
7
7
  // @ts-ignore
8
- importScripts('./wasm/web_example.js')
8
+ importScripts('./web_example.js')
9
9
 
10
10
  let cootModule: libcootApi.CootModule;
11
11
  let molecules_container: libcootApi.MoleculesContainerJS;
@@ -381,16 +381,14 @@ const mapMoleculeCentreInfoToJSObject = (mapMoleculeCentreInfo: libcootApi.MapMo
381
381
 
382
382
  const textureAsFloatsToJSTextureAsFloats = (data:libcootApi.textureAsFloats): libcootApi.textureAsFloatsJS => {
383
383
 
384
- let image_data = []
384
+ const imageDataVecSize = data.width * data.height
385
385
 
386
- const imageDataVecSize = data.image_data.size()
387
- console.log(imageDataVecSize);
388
- for (let i = 0; i < imageDataVecSize; i++) {
389
- const texVal = data.image_data.get(i)
390
- image_data.push(texVal)
391
- }
386
+ let image_data = new Float32Array(imageDataVecSize)
392
387
 
393
- data.image_data.delete()
388
+ const t1 = performance.now()
389
+ cootModule.getTextureArray(data,image_data)
390
+ const t2 = performance.now()
391
+ console.log("Time to convert texture array to JS",t2-t1)
394
392
 
395
393
  return {
396
394
  width:data.width,
@@ -445,6 +443,14 @@ const export_map_as_gltf = (imol: number, x: number, y: number, z: number, radiu
445
443
  return fileContents.buffer
446
444
  }
447
445
 
446
+ const export_molecular_represenation_as_gltf = (imol: number, cid: string, colourScheme: string, style: string) => {
447
+ const fileName = `${guid()}.glb`
448
+ molecules_container.export_molecular_represenation_as_gltf(imol, cid, colourScheme, style, fileName)
449
+ const fileContents = cootModule.FS.readFile(fileName, { encoding: 'binary' }) as Uint8Array
450
+ cootModule.FS_unlink(fileName)
451
+ return fileContents.buffer
452
+ }
453
+
448
454
  const export_molecule_as_gltf = (
449
455
  imol: number, cid: string, mode: string, isDark: boolean, bondWidth: number,
450
456
  atomRadius: number, bondSmoothness: number, drawHydrogens: boolean, drawMissingResidues: boolean
@@ -863,7 +869,7 @@ const simpleMeshToLineMeshData = (simpleMesh: libcootApi.SimpleMeshT, normalLigh
863
869
 
864
870
  }
865
871
 
866
- const auto_open_mtz = (mtzData: ArrayBufferLike) => {
872
+ const auto_read_mtz = (mtzData: ArrayBufferLike) => {
867
873
  const theGuid = guid()
868
874
  const asUint8Array = new Uint8Array(mtzData)
869
875
  cootModule.FS_createDataFile(".", `${theGuid}.mtz`, asUint8Array, true, true);
@@ -1035,8 +1041,8 @@ const doCootCommand = (messageData: {
1035
1041
  case 'shim_read_mtz':
1036
1042
  cootResult = read_mtz(...commandArgs as [ArrayBufferLike, string, { F: string; PHI: string; isDifference: boolean; }])
1037
1043
  break
1038
- case 'shim_auto_open_mtz':
1039
- cootResult = auto_open_mtz(...commandArgs as [ArrayBuffer])
1044
+ case 'shim_auto_read_mtz':
1045
+ cootResult = auto_read_mtz(...commandArgs as [ArrayBuffer])
1040
1046
  break
1041
1047
  case 'shim_read_ccp4_map':
1042
1048
  cootResult = read_ccp4_map(...commandArgs as [ArrayBuffer, string, boolean])
@@ -1056,6 +1062,9 @@ const doCootCommand = (messageData: {
1056
1062
  case 'shim_export_molecule_as_gltf':
1057
1063
  cootResult = export_molecule_as_gltf(...commandArgs as [number, string, string, boolean, number, number, number, boolean, boolean])
1058
1064
  break
1065
+ case 'shim_export_molecular_represenation_as_gltf':
1066
+ cootResult = export_molecular_represenation_as_gltf(...commandArgs as [number, string, string, string])
1067
+ break
1059
1068
  default:
1060
1069
  cootResult = molecules_container[command](...commandArgs)
1061
1070
  break
@@ -1194,7 +1203,6 @@ const doCootCommand = (messageData: {
1194
1203
  onmessage = function (e) {
1195
1204
  if (e.data.message === 'CootInitialize') {
1196
1205
  createRSRModule({
1197
- locateFile: (file) => `./wasm/${file}`,
1198
1206
  onRuntimeInitialized: () => { },
1199
1207
  mainScriptUrlOrBlob: "moorhen.js",
1200
1208
  print: print,
@@ -1219,7 +1227,6 @@ onmessage = function (e) {
1219
1227
  });
1220
1228
 
1221
1229
  createCCP4Module({
1222
- locateFile: (file) => `./wasm/${file}`,
1223
1230
  onRuntimeInitialized: () => { },
1224
1231
  mainScriptUrlOrBlob: "web_example.js",
1225
1232
  print: print,
@@ -248008,86 +248008,86 @@ ATOM 4 O VAL A 879 0.790 -0.922 -2.071 1.00 20.00 O
248008
248008
  ATOM 5 CB VAL A 879 -0.945 1.215 -0.037 1.00 20.00 C
248009
248009
  ATOM 6 CG1 VAL A 879 -1.704 1.260 -1.354 1.00 20.00 C
248010
248010
  ATOM 7 CG2 VAL A 879 -1.908 1.177 1.140 1.00 20.00 C
248011
- ATOM 1 P Gr A 14 2.827 -8.060 3.719 1.00 76.88 P
248012
- ATOM 2 O1P Gr A 14 3.083 -8.927 4.896 1.00 78.59 O
248013
- ATOM 3 O2P Gr A 14 1.855 -6.954 3.766 1.00 75.20 O
248014
- ATOM 4 O5* Gr A 14 4.220 -7.417 3.279 1.00 78.76 O
248015
- ATOM 5 C5* Gr A 14 5.490 -8.037 3.534 1.00 77.93 C
248016
- ATOM 6 C4* Gr A 14 6.617 -7.075 3.190 1.00 78.66 C
248017
- ATOM 7 O4* Gr A 14 6.505 -6.592 1.808 1.00 79.49 O
248018
- ATOM 8 C3* Gr A 14 6.678 -5.807 4.033 1.00 78.23 C
248019
- ATOM 9 O3* Gr A 14 7.315 -6.088 5.287 1.00 77.17 O
248020
- ATOM 10 C2* Gr A 14 7.473 -4.888 3.087 1.00 79.34 C
248021
- ATOM 11 O2* Gr A 14 8.870 -5.158 3.018 1.00 79.34 O
248022
- ATOM 12 C1* Gr A 14 6.853 -5.219 1.725 1.00 78.22 C
248023
- ATOM 13 N9 Gr A 14 5.696 -4.394 1.332 1.00 78.19 N
248024
- ATOM 14 C8 Gr A 14 4.394 -4.807 1.165 1.00 77.84 C
248025
- ATOM 15 N7 Gr A 14 3.574 -3.845 0.802 1.00 78.55 N
248026
- ATOM 16 C5 Gr A 14 4.374 -2.712 0.715 1.00 78.01 C
248027
- ATOM 17 C6 Gr A 14 4.038 -1.373 0.382 1.00 77.95 C
248028
- ATOM 18 O6 Gr A 14 2.926 -0.912 0.076 1.00 77.77 O
248029
- ATOM 19 N1 Gr A 14 5.148 -0.527 0.422 1.00 77.73 N
248030
- ATOM 20 C2 Gr A 14 6.418 -0.922 0.750 1.00 77.58 C
248031
- ATOM 21 N2 Gr A 14 7.361 0.015 0.736 1.00 77.71 N
248032
- ATOM 22 N3 Gr A 14 6.743 -2.164 1.070 1.00 78.53 N
248033
- ATOM 23 C4 Gr A 14 5.680 -3.024 1.040 1.00 78.73 C
248034
- ATOM 101 P Ad A 6 13.954 12.080 15.071 1.00 12.41 P
248035
- ATOM 102 O1P Ad A 6 13.092 11.246 15.953 1.00 12.12 O
248036
- ATOM 103 O2P Ad A 6 14.769 11.453 14.020 1.00 13.04 O
248037
- ATOM 104 O5* Ad A 6 13.056 13.202 14.406 1.00 10.42 O
248038
- ATOM 105 C5* Ad A 6 12.184 13.965 15.222 1.00 8.93 C
248039
- ATOM 106 C4* Ad A 6 11.308 14.846 14.376 1.00 7.26 C
248040
- ATOM 107 O4* Ad A 6 12.033 15.991 13.896 1.00 8.21 O
248041
- ATOM 108 C3* Ad A 6 10.654 14.188 13.168 1.00 7.65 C
248042
- ATOM 109 O3* Ad A 6 9.262 14.480 13.256 1.00 8.46 O
248043
- ATOM 110 C2* Ad A 6 11.373 14.820 11.974 1.00 6.69 C
248044
- ATOM 111 C1* Ad A 6 11.810 16.184 12.511 1.00 7.12 C
248045
- ATOM 112 N9 Ad A 6 13.051 16.742 11.953 1.00 9.06 N
248046
- ATOM 113 C8 Ad A 6 14.253 16.097 11.802 1.00 7.73 C
248047
- ATOM 114 N7 Ad A 6 15.197 16.853 11.305 1.00 8.04 N
248048
- ATOM 115 C5 Ad A 6 14.585 18.084 11.106 1.00 6.10 C
248049
- ATOM 116 C6 Ad A 6 15.066 19.322 10.605 1.00 5.87 C
248050
- ATOM 117 N6 Ad A 6 16.329 19.520 10.209 1.00 5.88 N
248051
- ATOM 118 N1 Ad A 6 14.198 20.357 10.535 1.00 5.73 N
248052
- ATOM 119 C2 Ad A 6 12.938 20.162 10.946 1.00 5.41 C
248053
- ATOM 120 N3 Ad A 6 12.370 19.048 11.444 1.00 9.07 N
248054
- ATOM 121 C4 Ad A 6 13.259 18.034 11.497 1.00 6.34 C
248055
- ATOM 122 P Td A 7 8.258 14.006 12.104 1.00 8.61 P
248056
- ATOM 123 O1P Td A 7 6.947 13.813 12.710 1.00 9.62 O
248057
- ATOM 124 O2P Td A 7 8.856 12.940 11.281 1.00 9.62 O
248058
- ATOM 125 O5* Td A 7 8.163 15.293 11.202 1.00 8.95 O
248059
- ATOM 126 C5* Td A 7 7.907 16.566 11.799 1.00 7.95 C
248060
- ATOM 127 C4* Td A 7 8.036 17.644 10.754 1.00 9.61 C
248061
- ATOM 128 O4* Td A 7 9.413 17.875 10.402 1.00 9.78 O
248062
- ATOM 129 C3* Td A 7 7.286 17.382 9.446 1.00 10.94 C
248063
- ATOM 130 O3* Td A 7 6.228 18.341 9.347 1.00 11.97 O
248064
- ATOM 131 C2* Td A 7 8.356 17.467 8.358 1.00 9.86 C
248065
- ATOM 132 C1* Td A 7 9.471 18.252 9.036 1.00 8.76 C
248066
- ATOM 133 N1 Td A 7 10.850 18.009 8.588 1.00 7.75 N
248067
- ATOM 134 C2 Td A 7 11.576 19.096 8.121 1.00 7.10 C
248068
- ATOM 135 O2 Td A 7 11.113 20.233 8.017 1.00 8.86 O
248069
- ATOM 136 N3 Td A 7 12.874 18.803 7.780 1.00 7.27 N
248070
- ATOM 137 C4 Td A 7 13.507 17.588 7.844 1.00 6.07 C
248071
- ATOM 138 O4 Td A 7 14.687 17.499 7.508 1.00 7.68 O
248072
- ATOM 139 C5 Td A 7 12.689 16.491 8.322 1.00 6.88 C
248073
- ATOM 140 C5M Td A 7 13.292 15.128 8.424 1.00 7.98 C
248074
- ATOM 141 C6 Td A 7 11.414 16.754 8.659 1.00 7.78 C
248075
- ATOM 4 O5* Ur A 1 0.270 -7.725 -1.830 1.00 20.00 C
248076
- ATOM 5 O3* Ur A 1 4.189 -7.682 -0.250 1.00 20.00 O
248077
- ATOM 6 C1* Ur A 1 2.252 -5.410 -0.470 1.00 20.00 C
248078
- ATOM 7 C2* Ur A 1 2.035 -6.740 0.240 1.00 20.00 C
248079
- ATOM 8 C3* Ur A 1 2.818 -7.701 -0.640 1.00 20.00 C
248080
- ATOM 9 C4* Ur A 1 2.608 -7.128 -2.040 1.00 20.00 C
248081
- ATOM 10 C5* Ur A 1 1.364 -7.578 -2.770 1.00 20.00 C
248082
- ATOM 11 O4* Ur A 1 2.530 -5.682 -1.830 1.00 20.00 O
248083
- ATOM 12 O4 Ur A 1 -2.039 -1.948 -0.270 1.00 20.00 O
248084
- ATOM 13 C4 Ur A 1 -1.112 -2.765 -0.320 1.00 20.00 C
248085
- ATOM 14 N3 Ur A 1 0.197 -2.352 -0.230 1.00 20.00 N
248086
- ATOM 15 C2 Ur A 1 1.320 -3.155 -0.270 1.00 20.00 C
248087
- ATOM 16 O2 Ur A 1 2.445 -2.697 -0.180 1.00 20.00 O
248088
- ATOM 17 N1 Ur A 1 1.073 -4.504 -0.420 1.00 20.00 N
248089
- ATOM 18 C6 Ur A 1 -0.201 -5.006 -0.520 1.00 20.00 C
248090
- ATOM 19 C5 Ur A 1 -1.273 -4.191 -0.470 1.00 20.00 C
248011
+ ATOM 1 P G A 14 2.827 -8.060 3.719 1.00 76.88 P
248012
+ ATOM 2 O1P G A 14 3.083 -8.927 4.896 1.00 78.59 O
248013
+ ATOM 3 O2P G A 14 1.855 -6.954 3.766 1.00 75.20 O
248014
+ ATOM 4 O5' G A 14 4.220 -7.417 3.279 1.00 78.76 O
248015
+ ATOM 5 C5' G A 14 5.490 -8.037 3.534 1.00 77.93 C
248016
+ ATOM 6 C4' G A 14 6.617 -7.075 3.190 1.00 78.66 C
248017
+ ATOM 7 O4' G A 14 6.505 -6.592 1.808 1.00 79.49 O
248018
+ ATOM 8 C3' G A 14 6.678 -5.807 4.033 1.00 78.23 C
248019
+ ATOM 9 O3' G A 14 7.315 -6.088 5.287 1.00 77.17 O
248020
+ ATOM 10 C2' G A 14 7.473 -4.888 3.087 1.00 79.34 C
248021
+ ATOM 11 O2' G A 14 8.870 -5.158 3.018 1.00 79.34 O
248022
+ ATOM 12 C1' G A 14 6.853 -5.219 1.725 1.00 78.22 C
248023
+ ATOM 13 N9 G A 14 5.696 -4.394 1.332 1.00 78.19 N
248024
+ ATOM 14 C8 G A 14 4.394 -4.807 1.165 1.00 77.84 C
248025
+ ATOM 15 N7 G A 14 3.574 -3.845 0.802 1.00 78.55 N
248026
+ ATOM 16 C5 G A 14 4.374 -2.712 0.715 1.00 78.01 C
248027
+ ATOM 17 C6 G A 14 4.038 -1.373 0.382 1.00 77.95 C
248028
+ ATOM 18 O6 G A 14 2.926 -0.912 0.076 1.00 77.77 O
248029
+ ATOM 19 N1 G A 14 5.148 -0.527 0.422 1.00 77.73 N
248030
+ ATOM 20 C2 G A 14 6.418 -0.922 0.750 1.00 77.58 C
248031
+ ATOM 21 N2 G A 14 7.361 0.015 0.736 1.00 77.71 N
248032
+ ATOM 22 N3 G A 14 6.743 -2.164 1.070 1.00 78.53 N
248033
+ ATOM 23 C4 G A 14 5.680 -3.024 1.040 1.00 78.73 C
248034
+ ATOM 101 P DA A 6 13.954 12.080 15.071 1.00 12.41 P
248035
+ ATOM 102 O1P DA A 6 13.092 11.246 15.953 1.00 12.12 O
248036
+ ATOM 103 O2P DA A 6 14.769 11.453 14.020 1.00 13.04 O
248037
+ ATOM 104 O5' DA A 6 13.056 13.202 14.406 1.00 10.42 O
248038
+ ATOM 105 C5' DA A 6 12.184 13.965 15.222 1.00 8.93 C
248039
+ ATOM 106 C4' DA A 6 11.308 14.846 14.376 1.00 7.26 C
248040
+ ATOM 107 O4' DA A 6 12.033 15.991 13.896 1.00 8.21 O
248041
+ ATOM 108 C3' DA A 6 10.654 14.188 13.168 1.00 7.65 C
248042
+ ATOM 109 O3' DA A 6 9.262 14.480 13.256 1.00 8.46 O
248043
+ ATOM 110 C2' DA A 6 11.373 14.820 11.974 1.00 6.69 C
248044
+ ATOM 111 C1' DA A 6 11.810 16.184 12.511 1.00 7.12 C
248045
+ ATOM 112 N9 DA A 6 13.051 16.742 11.953 1.00 9.06 N
248046
+ ATOM 113 C8 DA A 6 14.253 16.097 11.802 1.00 7.73 C
248047
+ ATOM 114 N7 DA A 6 15.197 16.853 11.305 1.00 8.04 N
248048
+ ATOM 115 C5 DA A 6 14.585 18.084 11.106 1.00 6.10 C
248049
+ ATOM 116 C6 DA A 6 15.066 19.322 10.605 1.00 5.87 C
248050
+ ATOM 117 N6 DA A 6 16.329 19.520 10.209 1.00 5.88 N
248051
+ ATOM 118 N1 DA A 6 14.198 20.357 10.535 1.00 5.73 N
248052
+ ATOM 119 C2 DA A 6 12.938 20.162 10.946 1.00 5.41 C
248053
+ ATOM 120 N3 DA A 6 12.370 19.048 11.444 1.00 9.07 N
248054
+ ATOM 121 C4 DA A 6 13.259 18.034 11.497 1.00 6.34 C
248055
+ ATOM 122 P DT A 7 8.258 14.006 12.104 1.00 8.61 P
248056
+ ATOM 123 O1P DT A 7 6.947 13.813 12.710 1.00 9.62 O
248057
+ ATOM 124 O2P DT A 7 8.856 12.940 11.281 1.00 9.62 O
248058
+ ATOM 125 O5' DT A 7 8.163 15.293 11.202 1.00 8.95 O
248059
+ ATOM 126 C5' DT A 7 7.907 16.566 11.799 1.00 7.95 C
248060
+ ATOM 127 C4' DT A 7 8.036 17.644 10.754 1.00 9.61 C
248061
+ ATOM 128 O4' DT A 7 9.413 17.875 10.402 1.00 9.78 O
248062
+ ATOM 129 C3' DT A 7 7.286 17.382 9.446 1.00 10.94 C
248063
+ ATOM 130 O3' DT A 7 6.228 18.341 9.347 1.00 11.97 O
248064
+ ATOM 131 C2' DT A 7 8.356 17.467 8.358 1.00 9.86 C
248065
+ ATOM 132 C1' DT A 7 9.471 18.252 9.036 1.00 8.76 C
248066
+ ATOM 133 N1 DT A 7 10.850 18.009 8.588 1.00 7.75 N
248067
+ ATOM 134 C2 DT A 7 11.576 19.096 8.121 1.00 7.10 C
248068
+ ATOM 135 O2 DT A 7 11.113 20.233 8.017 1.00 8.86 O
248069
+ ATOM 136 N3 DT A 7 12.874 18.803 7.780 1.00 7.27 N
248070
+ ATOM 137 C4 DT A 7 13.507 17.588 7.844 1.00 6.07 C
248071
+ ATOM 138 O4 DT A 7 14.687 17.499 7.508 1.00 7.68 O
248072
+ ATOM 139 C5 DT A 7 12.689 16.491 8.322 1.00 6.88 C
248073
+ ATOM 140 C5M DT A 7 13.292 15.128 8.424 1.00 7.98 C
248074
+ ATOM 141 C6 DT A 7 11.414 16.754 8.659 1.00 7.78 C
248075
+ ATOM 4 O5' U A 1 0.270 -7.725 -1.830 1.00 20.00 C
248076
+ ATOM 5 O3' U A 1 4.189 -7.682 -0.250 1.00 20.00 O
248077
+ ATOM 6 C1' U A 1 2.252 -5.410 -0.470 1.00 20.00 C
248078
+ ATOM 7 C2' U A 1 2.035 -6.740 0.240 1.00 20.00 C
248079
+ ATOM 8 C3' U A 1 2.818 -7.701 -0.640 1.00 20.00 C
248080
+ ATOM 9 C4' U A 1 2.608 -7.128 -2.040 1.00 20.00 C
248081
+ ATOM 10 C5' U A 1 1.364 -7.578 -2.770 1.00 20.00 C
248082
+ ATOM 11 O4' U A 1 2.530 -5.682 -1.830 1.00 20.00 O
248083
+ ATOM 12 O4 U A 1 -2.039 -1.948 -0.270 1.00 20.00 O
248084
+ ATOM 13 C4 U A 1 -1.112 -2.765 -0.320 1.00 20.00 C
248085
+ ATOM 14 N3 U A 1 0.197 -2.352 -0.230 1.00 20.00 N
248086
+ ATOM 15 C2 U A 1 1.320 -3.155 -0.270 1.00 20.00 C
248087
+ ATOM 16 O2 U A 1 2.445 -2.697 -0.180 1.00 20.00 O
248088
+ ATOM 17 N1 U A 1 1.073 -4.504 -0.420 1.00 20.00 N
248089
+ ATOM 18 C6 U A 1 -0.201 -5.006 -0.520 1.00 20.00 C
248090
+ ATOM 19 C5 U A 1 -1.273 -4.191 -0.470 1.00 20.00 C
248091
248091
  ATOM 1 N CIS A 21 67.090 -2.052 8.023 1.00 9.75 N
248092
248092
  ATOM 2 CA CIS A 21 66.837 -1.688 9.412 1.00 10.96 C
248093
248093
  ATOM 3 C CIS A 21 66.455 -2.909 10.241 1.00 12.66 C
@@ -248104,109 +248104,109 @@ ATOM 147 N TNS F 22 64.888 -1.819 9.413 1.00 12.20 N
248104
248104
  ATOM 148 CA TNS F 22 63.583 -2.402 9.699 1.00 12.31 C
248105
248105
  ATOM 153 C TNS F 22 63.405 -3.736 8.983 1.00 13.23 C
248106
248106
  ATOM 154 O TNS F 22 63.020 -4.733 9.594 1.00 13.30 O
248107
- ATOM 93 P Cd B 4 -0.807 -8.873 -2.081 1.00 20.00 P
248108
- ATOM 94 O1P Cd B 4 -0.196 -10.199 -1.861 1.00 20.00 O
248109
- ATOM 95 O2P Cd B 4 -2.030 -8.583 -1.291 1.00 20.00 O
248110
- ATOM 96 O5* Cd B 4 0.270 -7.725 -1.831 1.00 20.00 O
248111
- ATOM 97 O3* Cd B 4 4.189 -7.682 -0.251 1.00 20.00 O
248112
- ATOM 98 C1* Cd B 4 2.252 -5.410 -0.471 1.00 20.00 C
248113
- ATOM 99 C2* Cd B 4 2.035 -6.740 0.239 1.00 20.00 C
248114
- ATOM 100 C3* Cd B 4 2.818 -7.701 -0.641 1.00 20.00 C
248115
- ATOM 101 C4* Cd B 4 2.607 -7.128 -2.041 1.00 20.00 C
248116
- ATOM 102 C5* Cd B 4 1.364 -7.578 -2.771 1.00 20.00 C
248117
- ATOM 103 O4* Cd B 4 2.530 -5.682 -1.831 1.00 20.00 O
248118
- ATOM 104 N4 Cd B 4 -2.005 -1.896 -0.271 1.00 20.00 N
248119
- ATOM 105 C4 Cd B 4 -1.006 -2.763 -0.321 1.00 20.00 C
248120
- ATOM 106 N3 Cd B 4 0.245 -2.297 -0.221 1.00 20.00 N
248121
- ATOM 107 C2 Cd B 4 1.307 -3.139 -0.271 1.00 20.00 C
248122
- ATOM 108 O2 Cd B 4 2.474 -2.738 -0.181 1.00 20.00 O
248123
- ATOM 109 N1 Cd B 4 1.073 -4.504 -0.421 1.00 20.00 N
248124
- ATOM 110 C6 Cd B 4 -0.192 -4.986 -0.521 1.00 20.00 C
248125
- ATOM 111 C5 Cd B 4 -1.272 -4.160 -0.471 1.00 20.00 C
248126
- ATOM 93 P Xr B 5 -0.449 -9.609 3.122 1.00 20.00 P
248127
- ATOM 94 O1P Xr B 5 0.162 -10.935 3.342 1.00 20.00 O
248128
- ATOM 95 O2P Xr B 5 -1.672 -9.319 3.912 1.00 20.00 O
248129
- ATOM 96 O5* Xr B 5 0.628 -8.461 3.372 1.00 20.00 O
248130
- ATOM 97 O3* Xr B 5 4.547 -8.418 4.952 1.00 20.00 O
248131
- ATOM 98 C1* Xr B 5 2.610 -6.146 4.732 1.00 20.00 C
248132
- ATOM 99 C2* Xr B 5 2.393 -7.476 5.442 1.00 20.00 C
248133
- ATOM 99 O2* Xr B 5 2.907 -7.413 6.758 1.00 20.00 O
248134
- ATOM 100 C3* Xr B 5 3.176 -8.437 4.562 1.00 20.00 C
248135
- ATOM 101 C4* Xr B 5 2.965 -7.864 3.162 1.00 20.00 C
248136
- ATOM 102 C5* Xr B 5 1.722 -8.314 2.432 1.00 20.00 C
248137
- ATOM 103 O4* Xr B 5 2.888 -6.418 3.372 1.00 20.00 O
248138
- ATOM 104 N4 Xr B 5 -1.647 -2.632 4.932 1.00 20.00 N
248139
- ATOM 105 C4 Xr B 5 -0.648 -3.499 4.882 1.00 20.00 C
248140
- ATOM 106 N3 Xr B 5 0.603 -3.033 4.982 1.00 20.00 N
248141
- ATOM 107 C2 Xr B 5 1.665 -3.875 4.932 1.00 20.00 C
248142
- ATOM 108 O2 Xr B 5 2.832 -3.474 5.022 1.00 20.00 O
248143
- ATOM 109 N1 Xr B 5 1.431 -5.240 4.782 1.00 20.00 N
248144
- ATOM 110 C6 Xr B 5 0.166 -5.722 4.682 1.00 20.00 C
248145
- ATOM 111 C5 Xr B 5 -0.914 -4.896 4.732 1.00 20.00 C
248146
- ATOM 21 P Cr Q 2 -6.082 -7.578 5.445 1.00 20.00 Q P
248147
- ATOM 22 O1P Cr Q 2 -7.533 -7.624 5.771 1.00 20.00 Q O
248148
- ATOM 23 O2P Cr Q 2 -5.156 -6.839 6.329 1.00 20.00 Q O
248149
- ATOM 24 O5* Cr Q 2 -5.573 -9.094 5.389 1.00 20.00 Q O
248150
- ATOM 25 C5* Cr Q 2 -6.453 -10.176 5.763 1.00 20.00 Q C
248151
- ATOM 26 C4* Cr Q 2 -5.695 -11.355 6.372 1.00 20.00 Q C
248152
- ATOM 27 O4* Cr Q 2 -4.841 -11.970 5.378 1.00 20.00 Q O
248153
- ATOM 28 C1* Cr Q 2 -3.715 -12.552 6.012 1.00 20.00 Q C
248154
- ATOM 29 N1 Cr Q 2 -2.517 -11.849 5.539 1.00 20.00 Q N
248155
- ATOM 30 C6 Cr Q 2 -2.608 -10.568 5.075 1.00 20.00 Q C
248156
- ATOM 31 C2 Cr Q 2 -1.282 -12.505 5.564 1.00 20.00 Q C
248157
- ATOM 32 O2 Cr Q 2 -1.229 -13.666 6.009 1.00 20.00 Q O
248158
- ATOM 33 N3 Cr Q 2 -0.187 -11.859 5.106 1.00 20.00 Q N
248159
- ATOM 34 C4 Cr Q 2 -0.292 -10.611 4.645 1.00 20.00 Q C
248160
- ATOM 35 N4 Cr Q 2 0.815 -10.019 4.194 1.00 20.00 Q N
248161
- ATOM 36 C5 Cr Q 2 -1.537 -9.920 4.625 1.00 20.00 Q C
248162
- ATOM 37 C2* Cr Q 2 -3.929 -12.413 7.517 1.00 20.00 Q C
248163
- ATOM 38 O2* Cr Q 2 -4.616 -13.546 7.991 1.00 20.00 Q O
248164
- ATOM 39 C3* Cr Q 2 -4.799 -11.168 7.591 1.00 20.00 Q C
248165
- ATOM 40 O3* Cr Q 2 -5.600 -11.193 8.766 1.00 20.00 Q O
248166
- ATOM 41 P Ar Q 3 -4.940 -11.446 10.232 1.00 20.00 Q P
248167
- ATOM 42 O1P Ar Q 3 -6.007 -12.136 11.012 1.00 20.00 Q O
248168
- ATOM 43 O2P Ar Q 3 -4.345 -10.197 10.770 1.00 20.00 Q O
248169
- ATOM 44 O5* Ar Q 3 -3.787 -12.546 10.091 1.00 20.00 Q O
248170
- ATOM 45 C5* Ar Q 3 -3.983 -13.848 10.656 1.00 20.00 Q C
248171
- ATOM 46 C4* Ar Q 3 -2.675 -14.512 11.030 1.00 20.00 Q C
248172
- ATOM 47 O4* Ar Q 3 -1.864 -14.738 9.853 1.00 20.00 Q O
248173
- ATOM 48 C1* Ar Q 3 -0.503 -14.773 10.233 1.00 20.00 Q C
248174
- ATOM 49 N9 Ar Q 3 0.189 -13.720 9.488 1.00 20.00 Q N
248175
- ATOM 50 C4 Ar Q 3 1.525 -13.615 9.179 1.00 20.00 Q C
248176
- ATOM 51 N3 Ar Q 3 2.522 -14.454 9.499 1.00 20.00 Q N
248177
- ATOM 52 C2 Ar Q 3 3.686 -14.006 9.027 1.00 20.00 Q C
248178
- ATOM 53 N1 Ar Q 3 3.943 -12.897 8.322 1.00 20.00 Q N
248179
- ATOM 54 C6 Ar Q 3 2.915 -12.078 8.016 1.00 20.00 Q C
248180
- ATOM 55 N6 Ar Q 3 3.159 -10.968 7.311 1.00 20.00 Q N
248181
- ATOM 56 C5 Ar Q 3 1.637 -12.436 8.457 1.00 20.00 Q C
248182
- ATOM 57 N7 Ar Q 3 0.405 -11.826 8.317 1.00 20.00 Q N
248183
- ATOM 58 C8 Ar Q 3 -0.418 -12.624 8.946 1.00 20.00 Q C
248184
- ATOM 59 C2* Ar Q 3 -0.451 -14.600 11.753 1.00 20.00 Q C
248185
- ATOM 60 O2* Ar Q 3 -0.415 -15.878 12.347 1.00 20.00 Q O
248186
- ATOM 61 C3* Ar Q 3 -1.743 -13.844 12.032 1.00 20.00 Q C
248187
- ATOM 62 O3* Ar Q 3 -2.242 -14.105 13.347 1.00 20.00 Q O
248188
- ATOM 1 P Gd R 1 -0.354 -9.215 -1.849 1.00 20.00 P
248189
- ATOM 2 O1P Gd R 1 -0.207 -10.499 -2.569 1.00 20.00 O
248190
- ATOM 3 O2P Gd R 1 -1.304 -9.104 -0.720 1.00 20.00 O
248191
- ATOM 4 O5* Gd R 1 1.084 -8.739 -1.333 1.00 20.00 O
248192
- ATOM 5 O3* Gd R 1 4.211 -6.835 0.518 1.00 20.00 O
248193
- ATOM 6 C1* Gd R 1 1.903 -5.330 -0.003 1.00 20.00 C
248194
- ATOM 7 C2* Gd R 1 1.811 -6.647 0.752 1.00 20.00 C
248195
- ATOM 8 C3* Gd R 1 2.971 -7.365 0.076 1.00 20.00 C
248196
- ATOM 9 C4* Gd R 1 2.757 -6.990 -1.386 1.00 20.00 C
248197
- ATOM 10 C5* Gd R 1 1.926 -7.975 -2.188 1.00 20.00 C
248198
- ATOM 11 O4* Gd R 1 2.086 -5.703 -1.354 1.00 20.00 O
248199
- ATOM 12 N9 Gd R 1 0.728 -4.472 0.106 1.00 20.00 N
248200
- ATOM 13 C8 Gd R 1 -0.586 -4.835 0.294 1.00 20.00 C
248201
- ATOM 14 N7 Gd R 1 -1.409 -3.819 0.350 1.00 20.00 N
248202
- ATOM 15 C5 Gd R 1 -0.599 -2.700 0.190 1.00 20.00 C
248203
- ATOM 16 C4 Gd R 1 0.718 -3.092 0.039 1.00 20.00 C
248204
- ATOM 17 N1 Gd R 1 0.231 -0.536 -0.024 1.00 20.00 N
248205
- ATOM 18 C2 Gd R 1 1.512 -1.022 -0.166 1.00 20.00 C
248206
- ATOM 19 N3 Gd R 1 1.813 -2.313 -0.141 1.00 20.00 N
248207
- ATOM 20 C6 Gd R 1 -0.909 -1.319 0.162 1.00 20.00 C
248208
- ATOM 21 O6 Gd R 1 -2.018 -0.779 0.278 1.00 20.00 O
248209
- ATOM 22 N2 Gd R 1 2.491 -0.117 -0.337 1.00 20.00 N
248107
+ ATOM 93 P DC B 4 -0.807 -8.873 -2.081 1.00 20.00 P
248108
+ ATOM 94 O1P DC B 4 -0.196 -10.199 -1.861 1.00 20.00 O
248109
+ ATOM 95 O2P DC B 4 -2.030 -8.583 -1.291 1.00 20.00 O
248110
+ ATOM 96 O5' DC B 4 0.270 -7.725 -1.831 1.00 20.00 O
248111
+ ATOM 97 O3' DC B 4 4.189 -7.682 -0.251 1.00 20.00 O
248112
+ ATOM 98 C1' DC B 4 2.252 -5.410 -0.471 1.00 20.00 C
248113
+ ATOM 99 C2' DC B 4 2.035 -6.740 0.239 1.00 20.00 C
248114
+ ATOM 100 C3' DC B 4 2.818 -7.701 -0.641 1.00 20.00 C
248115
+ ATOM 101 C4' DC B 4 2.607 -7.128 -2.041 1.00 20.00 C
248116
+ ATOM 102 C5' DC B 4 1.364 -7.578 -2.771 1.00 20.00 C
248117
+ ATOM 103 O4' DC B 4 2.530 -5.682 -1.831 1.00 20.00 O
248118
+ ATOM 104 N4 DC B 4 -2.005 -1.896 -0.271 1.00 20.00 N
248119
+ ATOM 105 C4 DC B 4 -1.006 -2.763 -0.321 1.00 20.00 C
248120
+ ATOM 106 N3 DC B 4 0.245 -2.297 -0.221 1.00 20.00 N
248121
+ ATOM 107 C2 DC B 4 1.307 -3.139 -0.271 1.00 20.00 C
248122
+ ATOM 108 O2 DC B 4 2.474 -2.738 -0.181 1.00 20.00 O
248123
+ ATOM 109 N1 DC B 4 1.073 -4.504 -0.421 1.00 20.00 N
248124
+ ATOM 110 C6 DC B 4 -0.192 -4.986 -0.521 1.00 20.00 C
248125
+ ATOM 111 C5 DC B 4 -1.272 -4.160 -0.471 1.00 20.00 C
248126
+ ATOM 93 P X B 5 -0.449 -9.609 3.122 1.00 20.00 P
248127
+ ATOM 94 O1P X B 5 0.162 -10.935 3.342 1.00 20.00 O
248128
+ ATOM 95 O2P X B 5 -1.672 -9.319 3.912 1.00 20.00 O
248129
+ ATOM 96 O5' X B 5 0.628 -8.461 3.372 1.00 20.00 O
248130
+ ATOM 97 O3' X B 5 4.547 -8.418 4.952 1.00 20.00 O
248131
+ ATOM 98 C1' X B 5 2.610 -6.146 4.732 1.00 20.00 C
248132
+ ATOM 99 C2' X B 5 2.393 -7.476 5.442 1.00 20.00 C
248133
+ ATOM 99 O2' X B 5 2.907 -7.413 6.758 1.00 20.00 O
248134
+ ATOM 100 C3' X B 5 3.176 -8.437 4.562 1.00 20.00 C
248135
+ ATOM 101 C4' X B 5 2.965 -7.864 3.162 1.00 20.00 C
248136
+ ATOM 102 C5' X B 5 1.722 -8.314 2.432 1.00 20.00 C
248137
+ ATOM 103 O4' X B 5 2.888 -6.418 3.372 1.00 20.00 O
248138
+ ATOM 104 N4 X B 5 -1.647 -2.632 4.932 1.00 20.00 N
248139
+ ATOM 105 C4 X B 5 -0.648 -3.499 4.882 1.00 20.00 C
248140
+ ATOM 106 N3 X B 5 0.603 -3.033 4.982 1.00 20.00 N
248141
+ ATOM 107 C2 X B 5 1.665 -3.875 4.932 1.00 20.00 C
248142
+ ATOM 108 O2 X B 5 2.832 -3.474 5.022 1.00 20.00 O
248143
+ ATOM 109 N1 X B 5 1.431 -5.240 4.782 1.00 20.00 N
248144
+ ATOM 110 C6 X B 5 0.166 -5.722 4.682 1.00 20.00 C
248145
+ ATOM 111 C5 X B 5 -0.914 -4.896 4.732 1.00 20.00 C
248146
+ ATOM 21 P C Q 2 -6.082 -7.578 5.445 1.00 20.00 Q P
248147
+ ATOM 22 O1P C Q 2 -7.533 -7.624 5.771 1.00 20.00 Q O
248148
+ ATOM 23 O2P C Q 2 -5.156 -6.839 6.329 1.00 20.00 Q O
248149
+ ATOM 24 O5' C Q 2 -5.573 -9.094 5.389 1.00 20.00 Q O
248150
+ ATOM 25 C5' C Q 2 -6.453 -10.176 5.763 1.00 20.00 Q C
248151
+ ATOM 26 C4' C Q 2 -5.695 -11.355 6.372 1.00 20.00 Q C
248152
+ ATOM 27 O4' C Q 2 -4.841 -11.970 5.378 1.00 20.00 Q O
248153
+ ATOM 28 C1' C Q 2 -3.715 -12.552 6.012 1.00 20.00 Q C
248154
+ ATOM 29 N1 C Q 2 -2.517 -11.849 5.539 1.00 20.00 Q N
248155
+ ATOM 30 C6 C Q 2 -2.608 -10.568 5.075 1.00 20.00 Q C
248156
+ ATOM 31 C2 C Q 2 -1.282 -12.505 5.564 1.00 20.00 Q C
248157
+ ATOM 32 O2 C Q 2 -1.229 -13.666 6.009 1.00 20.00 Q O
248158
+ ATOM 33 N3 C Q 2 -0.187 -11.859 5.106 1.00 20.00 Q N
248159
+ ATOM 34 C4 C Q 2 -0.292 -10.611 4.645 1.00 20.00 Q C
248160
+ ATOM 35 N4 C Q 2 0.815 -10.019 4.194 1.00 20.00 Q N
248161
+ ATOM 36 C5 C Q 2 -1.537 -9.920 4.625 1.00 20.00 Q C
248162
+ ATOM 37 C2' C Q 2 -3.929 -12.413 7.517 1.00 20.00 Q C
248163
+ ATOM 38 O2' C Q 2 -4.616 -13.546 7.991 1.00 20.00 Q O
248164
+ ATOM 39 C3' C Q 2 -4.799 -11.168 7.591 1.00 20.00 Q C
248165
+ ATOM 40 O3' C Q 2 -5.600 -11.193 8.766 1.00 20.00 Q O
248166
+ ATOM 41 P A Q 3 -4.940 -11.446 10.232 1.00 20.00 Q P
248167
+ ATOM 42 O1P A Q 3 -6.007 -12.136 11.012 1.00 20.00 Q O
248168
+ ATOM 43 O2P A Q 3 -4.345 -10.197 10.770 1.00 20.00 Q O
248169
+ ATOM 44 O5' A Q 3 -3.787 -12.546 10.091 1.00 20.00 Q O
248170
+ ATOM 45 C5' A Q 3 -3.983 -13.848 10.656 1.00 20.00 Q C
248171
+ ATOM 46 C4' A Q 3 -2.675 -14.512 11.030 1.00 20.00 Q C
248172
+ ATOM 47 O4' A Q 3 -1.864 -14.738 9.853 1.00 20.00 Q O
248173
+ ATOM 48 C1' A Q 3 -0.503 -14.773 10.233 1.00 20.00 Q C
248174
+ ATOM 49 N9 A Q 3 0.189 -13.720 9.488 1.00 20.00 Q N
248175
+ ATOM 50 C4 A Q 3 1.525 -13.615 9.179 1.00 20.00 Q C
248176
+ ATOM 51 N3 A Q 3 2.522 -14.454 9.499 1.00 20.00 Q N
248177
+ ATOM 52 C2 A Q 3 3.686 -14.006 9.027 1.00 20.00 Q C
248178
+ ATOM 53 N1 A Q 3 3.943 -12.897 8.322 1.00 20.00 Q N
248179
+ ATOM 54 C6 A Q 3 2.915 -12.078 8.016 1.00 20.00 Q C
248180
+ ATOM 55 N6 A Q 3 3.159 -10.968 7.311 1.00 20.00 Q N
248181
+ ATOM 56 C5 A Q 3 1.637 -12.436 8.457 1.00 20.00 Q C
248182
+ ATOM 57 N7 A Q 3 0.405 -11.826 8.317 1.00 20.00 Q N
248183
+ ATOM 58 C8 A Q 3 -0.418 -12.624 8.946 1.00 20.00 Q C
248184
+ ATOM 59 C2' A Q 3 -0.451 -14.600 11.753 1.00 20.00 Q C
248185
+ ATOM 60 O2' A Q 3 -0.415 -15.878 12.347 1.00 20.00 Q O
248186
+ ATOM 61 C3' A Q 3 -1.743 -13.844 12.032 1.00 20.00 Q C
248187
+ ATOM 62 O3' A Q 3 -2.242 -14.105 13.347 1.00 20.00 Q O
248188
+ ATOM 1 P DG R 1 -0.354 -9.215 -1.849 1.00 20.00 P
248189
+ ATOM 2 O1P DG R 1 -0.207 -10.499 -2.569 1.00 20.00 O
248190
+ ATOM 3 O2P DG R 1 -1.304 -9.104 -0.720 1.00 20.00 O
248191
+ ATOM 4 O5' DG R 1 1.084 -8.739 -1.333 1.00 20.00 O
248192
+ ATOM 5 O3' DG R 1 4.211 -6.835 0.518 1.00 20.00 O
248193
+ ATOM 6 C1' DG R 1 1.903 -5.330 -0.003 1.00 20.00 C
248194
+ ATOM 7 C2' DG R 1 1.811 -6.647 0.752 1.00 20.00 C
248195
+ ATOM 8 C3' DG R 1 2.971 -7.365 0.076 1.00 20.00 C
248196
+ ATOM 9 C4' DG R 1 2.757 -6.990 -1.386 1.00 20.00 C
248197
+ ATOM 10 C5' DG R 1 1.926 -7.975 -2.188 1.00 20.00 C
248198
+ ATOM 11 O4' DG R 1 2.086 -5.703 -1.354 1.00 20.00 O
248199
+ ATOM 12 N9 DG R 1 0.728 -4.472 0.106 1.00 20.00 N
248200
+ ATOM 13 C8 DG R 1 -0.586 -4.835 0.294 1.00 20.00 C
248201
+ ATOM 14 N7 DG R 1 -1.409 -3.819 0.350 1.00 20.00 N
248202
+ ATOM 15 C5 DG R 1 -0.599 -2.700 0.190 1.00 20.00 C
248203
+ ATOM 16 C4 DG R 1 0.718 -3.092 0.039 1.00 20.00 C
248204
+ ATOM 17 N1 DG R 1 0.231 -0.536 -0.024 1.00 20.00 N
248205
+ ATOM 18 C2 DG R 1 1.512 -1.022 -0.166 1.00 20.00 C
248206
+ ATOM 19 N3 DG R 1 1.813 -2.313 -0.141 1.00 20.00 N
248207
+ ATOM 20 C6 DG R 1 -0.909 -1.319 0.162 1.00 20.00 C
248208
+ ATOM 21 O6 DG R 1 -2.018 -0.779 0.278 1.00 20.00 O
248209
+ ATOM 22 N2 DG R 1 2.491 -0.117 -0.337 1.00 20.00 N
248210
248210
  END
248211
248211
  {
248212
248212
  "date_last_updated": "11/21/2022",