moorhen 0.6.7 → 0.6.8
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/baby-gru/CootWorker.js +1 -1
- package/baby-gru/CootWorker.ts +23 -27
- package/baby-gru/wasm/moorhen.js +1 -1
- package/baby-gru/wasm/moorhen.wasm +0 -0
- package/baby-gru/wasm/web_example.wasm +0 -0
- package/moorhen.js +7 -7
- package/package.json +4 -3
- package/types/libcoot.d.ts +24 -14
- package/types/main.d.ts +7 -5
- package/types/mgWebGL.d.ts +6 -2
- package/types/moorhen.d.ts +13 -5
package/baby-gru/CootWorker.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var cootModule,molecules_container,ccp4Module,__assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var a,t=1,s=arguments.length;t<s;t++)for(var r in a=arguments[t])Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r]);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 t=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===a?t:3&t|8).toString(16)}))},print=function(e){console.log(e),postMessage({consoleMessage:JSON.stringify(e)})},instancedMeshToMeshData=function(e,a,t,s){void 0===t&&(t=!1),void 0===s&&(s=1e4);for(var r=[],o=[],n=[],i=[],c=[],l=[],_=[],d=[],u=[],m=e.geom,p=e.markup,h=m.size(),g=0;g<h;g++){var f=t,v=[],y=[],b=[],S=[],z=[],M=[],T=[],x=m.get(g);"spherical-atoms"===x.name&&(f=!0);for(var A=x.vertices,I=x.triangles,k=I.size(),w=0;w<k;w++){var D=I.get(w).point_id;a?(v.push(D[0]),v.push(D[2]),v.push(D[1])):(v.push(D[0]),v.push(D[1]),v.push(D[2]))}I.delete();for(var F=A.size(),J=0;J<F;J++){var N=A.get(J),C=N.pos;y.push(C[0]),y.push(C[1]),y.push(C[2]);var R=N.normal;b.push(R[0]),b.push(R[1]),b.push(R[2]),N.delete()}A.delete();var E=x.instancing_data_A,O=E.size();if(O>0)for(var U=0;U<O;U++){var P=(H=E.get(U)).position;M.push(P[0]),M.push(P[1]),M.push(P[2]);var L=H.colour;z.push(L[0]),z.push(L[1]),z.push(L[2]),z.push(L[3]);var B=H.size;S.push(B[0]),S.push(B[1]),S.push(B[2]),T.push.apply(T,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),H.delete()}E.delete();var j=x.instancing_data_B,q=j.size();if(q>0)for(U=0;U<q;U++){var H;if(!((B=(H=j.get(U)).size)[2]>s)){S.push(B[0]),S.push(B[1]),S.push(B[2]),P=H.position,M.push(P[0]),M.push(P[1]),M.push(P[2]),L=H.colour,z.push(L[0]),z.push(L[1]),z.push(L[2]),z.push(L[3]);var V=H.orientation;T.push(V[0][0]),T.push(V[0][1]),T.push(V[0][2]),T.push(V[0][3]),T.push(V[1][0]),T.push(V[1][1]),T.push(V[1][2]),T.push(V[1][3]),T.push(V[2][0]),T.push(V[2][1]),T.push(V[2][2]),T.push(V[2][3]),T.push(V[3][0]),T.push(V[3][1]),T.push(V[3][2]),T.push(V[3][3]),H.delete()}}j.delete(),x.delete(),n.push(b),o.push(y),r.push(v),i.push(S),l.push(M),_.push(T),c.push(z),d.push(!0),f?u.push("PERFECT_SPHERES"):u.push("TRIANGLES")}m.delete();var K=simpleMeshToMeshData(p);return e.delete(),K.idx_tri.length>0&&K.idx_tri[0].length>0&&K.idx_tri[0][0].length>0?t?{prim_types:[u,K.prim_types[0]],idx_tri:[r,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:[d,null],instance_sizes:[i,null],instance_origins:[l,null],instance_orientations:[_,null]}:{prim_types:[u,K.prim_types[0]],idx_tri:[r,K.idx_tri[0]],vert_tri:[o,K.vert_tri[0]],norm_tri:[n,K.norm_tri[0]],col_tri:[c,K.col_tri[0]],instance_use_colors:[d,null],instance_sizes:[i,null],instance_origins:[l,null],instance_orientations:[_,null]}:{prim_types:[u],idx_tri:[r],vert_tri:[o],norm_tri:[n],col_tri:[c],instance_use_colors:[d],instance_sizes:[i],instance_origins:[l],instance_orientations:[_]}},simpleMeshToMeshData=function(e,a){void 0===a&&(a=!1);for(var t=e.vertices,s=e.triangles,r=[],o=[],n=[],i=[],c=s.size(),l=0;l<c;l++){var _=s.get(l).point_id;a?r.push.apply(r,[_[0],_[2],_[1]]):r.push.apply(r,_)}s.delete();var d=t.size();for(l=0;l<d;l++){var u=t.get(l),m=u.pos,p=u.normal,h=u.color;o.push.apply(o,m),a?n.push.apply(n,[-p[0],-p[1],-p[2]]):n.push.apply(n,p),i.push.apply(i,h),u.delete()}return t.delete(),e.delete(),{prim_types:[["TRIANGLES"]],idx_tri:[[r]],vert_tri:[[o]],norm_tri:[[n]],col_tri:[[i]]}},SuperposeResultsToJSArray=function(e){for(var a=e.aligned_pairs,t=a.size(),s=[],r=0;r<t;r++){var o=a.get(r),n=o.first,i=n.residue_spec,c=o.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}};c.delete(),l.delete(),n.delete(),i.delete(),s.push(_)}return a.delete(),{referenceSequence:e.alignment.first,movingSequence:e.alignment.second,supperposeInfo:e.superpose_info,alignedPairsData:s}},colourRulesToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push(r)}return e.delete(),a},floatArrayToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push(r)}return e.delete(),a},mapMoleculeCentreInfoToJSObject=function(e){var a=e.updated_centre,t={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(),t},intArrayToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push(r)}return e.delete(),a},stringArrayToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push(r)}return e.delete(),a},symmetryToJSData=function(e){for(var a=[],t=e.first,s=e.second,r=t.cell,o=t.symm_trans,n=o.size(),i=0;i<n;i++){var c=o.get(i),l=c.first,_=c.second,d=s.get(i);a.push({x:l.x(),y:l.y(),z:l.z(),asString:l.symm_as_string,isym:l.isym(),us:_.us,ws:_.ws,vs:_.vs,matrix:d}),l.delete()}return r.delete(),o.delete(),s.delete(),t.delete(),a},mmrrccStatsToJSArray=function(e){var a=function(e){for(var a=[],t=e.keys(),s=t.size(),r=0;r<s;r++){var o=t.get(r),n=e.get(o);a.push({resNum:o.res_no,insCode:o.ins_code,modelNumber:o.model_number,chainId:o.chain_id,n:n.n,correlation:n.correlation()}),o.delete(),n.delete()}return t.delete(),a},t=e.first,s=e.second,r={"All atoms":a(t),"Side-chains":a(s)};return t.delete(),s.delete(),r},atomSpecToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push({chain_id:r.chain_id,res_no:r.res_no,ins_code:r.ins_code,atom_name:r.atom_name,alt_conf:r.alt_conf,int_user_data:r.int_user_data,float_user_data:r.float_user_data,string_user_data:r.string_user_data,model_number:r.model_number}),r.delete()}return e.delete(),a},residueSpecToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push({resNum:r.res_no,insCode:r.ins_code,modelNumber:r.model_number,chainId:r.chain_id}),r.delete()}return e.delete(),a},validationDataToJSArray=function(e,a){void 0===a&&(a=null);for(var t=[],s=e.cviv,r=s.size(),o=0;o<r;o++){var n=s.get(o);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),d=_.residue_spec;t.push({chainId:d.chain_id,insCode:d.ins_code,seqNum:d.res_no,restype:"UNK",value:_.function_value}),_.delete(),d.delete()}i.delete()}n.delete()}return s.delete(),e.delete(),t},linesBoxToJSArray=function(e){for(var a=[],t=e.line_segments,s=t.size(),r=0;r<s;r++){for(var o=[],n=t.get(r),i=n.size(),c=0;c<i;c++){var l=n.get(c),_=l.getStart(),d=l.getFinish(),u=l.amplitude(),m={x:_.x(),y:_.y(),z:_.z()},p={x:d.x(),y:d.y(),z:d.z()};o.push({start:m,end:p,dist:u}),_.delete(),d.delete(),l.delete()}n.delete(),a.push(o)}return t.delete(),e.delete(),a},vectorHBondToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push({hb_hydrogen:r.hb_hydrogen,donor:r.donor,acceptor:r.acceptor,donor_neigh:r.donor_neigh,acceptor_neigh:r.acceptor_neigh,angle_1:r.angle_1,angle_2:r.angle_2,angle_3:r.angle_3,dist:r.dist,ligand_atom_is_donor:r.ligand_atom_is_donor,hydrogen_is_ligand_atom:r.hydrogen_is_ligand_atom,bond_has_hydrogen_flag:r.bond_has_hydrogen_flag})}return e.delete(),a},interestingPlaceDataToJSArray=function(e){for(var a=[],t=e.size(),s=0;s<t;s++){var r=e.get(s),o=r.residue_spec;a.push({modelNumber:o.model_number,chainId:o.chain_id,insCode:o.ins_code,resNum:o.res_no,featureType:r.feature_type,featureValue:r.feature_value,buttonLabel:r.button_label,badness:r.badness,coordX:r.x,coordY:r.y,coordZ:r.z}),r.delete(),o.delete()}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=[],t=e.size(),s=0;s<t;s++){var r=e.get(s);a.push({idx:r.idx,F:r.F,phi:r.phi,w:r.w,Rfree:r.Rfree,F_obs:r.F_obs,sigF_obs:r.sigF_obs,weights_used:r.weights_used}),r.delete()}return e.delete(),a},ramachandranDataToJSArray=function(e,a){for(var t=[],s=e.size(),r=0;r<s;r++){var o=e.get(r),n=o.phi_psi;n.chain_id===a&&t.push({chainId:n.chain_id,insCode:n.ins_code,seqNum:n.residue_number,restype:o.residue_name(),isOutlier:!o.is_allowed_flag,phi:n.phi(),psi:n.psi(),is_pre_pro:"PRO"===o.residue_name()}),o.delete(),n.delete()}return e.delete(),t},simpleMeshToLineMeshData=function(e,a){for(var t=e.vertices,s=e.triangles,r=[],o=[],n=[],i=[],c=s.size(),l=0;l<c;l++){var _=s.get(l).point_id;r.push.apply(r,[_[0],_[1],_[0],_[2],_[1],_[2]])}s.delete();var d=t.size();for(l=0;l<d;l++){var u=t.get(l);o.push.apply(o,u.pos),n.push.apply(n,u.normal),i.push.apply(i,u.color),u.delete()}return t.delete(),e.delete(),a?{prim_types:[["NORMALLINES"]],useIndices:[[!0]],idx_tri:[[r]],vert_tri:[[o]],additional_norm_tri:[[n]],norm_tri:[[n]],col_tri:[[i]]}:{prim_types:[["LINES"]],useIndices:[[!0]],idx_tri:[[r]],vert_tri:[[o]],norm_tri:[[n]],col_tri:[[i]]}},auto_open_mtz=function(e){var a=guid(),t=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(a,".mtz"),t,!0,!0);var s="./".concat(a,".mtz"),r=molecules_container.auto_read_mtz(s);return cootModule.FS_unlink(s),r},replace_map_by_mtz_from_file=function(e,a,t){var s=guid(),r="./".concat(s,".mtz"),o=new Uint8Array(a);cootModule.FS_createDataFile(".",r,o,!0,!0);var n=[e,r,t.F,t.PHI,"",!1],i=molecules_container.replace_map_by_mtz_from_file.apply(molecules_container,n);return cootModule.FS_unlink(r),i},new_positions_for_residue_atoms=function(e,a){var t=0,s=new cootModule.Vectormoved_residue_t;return a.forEach((function(e){if(e.length>0){var a=e[0].label.split("/"),t=a[3].split("."),r=t[0],o=t[1];o=o||"";var n=new cootModule.moved_residue_t(a[2],parseInt(r),o);e.forEach((function(e){var a=new cootModule.moved_atom_t(e.name,e.alt_loc,e.x,e.y,e.z,-1);n.add_atom(a),a.delete()})),s.push_back(n),n.delete()}})),t+=molecules_container.new_positions_for_atoms_in_residues(e,s),s.delete(),t},read_mtz=function(e,a,t){var s=guid(),r=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(s,".mtz"),r,!0,!0);var o="./".concat(s,".mtz"),n=[o,t.F,t.PHI,"",!1,t.isDifference],i=molecules_container.read_mtz.apply(molecules_container,n);return cootModule.FS_unlink(o),i},associate_data_mtz_file_with_map=function(e,a,t,s,r){var o=new Uint8Array(a.data);cootModule.FS_createDataFile(".","".concat(a.fileName,".mtz"),o,!0,!0);var n="./".concat(a.fileName,".mtz"),i=[e,n,t,s,r];return molecules_container.associate_data_mtz_file_with_map.apply(molecules_container,i),n},read_ccp4_map=function(e,a,t){var s=guid(),r=new Uint8Array(e),o="";a.endsWith(".map.gz")?o="map.gz":a.endsWith(".mrc.gz")&&(o="mrc.gz"),cootModule.FS_createDataFile(".","".concat(s).concat(o),r,!0,!0);var n="./".concat(s).concat(o),i=[n,t],c=molecules_container.read_ccp4_map.apply(molecules_container,i);return cootModule.FS_unlink(n),c},setUserDefinedBondColours=function(e,a,t){void 0===t&&(t=!1);var s=new cootModule.MapIntFloat3,r=new cootModule.VectorStringUInt_pair;a.forEach((function(e,a){s.set(a+51,e.rgb);var t={first:e.cid,second:a+51};r.push_back(t)})),molecules_container.set_user_defined_bond_colours(e,s),molecules_container.set_user_defined_atom_colour_by_selection(e,r,t),r.delete(),s.delete()},doCootCommand=function(e){var a=e.returnType,t=e.command,s=e.commandArgs,r=e.messageId,o=e.myTimeStamp,n=e.message;try{var i=void 0;switch(t){case"shim_new_positions_for_residue_atoms":i=new_positions_for_residue_atoms.apply(void 0,s);break;case"shim_read_mtz":i=read_mtz.apply(void 0,s);break;case"shim_auto_open_mtz":i=auto_open_mtz.apply(void 0,s);break;case"shim_read_ccp4_map":i=read_ccp4_map.apply(void 0,s);break;case"shim_associate_data_mtz_file_with_map":i=associate_data_mtz_file_with_map.apply(void 0,s);break;case"shim_replace_map_by_mtz_from_file":i=replace_map_by_mtz_from_file.apply(void 0,s);break;case"shim_set_bond_colours":i=setUserDefinedBondColours.apply(void 0,s);break;default:i=molecules_container[t].apply(molecules_container,s)}var c=void 0;switch(a){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"void":c=null;break;default:c=i}return{messageId:r,messageSendTime:Date.now(),command:t,consoleMessage:"Completed ".concat(t," in ").concat(Date.now()-o," ms"),result:{status:"Completed",result:c}}}catch(e){return console.log(e),{messageId:r,myTimeStamp:o,message:n,consoleMessage:"EXCEPTION RAISED IN ".concat(t,", ").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_show_timings(!1),molecules_container.fill_rotamer_probability_tables(),molecules_container.set_map_sampling_rate(1.7),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("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 t=guid(),s="./".concat(t,".map");molecules_container.writeCCP4Map(e.data.molNo,s);var r=cootModule.FS.readFile(s,{encoding:"binary"});cootModule.FS_unlink(s),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:r.buffer}})}else if("delete_file_name"===e.data.message){var o=cootModule.FS_unlink(e.data.fileName);postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,messageTag:"result",result:o})}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&&(o=doCootCommand(e.data),postMessage(o))};
|
|
1
|
+
var cootModule,molecules_container,ccp4Module,__assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var a,t=1,r=arguments.length;t<r;t++)for(var s in a=arguments[t])Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s]);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 t=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===a?t:3&t|8).toString(16)}))},print=function(e){console.log(e),postMessage({consoleMessage:JSON.stringify(e)})},instancedMeshToMeshData=function(e,a,t,r){void 0===t&&(t=!1),void 0===r&&(r=1e4);for(var s=[],o=[],n=[],i=[],c=[],_=[],l=[],u=[],d=[],m=e.geom,p=e.markup,h=m.size(),g=0;g<h;g++){var f=t,v=[],y=[],b=[],S=[],z=[],M=[],T=[],x=m.get(g);"spherical-atoms"===x.name&&(f=!0);for(var A=x.vertices,I=x.triangles,k=I.size(),w=0;w<k;w++){var D=I.get(w).point_id;a?(v.push(D[0]),v.push(D[2]),v.push(D[1])):(v.push(D[0]),v.push(D[1]),v.push(D[2]))}I.delete();for(var J=A.size(),F=0;F<J;F++){var N=A.get(F),C=N.pos;y.push(C[0]),y.push(C[1]),y.push(C[2]);var R=N.normal;b.push(R[0]),b.push(R[1]),b.push(R[2])}A.delete();var E=x.instancing_data_A,O=E.size();if(O>0)for(var U=0;U<O;U++){var P=(H=E.get(U)).position;M.push(P[0]),M.push(P[1]),M.push(P[2]);var L=H.colour;z.push(L[0]),z.push(L[1]),z.push(L[2]),z.push(L[3]);var B=H.size;S.push(B[0]),S.push(B[1]),S.push(B[2]),T.push.apply(T,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),H.delete()}E.delete();var j=x.instancing_data_B,q=j.size();if(q>0)for(U=0;U<q;U++){var H;if(!((B=(H=j.get(U)).size)[2]>r)){S.push(B[0]),S.push(B[1]),S.push(B[2]),P=H.position,M.push(P[0]),M.push(P[1]),M.push(P[2]),L=H.colour,z.push(L[0]),z.push(L[1]),z.push(L[2]),z.push(L[3]);var V=H.orientation;T.push(V[0][0]),T.push(V[0][1]),T.push(V[0][2]),T.push(V[0][3]),T.push(V[1][0]),T.push(V[1][1]),T.push(V[1][2]),T.push(V[1][3]),T.push(V[2][0]),T.push(V[2][1]),T.push(V[2][2]),T.push(V[2][3]),T.push(V[3][0]),T.push(V[3][1]),T.push(V[3][2]),T.push(V[3][3]),H.delete()}}j.delete(),n.push(b),o.push(y),s.push(v),i.push(S),_.push(M),l.push(T),c.push(z),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?t?{prim_types:[d,K.prim_types[0]],idx_tri:[s,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:[s,K.idx_tri[0]],vert_tri:[o,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:[s],vert_tri:[o],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);for(var t=e.vertices,r=e.triangles,s=[],o=[],n=[],i=[],c=r.size(),_=0;_<c;_++){var l=r.get(_).point_id;a?s.push.apply(s,[l[0],l[2],l[1]]):s.push.apply(s,l)}r.delete();var u=t.size();for(_=0;_<u;_++){var d=t.get(_),m=d.pos,p=d.normal,h=d.color;o.push.apply(o,m),a?n.push.apply(n,[-p[0],-p[1],-p[2]]):n.push.apply(n,p),i.push.apply(i,h)}return t.delete(),{prim_types:[["TRIANGLES"]],idx_tri:[[s]],vert_tri:[[o]],norm_tri:[[n]],col_tri:[[i]]}},SuperposeResultsToJSArray=function(e){for(var a=e.aligned_pairs,t=a.size(),r=[],s=0;s<t;s++){var o=a.get(s),n=o.first,i=n.residue_spec,c=o.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}};r.push(l)}return a.delete(),{referenceSequence:e.alignment.first,movingSequence:e.alignment.second,supperposeInfo:e.superpose_info,alignedPairsData:r}},colourRulesToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push(s)}return e.delete(),a},stringArrayArrayToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){for(var s=e.get(r),o=s.size(),n=[],i=0;i<o;i++){var c=s.get(i);n.push(c)}a.push(n),s.delete()}return e.delete(),a},floatArrayToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push(s)}return e.delete(),a},mapMoleculeCentreInfoToJSObject=function(e){var a=e.updated_centre,t={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(),t},intArrayToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push(s)}return e.delete(),a},stringArrayToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push(s)}return e.delete(),a},symmetryToJSData=function(e){for(var a=[],t=e.first,r=e.second,s=t.cell,o=t.symm_trans,n=o.size(),i=0;i<n;i++){var c=o.get(i),_=c.first,l=c.second,u=r.get(i);a.push({x:_.x(),y:_.y(),z:_.z(),asString:_.symm_as_string,isym:_.isym(),us:l.us,ws:l.ws,vs:l.vs,matrix:u}),_.delete()}return s.delete(),o.delete(),r.delete(),a},mmrrccStatsToJSArray=function(e){var a=function(e){for(var a=[],t=e.keys(),r=t.size(),s=0;s<r;s++){var o=t.get(s),n=e.get(o);a.push({resNum:o.res_no,insCode:o.ins_code,modelNumber:o.model_number,chainId:o.chain_id,n:n.n,correlation:n.correlation()}),n.delete()}return t.delete(),a},t=e.first,r=e.second,s={"All atoms":a(t),"Side-chains":a(r)};return t.delete(),r.delete(),s},atomSpecToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push({chain_id:s.chain_id,res_no:s.res_no,ins_code:s.ins_code,atom_name:s.atom_name,alt_conf:s.alt_conf,int_user_data:s.int_user_data,float_user_data:s.float_user_data,string_user_data:s.string_user_data,model_number:s.model_number})}return e.delete(),a},residueSpecToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push({resNum:s.res_no,insCode:s.ins_code,modelNumber:s.model_number,chainId:s.chain_id})}return e.delete(),a},validationDataToJSArray=function(e,a){void 0===a&&(a=null);for(var t=[],r=e.cviv,s=r.size(),o=0;o<s;o++){var n=r.get(o);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;t.push({chainId:u.chain_id,insCode:u.ins_code,seqNum:u.res_no,restype:"UNK",value:l.function_value})}i.delete()}}return r.delete(),e.delete(),t},linesBoxToJSArray=function(e){for(var a=[],t=e.line_segments,r=t.size(),s=0;s<r;s++){for(var o=[],n=t.get(s),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()};o.push({start:m,end:p,dist:d}),l.delete(),u.delete(),_.delete()}n.delete(),a.push(o)}return t.delete(),a},vectorHBondToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push({hb_hydrogen:s.hb_hydrogen,donor:s.donor,acceptor:s.acceptor,donor_neigh:s.donor_neigh,acceptor_neigh:s.acceptor_neigh,angle_1:s.angle_1,angle_2:s.angle_2,angle_3:s.angle_3,dist:s.dist,ligand_atom_is_donor:s.ligand_atom_is_donor,hydrogen_is_ligand_atom:s.hydrogen_is_ligand_atom,bond_has_hydrogen_flag:s.bond_has_hydrogen_flag})}return e.delete(),a},interestingPlaceDataToJSArray=function(e){for(var a=[],t=e.size(),r=0;r<t;r++){var s=e.get(r),o=s.residue_spec;a.push({modelNumber:o.model_number,chainId:o.chain_id,insCode:o.ins_code,resNum:o.res_no,featureType:s.feature_type,featureValue:s.feature_value,buttonLabel:s.button_label,badness:s.badness,coordX:s.x,coordY:s.y,coordZ:s.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=[],t=e.size(),r=0;r<t;r++){var s=e.get(r);a.push({idx:s.idx,F:s.F,phi:s.phi,w:s.w,Rfree:s.Rfree,F_obs:s.F_obs,sigF_obs:s.sigF_obs,weights_used:s.weights_used})}return e.delete(),a},ramachandranDataToJSArray=function(e,a){for(var t=[],r=e.size(),s=0;s<r;s++){var o=e.get(s),n=o.phi_psi;n.chain_id===a&&t.push({chainId:n.chain_id,insCode:n.ins_code,seqNum:n.residue_number,restype:o.residue_name(),isOutlier:!o.is_allowed_flag,phi:n.phi(),psi:n.psi(),is_pre_pro:"PRO"===o.residue_name()}),o.delete(),n.delete()}return e.delete(),t},simpleMeshToLineMeshData=function(e,a){for(var t=e.vertices,r=e.triangles,s=[],o=[],n=[],i=[],c=r.size(),_=0;_<c;_++){var l=r.get(_).point_id;s.push.apply(s,[l[0],l[1],l[0],l[2],l[1],l[2]])}r.delete();var u=t.size();for(_=0;_<u;_++){var d=t.get(_);o.push.apply(o,d.pos),n.push.apply(n,d.normal),i.push.apply(i,d.color)}return t.delete(),a?{prim_types:[["NORMALLINES"]],useIndices:[[!0]],idx_tri:[[s]],vert_tri:[[o]],additional_norm_tri:[[n]],norm_tri:[[n]],col_tri:[[i]]}:{prim_types:[["LINES"]],useIndices:[[!0]],idx_tri:[[s]],vert_tri:[[o]],norm_tri:[[n]],col_tri:[[i]]}},auto_open_mtz=function(e){var a=guid(),t=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(a,".mtz"),t,!0,!0);var r="./".concat(a,".mtz"),s=molecules_container.auto_read_mtz(r);return cootModule.FS_unlink(r),s},replace_map_by_mtz_from_file=function(e,a,t){var r=guid(),s="./".concat(r,".mtz"),o=new Uint8Array(a);cootModule.FS_createDataFile(".",s,o,!0,!0);var n=[e,s,t.F,t.PHI,"",!1],i=molecules_container.replace_map_by_mtz_from_file.apply(molecules_container,n);return cootModule.FS_unlink(s),i},new_positions_for_residue_atoms=function(e,a){var t=0,r=new cootModule.Vectormoved_residue_t;return a.forEach((function(e){if(e.length>0){var a=e[0].label.split("/"),t=a[3].split("."),s=t[0],o=t[1];o=o||"";var n=new cootModule.moved_residue_t(a[2],parseInt(s),o);e.forEach((function(e){var a=new cootModule.moved_atom_t(e.name,e.alt_loc,e.x,e.y,e.z,-1);n.add_atom(a),a.delete()})),r.push_back(n),n.delete()}})),t+=molecules_container.new_positions_for_atoms_in_residues(e,r),r.delete(),t},read_mtz=function(e,a,t){var r=guid(),s=new Uint8Array(e);cootModule.FS_createDataFile(".","".concat(r,".mtz"),s,!0,!0);var o="./".concat(r,".mtz"),n=[o,t.F,t.PHI,"",!1,t.isDifference],i=molecules_container.read_mtz.apply(molecules_container,n);return cootModule.FS_unlink(o),i},associate_data_mtz_file_with_map=function(e,a,t,r,s){var o=new Uint8Array(a.data);cootModule.FS_createDataFile(".","".concat(a.fileName,".mtz"),o,!0,!0);var n="./".concat(a.fileName,".mtz"),i=[e,n,t,r,s];return molecules_container.associate_data_mtz_file_with_map.apply(molecules_container,i),n},read_ccp4_map=function(e,a,t){var r=guid(),s=new Uint8Array(e),o="";a.endsWith(".map.gz")?o="map.gz":a.endsWith(".mrc.gz")&&(o="mrc.gz"),cootModule.FS_createDataFile(".","".concat(r).concat(o),s,!0,!0);var n="./".concat(r).concat(o),i=[n,t],c=molecules_container.read_ccp4_map.apply(molecules_container,i);return cootModule.FS_unlink(n),c},setUserDefinedBondColours=function(e,a,t){void 0===t&&(t=!1);var r=new cootModule.MapIntFloat3,s=new cootModule.VectorStringUInt_pair;a.forEach((function(e,a){r.set(a+51,e.rgb);var t={first:e.cid,second:a+51};s.push_back(t)})),molecules_container.set_user_defined_bond_colours(e,r),molecules_container.set_user_defined_atom_colour_by_selection(e,s,t),s.delete(),r.delete()},doCootCommand=function(e){var a=e.returnType,t=e.command,r=e.commandArgs,s=e.messageId,o=e.myTimeStamp,n=e.message;try{var i=void 0;switch(t){case"shim_new_positions_for_residue_atoms":i=new_positions_for_residue_atoms.apply(void 0,r);break;case"shim_read_mtz":i=read_mtz.apply(void 0,r);break;case"shim_auto_open_mtz":i=auto_open_mtz.apply(void 0,r);break;case"shim_read_ccp4_map":i=read_ccp4_map.apply(void 0,r);break;case"shim_associate_data_mtz_file_with_map":i=associate_data_mtz_file_with_map.apply(void 0,r);break;case"shim_replace_map_by_mtz_from_file":i=replace_map_by_mtz_from_file.apply(void 0,r);break;case"shim_set_bond_colours":i=setUserDefinedBondColours.apply(void 0,r);break;default:i=molecules_container[t].apply(molecules_container,r)}var c=void 0;switch(a){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"void":c=null;break;default:c=i}return{messageId:s,messageSendTime:Date.now(),command:t,consoleMessage:"Completed ".concat(t," in ").concat(Date.now()-o," ms"),result:{status:"Completed",result:c}}}catch(e){return console.log(e),{messageId:s,myTimeStamp:o,message:n,consoleMessage:"EXCEPTION RAISED IN ".concat(t,", ").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_show_timings(!1),molecules_container.fill_rotamer_probability_tables(),molecules_container.set_map_sampling_rate(1.7),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("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 t=guid(),r="./".concat(t,".map");molecules_container.writeCCP4Map(e.data.molNo,r);var s=cootModule.FS.readFile(r,{encoding:"binary"});cootModule.FS_unlink(r),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:s.buffer}})}else if("delete_file_name"===e.data.message){var o=cootModule.FS_unlink(e.data.fileName);postMessage({messageId:e.data.messageId,myTimeStamp:e.data.myTimeStamp,messageTag:"result",result:o})}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&&(o=doCootCommand(e.data),postMessage(o))};
|
package/baby-gru/CootWorker.ts
CHANGED
|
@@ -82,7 +82,6 @@ const instancedMeshToMeshData = (instanceMesh: libcootApi.InstancedMeshT, perm:
|
|
|
82
82
|
thisNorm.push(vertNormal[0])
|
|
83
83
|
thisNorm.push(vertNormal[1])
|
|
84
84
|
thisNorm.push(vertNormal[2])
|
|
85
|
-
vert.delete()
|
|
86
85
|
}
|
|
87
86
|
vertices.delete()
|
|
88
87
|
|
|
@@ -170,7 +169,6 @@ const instancedMeshToMeshData = (instanceMesh: libcootApi.InstancedMeshT, perm:
|
|
|
170
169
|
}
|
|
171
170
|
}
|
|
172
171
|
Bs.delete()
|
|
173
|
-
inst.delete()
|
|
174
172
|
|
|
175
173
|
totNorm.push(thisNorm)
|
|
176
174
|
totPos.push(thisPos)
|
|
@@ -188,8 +186,7 @@ const instancedMeshToMeshData = (instanceMesh: libcootApi.InstancedMeshT, perm:
|
|
|
188
186
|
}
|
|
189
187
|
|
|
190
188
|
geom.delete()
|
|
191
|
-
const simpleMeshData = simpleMeshToMeshData(markup)
|
|
192
|
-
instanceMesh.delete()
|
|
189
|
+
const simpleMeshData = simpleMeshToMeshData(markup)
|
|
193
190
|
|
|
194
191
|
if (simpleMeshData.idx_tri.length > 0 && simpleMeshData.idx_tri[0].length > 0 && simpleMeshData.idx_tri[0][0].length > 0) {
|
|
195
192
|
if (toSpheres) {
|
|
@@ -263,12 +260,9 @@ const simpleMeshToMeshData = (simpleMesh: libcootApi.SimpleMeshT, perm: boolean
|
|
|
263
260
|
else
|
|
264
261
|
totNorm.push(...vertNormal);
|
|
265
262
|
totCol.push(...vertColor);
|
|
266
|
-
vert.delete()
|
|
267
263
|
}
|
|
268
264
|
vertices.delete()
|
|
269
265
|
|
|
270
|
-
simpleMesh.delete()
|
|
271
|
-
|
|
272
266
|
return {
|
|
273
267
|
prim_types: [["TRIANGLES"]],
|
|
274
268
|
idx_tri: [[totIdxs]],
|
|
@@ -307,11 +301,6 @@ const SuperposeResultsToJSArray = (superposeResults: libcootApi.SuperposeResults
|
|
|
307
301
|
label: movResidueData.label,
|
|
308
302
|
}
|
|
309
303
|
}
|
|
310
|
-
|
|
311
|
-
movResidueData.delete()
|
|
312
|
-
movResidueSpec.delete()
|
|
313
|
-
refResidueData.delete()
|
|
314
|
-
refResidueSpec.delete()
|
|
315
304
|
|
|
316
305
|
alignedPairsData.push(currentPairData)
|
|
317
306
|
}
|
|
@@ -337,6 +326,24 @@ const colourRulesToJSArray = (colourRulesArray: emscriptem.vector<libcootApi.Pai
|
|
|
337
326
|
return returnResult;
|
|
338
327
|
}
|
|
339
328
|
|
|
329
|
+
const stringArrayArrayToJSArray = (stringArrayArray: emscriptem.vector<emscriptem.vector<string>>) => {
|
|
330
|
+
let returnResult: string[][] = []
|
|
331
|
+
const stringArrayArraySize = stringArrayArray.size()
|
|
332
|
+
for (let i = 0; i < stringArrayArraySize; i++) {
|
|
333
|
+
const stringArray = stringArrayArray.get(i)
|
|
334
|
+
const stringArraySize = stringArray.size()
|
|
335
|
+
let currentResultArray: string[] = []
|
|
336
|
+
for (let j = 0; j < stringArraySize; j++) {
|
|
337
|
+
const s = stringArray.get(j)
|
|
338
|
+
currentResultArray.push(s)
|
|
339
|
+
}
|
|
340
|
+
returnResult.push(currentResultArray)
|
|
341
|
+
stringArray.delete()
|
|
342
|
+
}
|
|
343
|
+
stringArrayArray.delete()
|
|
344
|
+
return returnResult
|
|
345
|
+
}
|
|
346
|
+
|
|
340
347
|
const floatArrayToJSArray = (floatArray: emscriptem.vector<number>) => {
|
|
341
348
|
let returnResult: number[] = []
|
|
342
349
|
const floatArraySize = floatArray.size()
|
|
@@ -345,7 +352,7 @@ const floatArrayToJSArray = (floatArray: emscriptem.vector<number>) => {
|
|
|
345
352
|
returnResult.push(f);
|
|
346
353
|
}
|
|
347
354
|
floatArray.delete()
|
|
348
|
-
return returnResult
|
|
355
|
+
return returnResult
|
|
349
356
|
}
|
|
350
357
|
|
|
351
358
|
const mapMoleculeCentreInfoToJSObject = (mapMoleculeCentreInfo: libcootApi.MapMoleculeCentreInfo): libcootApi.MapMoleculeCentreInfoJS => {
|
|
@@ -419,7 +426,6 @@ const symmetryToJSData = (symmetryDataPair: libcootApi.PairType<libcootApi.Symme
|
|
|
419
426
|
cell.delete()
|
|
420
427
|
symm_trans.delete()
|
|
421
428
|
symmetryMatrices.delete()
|
|
422
|
-
symmetryData.delete()
|
|
423
429
|
return result
|
|
424
430
|
}
|
|
425
431
|
|
|
@@ -439,7 +445,6 @@ const mmrrccStatsToJSArray = (mmrrccStats: libcootApi.PairType<emscriptem.map<li
|
|
|
439
445
|
n: densityCorrStat.n,
|
|
440
446
|
correlation: densityCorrStat.correlation()
|
|
441
447
|
})
|
|
442
|
-
residueSpec.delete()
|
|
443
448
|
densityCorrStat.delete()
|
|
444
449
|
}
|
|
445
450
|
residueSpecs.delete()
|
|
@@ -475,7 +480,6 @@ const atomSpecToJSArray = (atomSpecs: emscriptem.vector<libcootApi.AtomSpecT>):
|
|
|
475
480
|
string_user_data: atom.string_user_data,
|
|
476
481
|
model_number: atom.model_number
|
|
477
482
|
})
|
|
478
|
-
atom.delete()
|
|
479
483
|
}
|
|
480
484
|
atomSpecs.delete()
|
|
481
485
|
return returnResult
|
|
@@ -492,7 +496,6 @@ const residueSpecToJSArray = (residueSpecs: emscriptem.vector<libcootApi.Residue
|
|
|
492
496
|
modelNumber: residue.model_number,
|
|
493
497
|
chainId: residue.chain_id
|
|
494
498
|
})
|
|
495
|
-
residue.delete()
|
|
496
499
|
}
|
|
497
500
|
residueSpecs.delete()
|
|
498
501
|
return returnResult
|
|
@@ -519,12 +522,9 @@ const validationDataToJSArray = (validationData: libcootApi.ValidationInformatio
|
|
|
519
522
|
restype: "UNK",
|
|
520
523
|
value: residue.function_value
|
|
521
524
|
})
|
|
522
|
-
residue.delete()
|
|
523
|
-
residueSpec.delete()
|
|
524
525
|
}
|
|
525
526
|
resInfo.delete()
|
|
526
527
|
}
|
|
527
|
-
chain.delete()
|
|
528
528
|
}
|
|
529
529
|
cviv.delete()
|
|
530
530
|
validationData.delete()
|
|
@@ -559,7 +559,6 @@ const linesBoxToJSArray = (BoxData: libcootApi.Generic3dLinesBondsBoxT): libcoot
|
|
|
559
559
|
envdata.push(thisEnvdata)
|
|
560
560
|
}
|
|
561
561
|
segments.delete()
|
|
562
|
-
BoxData.delete()
|
|
563
562
|
|
|
564
563
|
return envdata
|
|
565
564
|
}
|
|
@@ -620,8 +619,6 @@ const interestingPlaceDataToJSArray = (interestingPlaceData: emscriptem.vector<l
|
|
|
620
619
|
coordY: residue.y,
|
|
621
620
|
coordZ: residue.z
|
|
622
621
|
})
|
|
623
|
-
residue.delete()
|
|
624
|
-
residueSpec.delete()
|
|
625
622
|
}
|
|
626
623
|
interestingPlaceData.delete()
|
|
627
624
|
return returnResult
|
|
@@ -662,7 +659,6 @@ const autoReadMtzInfoVectToJSArray = (autoReadMtzInfoArray: emscriptem.vector<li
|
|
|
662
659
|
sigF_obs: autoReadMtzInfo.sigF_obs,
|
|
663
660
|
weights_used: autoReadMtzInfo.weights_used,
|
|
664
661
|
})
|
|
665
|
-
autoReadMtzInfo.delete()
|
|
666
662
|
}
|
|
667
663
|
autoReadMtzInfoArray.delete()
|
|
668
664
|
|
|
@@ -716,12 +712,9 @@ const simpleMeshToLineMeshData = (simpleMesh: libcootApi.SimpleMeshT, normalLigh
|
|
|
716
712
|
totPos.push(...vert.pos);
|
|
717
713
|
totNorm.push(...vert.normal);
|
|
718
714
|
totCol.push(...vert.color);
|
|
719
|
-
vert.delete()
|
|
720
715
|
}
|
|
721
716
|
vertices.delete()
|
|
722
717
|
|
|
723
|
-
simpleMesh.delete()
|
|
724
|
-
|
|
725
718
|
if (normalLighting)
|
|
726
719
|
return { prim_types: [["NORMALLINES"]], useIndices: [[true]], idx_tri: [[totIdxs]], vert_tri: [[totPos]], additional_norm_tri: [[totNorm]], norm_tri: [[totNorm]], col_tri: [[totCol]] };
|
|
727
720
|
else
|
|
@@ -873,6 +866,9 @@ const doCootCommand = (messageData: {
|
|
|
873
866
|
|
|
874
867
|
let returnResult;
|
|
875
868
|
switch (returnType) {
|
|
869
|
+
case 'string_array_array':
|
|
870
|
+
returnResult = stringArrayArrayToJSArray(cootResult)
|
|
871
|
+
break;
|
|
876
872
|
case 'instanced_mesh_perm':
|
|
877
873
|
returnResult = instancedMeshToMeshData(cootResult, true)
|
|
878
874
|
break;
|