moorhen 0.8.3 → 0.8.5

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/README.md CHANGED
@@ -67,15 +67,16 @@ Binaries are available on the releases page. Please read the instructions there
67
67
  5. Build gsl, Boost, RDKIt, Coot, the CCP4 libraries and examples:
68
68
  <br>In this branch, it is intended that you do the build in the source directory.
69
69
  <br/>After first checkout you should run the following script to build:
70
- `./initial_build.sh`
70
+ `./moorhen_build.sh`
71
71
  This should build all dependencies and then `Moorhen`.
72
72
  \
73
73
  \
74
74
  It is also possible to build a 64-bit version of Moorhen which (currently) can address up to 8GB memory:
75
- `./initial_build.sh --64bit`
75
+ `./moorhen_build.sh --64bit`
76
76
  Note that you need a 64-bit WASM capable web browser to use this. Most browsers are not 64-bit capable by default. Some have
77
77
  64-bit capability available as an option or in development versions.
78
- See the `MEMORY64` feature at [https://webassembly.org/features/](https://webassembly.org/features/)
78
+ See the `MEMORY64` feature at [https://webassembly.org/features/](https://webassembly.org/features/)
79
+ Moorhen developers have seen success with Firefox Nightly on MacOS and Linux and Chrome Canary (with `chrome://flags/#enable-experimental-webassembly-features`) on MacOS.
79
80
 
80
81
  6. To run the Moorhen molecular graphics application:
81
82
  `cd baby-gru`
@@ -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),l.push(z),_.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:[l,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:[l,null],instance_orientations:[_,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:[l,null],instance_orientations:[_,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:[l],instance_orientations:[_]}},simpleMeshToMeshData=function(e,a){void 0===a&&(a=!1);var r=(performance.now(),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),l=new Float32Array(4*o);cootModule.getPositionsFromSimpleMesh2(e,i),cootModule.getColoursFromSimpleMesh2(e,l),a?(cootModule.getReversedNormalsFromSimpleMesh2(e,c),cootModule.getPermutedTriangleIndicesFromSimpleMesh2(e,n)):(cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getTriangleIndicesFromSimpleMesh2(e,n)),performance.now();var _=i,u=l,d=c,m=n;return r.delete(),t.delete(),{prim_types:[["TRIANGLES"]],idx_tri:[[m]],vert_tri:[[_]],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,l=c.residue_spec,_={reference:{chainId:i.chain_id,insCode:i.ins_code,seqNum:i.res_no,restype:"UNK",value:n.function_value,label:n.label},moving:{chainId:l.chain_id,insCode:l.ins_code,seqNum:l.res_no,restype:"UNK",value:c.function_value,label:c.label}};t.push(_)}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},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 l="".concat(guid(),".glb");molecules_container.export_model_molecule_as_gltf(e,a,r,t,o,s,n,i,c,l);var _=cootModule.FS.readFile(l,{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,l=i.second,_=t.get(n);a.push({x:c.x(),y:c.y(),z:c.z(),asString:c.symm_as_string,isym:c.isym(),us:l.us,ws:l.ws,vs:l.vs,matrix:_}),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(),l=0;l<c;l++){var _=i.get(l),u=_.residue_spec;r.push({chainId:u.chain_id,insCode:u.ins_code,seqNum:u.res_no,restype:"UNK",value:_.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 l=n.get(c),_=l.getStart(),u=l.getFinish(),d=l.amplitude(),m={x:_.x(),y:_.y(),z:_.z()},p={x:u.x(),y:u.y(),z:u.z()};s.push({start:m,end:p,dist:d}),_.delete(),u.delete(),l.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){var r=(performance.now(),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),l=new Float32Array(4*s);cootModule.getLineIndicesFromSimpleMesh2(e,n),cootModule.getPositionsFromSimpleMesh2(e,i),cootModule.getNormalsFromSimpleMesh2(e,c),cootModule.getColoursFromSimpleMesh2(e,l),performance.now();var _=n,u=i,d=c,m=l;return r.delete(),t.delete(),a?{prim_types:[["NORMALLINES"]],useIndices:[[!0]],idx_tri:[[_]],vert_tri:[[u]],additional_norm_tri:[[d]],norm_tri:[[d]],col_tri:[[m]]}:{prim_types:[["LINES"]],useIndices:[[!0]],idx_tri:[[_]],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 l={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(l)}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"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("./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))};
@@ -379,6 +379,29 @@ const mapMoleculeCentreInfoToJSObject = (mapMoleculeCentreInfo: libcootApi.MapMo
379
379
  return returnResult;
380
380
  }
381
381
 
382
+ const textureAsFloatsToJSTextureAsFloats = (data:libcootApi.textureAsFloats): libcootApi.textureAsFloatsJS => {
383
+
384
+ let image_data = []
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
+ }
392
+
393
+ data.image_data.delete()
394
+
395
+ return {
396
+ width:data.width,
397
+ height:data.height,
398
+ x_size:data.x_size,
399
+ y_size:data.y_size,
400
+ z_position:data.z_position,
401
+ image_data:image_data,
402
+ };
403
+ }
404
+
382
405
  const fitLigandInfoArrayToJSArray = (fitLigandInfoVec: emscriptem.vector<libcootApi.fitLigandInfo>): libcootApi.fitLigandInfo[] => {
383
406
  const result: libcootApi.fitLigandInfo[] = []
384
407
 
@@ -1040,6 +1063,9 @@ const doCootCommand = (messageData: {
1040
1063
 
1041
1064
  let returnResult;
1042
1065
  switch (returnType) {
1066
+ case 'texture_as_floats_t':
1067
+ returnResult = textureAsFloatsToJSTextureAsFloats(cootResult)
1068
+ break;
1043
1069
  case 'fit_ligand_info_array':
1044
1070
  returnResult = fitLigandInfoArrayToJSArray(cootResult)
1045
1071
  break;
@@ -7,36 +7,34 @@ _chem_comp.group
7
7
  _chem_comp.number_atoms_all
8
8
  _chem_comp.number_atoms_nh
9
9
  _chem_comp.desc_level
10
- PRO PRO PROLINE P-peptide 17 8 .
10
+ PRO PRO PROLINE P-peptide 16 8 .
11
11
 
12
12
  data_comp_PRO
13
13
  loop_
14
14
  _chem_comp_atom.comp_id
15
15
  _chem_comp_atom.atom_id
16
- _chem_comp_atom.alt_atom_id
17
16
  _chem_comp_atom.type_symbol
18
17
  _chem_comp_atom.type_energy
19
18
  _chem_comp_atom.charge
20
19
  _chem_comp_atom.x
21
20
  _chem_comp_atom.y
22
21
  _chem_comp_atom.z
23
- PRO N N N NT2 1 39.160 37.649 83.026
24
- PRO CA CA C CH1 0 38.550 38.680 82.125
25
- PRO C C C C 0 37.155 39.077 82.602
26
- PRO O O O O 0 36.450 38.196 83.146
27
- PRO CB CB C CH2 0 38.553 38.007 80.756
28
- PRO CG CG C CH2 0 38.265 36.558 81.098
29
- PRO CD CD C CH2 0 38.934 36.298 82.416
30
- PRO OXT OXT O OC -1 36.821 40.268 82.409
31
- PRO H H H H 0 40.054 37.806 83.097
32
- PRO H2 H2 H H 0 38.800 37.681 83.862
33
- PRO HA HA H H 0 39.125 39.473 82.102
34
- PRO HB3 HB3 H H 0 39.422 38.100 80.320
35
- PRO HB2 HB2 H H 0 37.858 38.378 80.178
36
- PRO HG3 HG3 H H 0 38.625 35.964 80.410
37
- PRO HG2 HG2 H H 0 37.302 36.406 81.169
38
- PRO HD3 HD3 H H 0 38.363 35.755 82.994
39
- PRO HD2 HD2 H H 0 39.785 35.835 82.289
22
+ PRO N N NR15 0 39.037 37.549 83.040
23
+ PRO CA C CH1 0 38.574 38.605 82.148
24
+ PRO C C C 0 37.249 39.192 82.624
25
+ PRO O O O 0 36.298 38.401 82.791
26
+ PRO CB C CH2 0 38.459 37.920 80.773
27
+ PRO CG C CH2 0 38.237 36.468 81.113
28
+ PRO CD C CH2 0 39.066 36.257 82.367
29
+ PRO OXT O OC -1 37.210 40.425 82.814
30
+ PRO H H H 0 39.264 37.676 83.860
31
+ PRO HA H H 0 39.261 39.316 82.107
32
+ PRO HB3 H H 0 39.287 38.037 80.252
33
+ PRO HB2 H H 0 37.701 38.283 80.256
34
+ PRO HG3 H H 0 38.544 35.886 80.387
35
+ PRO HG2 H H 0 37.289 36.288 81.286
36
+ PRO HD3 H H 0 38.673 35.556 82.933
37
+ PRO HD2 H H 0 39.987 36.001 82.137
40
38
 
41
39
  loop_
42
40
  _chem_comp_tree.comp_id
@@ -44,40 +42,38 @@ _chem_comp_tree.atom_id
44
42
  _chem_comp_tree.atom_back
45
43
  _chem_comp_tree.atom_forward
46
44
  _chem_comp_tree.connect_type
47
- PRO N n/a CA START
48
- PRO CA N C .
49
- PRO HA CA . .
50
- PRO CB CA CG .
51
- PRO HB3 CB . .
52
- PRO HB2 CB . .
53
- PRO CG CB CD .
54
- PRO HG3 CG . .
55
- PRO HG2 CG . .
56
- PRO CD CG HD2 .
57
- PRO HD3 CD . .
58
- PRO HD2 CD . .
59
- PRO C CA . END
60
- PRO O C . .
61
- PRO OXT C . .
62
- PRO H N . .
63
- PRO H2 N . .
64
- PRO CD N . ADD
45
+ PRO N n/a CA START
46
+ PRO CA N C .
47
+ PRO HA CA . .
48
+ PRO CB CA CG .
49
+ PRO HB3 CB . .
50
+ PRO HB2 CB . .
51
+ PRO CG CB CD .
52
+ PRO HG3 CG . .
53
+ PRO HG2 CG . .
54
+ PRO CD CG HD2 .
55
+ PRO HD3 CD . .
56
+ PRO HD2 CD . .
57
+ PRO C CA . END
58
+ PRO O C . .
59
+ PRO OXT C . .
60
+ PRO H N . .
61
+ PRO CD N . ADD
65
62
 
66
63
  loop_
67
64
  _chem_comp_acedrg.comp_id
68
65
  _chem_comp_acedrg.atom_id
69
66
  _chem_comp_acedrg.atom_type
70
- PRO N N[5](C[5]C[5]CH)(C[5]C[5]HH)(H)2{4|H<1>}
71
- PRO CA C[5](C[5]C[5]HH)(N[5]C[5]HH)(COO)(H){4|H<1>}
72
- PRO C C(C[5]C[5]N[5]H)(O)2
73
- PRO O O(CC[5]O)
74
- PRO CB C[5](C[5]C[5]HH)(C[5]N[5]CH)(H)2{4|H<1>}
75
- PRO CG C[5](C[5]C[5]HH)(C[5]N[5]HH)(H)2{1|C<3>,3|H<1>}
76
- PRO CD C[5](C[5]C[5]HH)(N[5]C[5]HH)(H)2{1|C<3>,3|H<1>}
67
+ PRO N N[5](C[5]C[5]CH)(C[5]C[5]HH)(H){4|H<1>}
68
+ PRO CA C[5](C[5]C[5]HH)(N[5]C[5]H)(COO)(H){4|H<1>}
69
+ PRO C C(C[5]C[5]N[5]H)(O)2
70
+ PRO O O(CC[5]O)
71
+ PRO CB C[5](C[5]C[5]HH)(C[5]N[5]CH)(H)2{3|H<1>}
72
+ PRO CG C[5](C[5]C[5]HH)(C[5]N[5]HH)(H)2{1|C<3>,2|H<1>}
73
+ PRO CD C[5](C[5]C[5]HH)(N[5]C[5]H)(H)2{1|C<3>,3|H<1>}
77
74
  PRO OXT O(CC[5]O)
78
- PRO H H(N[5]C[5]2H)
79
- PRO H2 H(N[5]C[5]2H)
80
- PRO HA H(C[5]C[5]N[5]C)
75
+ PRO H H(N[5]C[5]2)
76
+ PRO HA H(C[5]C[5]N[5]C)
81
77
  PRO HB3 H(C[5]C[5]2H)
82
78
  PRO HB2 H(C[5]C[5]2H)
83
79
  PRO HG3 H(C[5]C[5]2H)
@@ -89,29 +85,28 @@ loop_
89
85
  _chem_comp_bond.comp_id
90
86
  _chem_comp_bond.atom_id_1
91
87
  _chem_comp_bond.atom_id_2
92
- _chem_comp_bond.value_order
93
- _chem_comp_bond.pdbx_aromatic_flag
88
+ _chem_comp_bond.type
89
+ _chem_comp_bond.aromatic
94
90
  _chem_comp_bond.value_dist_nucleus
95
91
  _chem_comp_bond.value_dist_nucleus_esd
96
92
  _chem_comp_bond.value_dist
97
93
  _chem_comp_bond.value_dist_esd
98
- PRO N CA SINGLE n 1.496 0.0142 1.496 0.0142
99
- PRO N CD SINGLE n 1.499 0.0135 1.499 0.0135
100
- PRO CA C SINGLE n 1.525 0.0103 1.525 0.0103
101
- PRO CA CB SINGLE n 1.526 0.0157 1.526 0.0157
102
- PRO C O DOUBLE n 1.252 0.0117 1.252 0.0117
103
- PRO C OXT SINGLE n 1.252 0.0117 1.252 0.0117
104
- PRO CB CG SINGLE n 1.516 0.0179 1.516 0.0179
105
- PRO CG CD SINGLE n 1.497 0.0200 1.497 0.0200
106
- PRO N H SINGLE n 1.018 0.0520 0.910 0.0200
107
- PRO N H2 SINGLE n 1.018 0.0520 0.910 0.0200
108
- PRO CA HA SINGLE n 1.092 0.0100 0.980 0.0200
109
- PRO CB HB3 SINGLE n 1.092 0.0100 0.977 0.0145
110
- PRO CB HB2 SINGLE n 1.092 0.0100 0.977 0.0145
111
- PRO CG HG3 SINGLE n 1.092 0.0100 0.978 0.0181
112
- PRO CG HG2 SINGLE n 1.092 0.0100 0.978 0.0181
113
- PRO CD HD3 SINGLE n 1.092 0.0100 0.977 0.0199
114
- PRO CD HD2 SINGLE n 1.092 0.0100 0.977 0.0199
94
+ PRO N CA SINGLE n 1.457 0.0100 1.457 0.0100
95
+ PRO N CD SINGLE n 1.458 0.0200 1.458 0.0200
96
+ PRO CA C SINGLE n 1.524 0.0159 1.524 0.0159
97
+ PRO CA CB SINGLE n 1.534 0.0192 1.534 0.0192
98
+ PRO C O DOUBLE n 1.248 0.0171 1.248 0.0171
99
+ PRO C OXT SINGLE n 1.248 0.0171 1.248 0.0171
100
+ PRO CB CG SINGLE n 1.509 0.0200 1.509 0.0200
101
+ PRO CG CD SINGLE n 1.521 0.0187 1.521 0.0187
102
+ PRO N H SINGLE n 1.018 0.0520 0.860 0.0100
103
+ PRO CA HA SINGLE n 1.092 0.0100 0.990 0.0200
104
+ PRO CB HB3 SINGLE n 1.092 0.0100 0.986 0.0200
105
+ PRO CB HB2 SINGLE n 1.092 0.0100 0.986 0.0200
106
+ PRO CG HG3 SINGLE n 1.092 0.0100 0.980 0.0127
107
+ PRO CG HG2 SINGLE n 1.092 0.0100 0.980 0.0127
108
+ PRO CD HD3 SINGLE n 1.092 0.0100 0.983 0.0176
109
+ PRO CD HD2 SINGLE n 1.092 0.0100 0.983 0.0176
115
110
 
116
111
  loop_
117
112
  _chem_comp_angle.comp_id
@@ -120,39 +115,36 @@ _chem_comp_angle.atom_id_2
120
115
  _chem_comp_angle.atom_id_3
121
116
  _chem_comp_angle.value_angle
122
117
  _chem_comp_angle.value_angle_esd
123
- PRO CA N CD 107.978 1.50
124
- PRO CA N H 109.889 3.00
125
- PRO CA N H2 109.889 3.00
126
- PRO CD N H 110.257 3.00
127
- PRO CD N H2 110.257 3.00
128
- PRO H N H2 108.772 3.00
129
- PRO N CA C 110.397 1.50
130
- PRO N CA CB 103.994 1.50
131
- PRO N CA HA 109.579 1.50
132
- PRO C CA CB 113.159 3.00
133
- PRO C CA HA 109.687 1.50
134
- PRO CB CA HA 109.910 1.89
135
- PRO CA C O 116.979 3.00
136
- PRO CA C OXT 116.979 3.00
137
- PRO O C OXT 126.043 1.52
138
- PRO CA CB CG 101.701 3.00
139
- PRO CA CB HB3 110.865 1.50
140
- PRO CA CB HB2 110.865 1.50
141
- PRO CG CB HB3 110.891 1.59
142
- PRO CG CB HB2 110.891 1.59
118
+ PRO CA N CD 110.881 3.00
119
+ PRO CA N H 124.203 1.50
120
+ PRO CD N H 124.916 3.00
121
+ PRO N CA C 111.610 3.00
122
+ PRO N CA CB 102.532 3.00
123
+ PRO N CA HA 109.054 1.85
124
+ PRO C CA CB 112.350 1.50
125
+ PRO C CA HA 109.862 1.50
126
+ PRO CB CA HA 109.576 1.50
127
+ PRO CA C O 117.170 3.00
128
+ PRO CA C OXT 117.170 3.00
129
+ PRO O C OXT 125.661 1.52
130
+ PRO CA CB CG 103.478 1.50
131
+ PRO CA CB HB3 110.876 1.50
132
+ PRO CA CB HB2 110.876 1.50
133
+ PRO CG CB HB3 110.891 1.59
134
+ PRO CG CB HB2 110.891 1.59
143
135
  PRO HB3 CB HB2 108.880 2.25
144
- PRO CB CG CD 105.541 3.00
145
- PRO CB CG HG3 110.897 1.50
146
- PRO CB CG HG2 110.897 1.50
147
- PRO CD CG HG3 110.621 1.50
148
- PRO CD CG HG2 110.621 1.50
136
+ PRO CB CG CD 104.486 3.00
137
+ PRO CB CG HG3 110.897 1.50
138
+ PRO CB CG HG2 110.897 1.50
139
+ PRO CD CG HG3 110.795 1.50
140
+ PRO CD CG HG2 110.795 1.50
149
141
  PRO HG3 CG HG2 108.871 1.50
150
- PRO N CD CG 104.386 2.30
151
- PRO N CD HD3 110.569 1.50
152
- PRO N CD HD2 110.569 1.50
153
- PRO CG CD HD3 111.131 1.62
154
- PRO CG CD HD2 111.131 1.62
155
- PRO HD3 CD HD2 109.116 1.50
142
+ PRO N CD CG 104.878 3.00
143
+ PRO N CD HD3 110.854 1.50
144
+ PRO N CD HD2 110.854 1.50
145
+ PRO CG CD HD3 110.755 1.50
146
+ PRO CG CD HD2 110.755 1.50
147
+ PRO HD3 CD HD2 108.734 1.82
156
148
 
157
149
  loop_
158
150
  _chem_comp_tor.comp_id
@@ -164,12 +156,12 @@ _chem_comp_tor.atom_id_4
164
156
  _chem_comp_tor.value_angle
165
157
  _chem_comp_tor.value_angle_esd
166
158
  _chem_comp_tor.period
167
- PRO chi1 N CA CB CG -60.000 10.0 3
168
- PRO chi2 CA CB CG CD 180.000 10.0 3
169
- PRO sp3_sp3_1 CB CA N CD 60.000 10.0 3
170
- PRO sp3_sp3_28 N CD CG CB -60.000 10.0 3
171
- PRO sp3_sp3_37 CG CD N CA 180.000 10.0 3
172
- PRO sp2_sp3_1 O C CA N 0.000 10.0 6
159
+ PRO chi1 N CA CB CG -60.000 10.0 3
160
+ PRO chi2 CA CB CG CD 180.000 10.0 3
161
+ PRO sp3_sp3_1 CB CA N CD 60.000 10.0 3
162
+ PRO sp3_sp3_25 N CD CG CB -60.000 10.0 3
163
+ PRO sp3_sp3_34 CG CD N CA 180.000 10.0 3
164
+ PRO sp2_sp3_1 O C CA N 0.000 10.0 6
173
165
 
174
166
  loop_
175
167
  _chem_comp_chir.comp_id
@@ -180,16 +172,21 @@ _chem_comp_chir.atom_id_2
180
172
  _chem_comp_chir.atom_id_3
181
173
  _chem_comp_chir.volume_sign
182
174
  PRO chir_1 CA N C CB positive
175
+ PRO chir_2 N CA CD H both
183
176
 
184
177
  loop_
185
178
  _chem_comp_plane_atom.comp_id
186
179
  _chem_comp_plane_atom.plane_id
187
180
  _chem_comp_plane_atom.atom_id
188
181
  _chem_comp_plane_atom.dist_esd
189
- PRO plan-1 C 0.020
190
- PRO plan-1 CA 0.020
191
- PRO plan-1 O 0.020
192
- PRO plan-1 OXT 0.020
182
+ PRO plan-1 CA 0.020
183
+ PRO plan-1 CD 0.020
184
+ PRO plan-1 H 0.020
185
+ PRO plan-1 N 0.020
186
+ PRO plan-2 C 0.020
187
+ PRO plan-2 CA 0.020
188
+ PRO plan-2 O 0.020
189
+ PRO plan-2 OXT 0.020
193
190
 
194
191
  loop_
195
192
  _pdbx_chem_comp_descriptor.comp_id
@@ -197,20 +194,20 @@ _pdbx_chem_comp_descriptor.type
197
194
  _pdbx_chem_comp_descriptor.program
198
195
  _pdbx_chem_comp_descriptor.program_version
199
196
  _pdbx_chem_comp_descriptor.descriptor
200
- PRO SMILES ACDLabs 10.04 "O=C(O)C1NCCC1"
201
- PRO SMILES_CANONICAL CACTVS 3.341 "OC(=O)[C@@H]1CCCN1"
202
- PRO SMILES CACTVS 3.341 "OC(=O)[CH]1CCCN1"
203
- PRO SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C1C[C@H](NC1)C(=O)O"
204
- PRO SMILES "OpenEye OEToolkits" 1.5.0 "C1CC(NC1)C(=O)O"
205
- PRO InChI InChI 1.03 "InChI=1S/C5H9NO2/c7-5(8)4-2-1-3-6-4/h4,6H,1-3H2,(H,7,8)/t4-/m0/s1"
206
- PRO InChIKey InChI 1.03 ONIBWKKTOPOVIA-BYPYZUCNSA-N
197
+ PRO SMILES ACDLabs 10.04 O=C(O)C1NCCC1
198
+ PRO SMILES_CANONICAL CACTVS 3.341 OC(=O)[C@@H]1CCCN1
199
+ PRO SMILES CACTVS 3.341 OC(=O)[CH]1CCCN1
200
+ PRO SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 C1C[C@H](NC1)C(=O)O
201
+ PRO SMILES "OpenEye OEToolkits" 1.5.0 C1CC(NC1)C(=O)O
202
+ PRO InChI InChI 1.03 InChI=1S/C5H9NO2/c7-5(8)4-2-1-3-6-4/h4,6H,1-3H2,(H,7,8)/t4-/m0/s1
203
+ PRO InChIKey InChI 1.03 ONIBWKKTOPOVIA-BYPYZUCNSA-N
207
204
 
208
205
  loop_
209
206
  _pdbx_chem_comp_description_generator.comp_id
210
207
  _pdbx_chem_comp_description_generator.program_name
211
208
  _pdbx_chem_comp_description_generator.program_version
212
209
  _pdbx_chem_comp_description_generator.descriptor
213
- PRO acedrg 281 "dictionary generator"
214
- PRO acedrg_database 12 "data source"
215
- PRO rdkit 2019.09.1 "Chemoinformatics tool"
216
- PRO refmac5 5.8.0419 "optimization tool"
210
+ PRO acedrg 278 "dictionary generator"
211
+ PRO acedrg_database 12 "data source"
212
+ PRO rdkit 2019.09.1 "Chemoinformatics tool"
213
+ PRO refmac5 5.8.0419 "optimization tool"
@@ -19,30 +19,30 @@ _chem_comp_atom.charge
19
19
  _chem_comp_atom.x
20
20
  _chem_comp_atom.y
21
21
  _chem_comp_atom.z
22
- TYR N N NT3 1 5.311 5.160 15.589
23
- TYR CA C CH1 0 5.358 6.374 16.456
24
- TYR C C C 0 4.823 7.578 15.662
25
- TYR O O O 0 3.988 8.305 16.245
26
- TYR CB C CH2 0 6.763 6.679 16.994
27
- TYR CG C CR6 0 7.348 5.630 17.938
28
- TYR CD1 C CR16 0 7.096 5.672 19.314
29
- TYR CD2 C CR16 0 8.161 4.597 17.458
30
- TYR CE1 C CR16 0 7.628 4.720 20.176
31
- TYR CE2 C CR16 0 8.697 3.641 18.313
32
- TYR CZ C CR6 0 8.431 3.702 19.674
33
- TYR OH O OH1 0 8.982 2.738 20.476
34
- TYR OXT O OC -1 5.248 7.759 14.496
35
- TYR H H H 0 5.552 4.421 16.046
36
- TYR H2 H H 0 5.856 5.257 14.876
37
- TYR H3 H H 0 4.470 5.038 15.288
38
- TYR HA H H 0 4.756 6.220 17.232
39
- TYR HB3 H H 0 6.733 7.543 17.464
40
- TYR HB2 H H 0 7.369 6.788 16.227
41
- TYR HD1 H H 0 6.552 6.358 19.667
42
- TYR HD2 H H 0 8.350 4.543 16.534
43
- TYR HE1 H H 0 7.444 4.765 21.099
44
- TYR HE2 H H 0 9.240 2.953 17.971
45
- TYR HH H H 0 8.782 2.828 21.308
22
+ TYR N N NT3 1 5.363 5.148 15.619
23
+ TYR CA C CH1 0 5.352 6.374 16.467
24
+ TYR C C C 0 4.808 7.551 15.649
25
+ TYR O O O 0 4.011 8.328 16.222
26
+ TYR CB C CH2 0 6.754 6.687 17.001
27
+ TYR CG C CR6 0 7.337 5.635 17.936
28
+ TYR CD1 C CR16 0 7.089 5.671 19.307
29
+ TYR CD2 C CR16 0 8.139 4.603 17.449
30
+ TYR CE1 C CR16 0 7.618 4.714 20.164
31
+ TYR CE2 C CR16 0 8.674 3.642 18.296
32
+ TYR CZ C CR6 0 8.413 3.697 19.657
33
+ TYR OH O OH1 0 8.936 2.754 20.494
34
+ TYR OXT O OC -1 5.198 7.654 14.465
35
+ TYR H H H 0 6.035 5.195 15.019
36
+ TYR H2 H H 0 4.582 5.061 15.177
37
+ TYR H3 H H 0 5.479 4.415 16.133
38
+ TYR HA H H 0 4.747 6.216 17.240
39
+ TYR HB3 H H 0 6.719 7.546 17.478
40
+ TYR HB2 H H 0 7.360 6.798 16.235
41
+ TYR HD1 H H 0 6.549 6.359 19.662
42
+ TYR HD2 H H 0 8.323 4.557 16.524
43
+ TYR HE1 H H 0 7.439 4.755 21.088
44
+ TYR HE2 H H 0 9.213 2.952 17.948
45
+ TYR HH H H 0 9.793 2.799 20.487
46
46
 
47
47
  loop_
48
48
  _chem_comp_tree.comp_id
@@ -205,7 +205,7 @@ TYR CONST_2 CG CD1 CE1 CZ 0.000 0.0 1
205
205
  TYR CONST_3 CZ CE2 CD2 CG 0.000 0.0 1
206
206
  TYR CONST_4 CD1 CE1 CZ CE2 0.000 0.0 1
207
207
  TYR CONST_5 CE1 CZ CE2 CD2 0.000 0.0 1
208
- TYR hh1 CE1 CZ OH HH 0.000 5.0 2
208
+ TYR hh1 CE1 CZ OH HH 90.000 5.0 2
209
209
  TYR sp3_sp3_1 C CA N H 180.000 10.0 3
210
210
  TYR const_21 CE2 CD2 CG CD1 0.000 0.0 1
211
211
  TYR sp2_sp3_1 O C CA N 0.000 10.0 6
@@ -265,4 +265,3 @@ TYR acedrg 278 "dictionary generator"
265
265
  TYR acedrg_database 12 "data source"
266
266
  TYR rdkit 2019.09.1 "Chemoinformatics tool"
267
267
  TYR refmac5 5.8.0419 "optimization tool"
268
- TYR servalcat 0.4.57 'optimization tool'