icn3d 3.25.12 → 3.25.13

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/icn3d.js CHANGED
@@ -6235,19 +6235,19 @@ class ClickMenu {
6235
6235
  });
6236
6236
 
6237
6237
  me.myEventCls.onIds("#" + me.pre + "mn1_link_bind", "click", function(e) { let ic = me.icn3d; e.preventDefault();
6238
- url = "https://www.ncbi.nlm.nih.gov/pccompound?LinkName=pccompound_structure&from_uid=" + ic.inputid;
6238
+ let url = "https://www.ncbi.nlm.nih.gov/pccompound?LinkName=pccompound_structure&from_uid=" + ic.inputid;
6239
6239
  thisClass.setLogCmd("link to 3D protein structures bound to CID " + ic.inputid + ": " + url, false);
6240
6240
  let urlTarget = (ic.structures && Object.keys(ic.structures).length > 0) ? '_blank' : '_self';
6241
6241
  window.open(url, urlTarget);
6242
6242
  });
6243
6243
 
6244
6244
  me.myEventCls.onIds("#" + me.pre + "mn1_link_vast", "click", function(e) { let ic = me.icn3d; e.preventDefault();
6245
- if(ic.inputid === undefined) {
6246
- url = "https://www.ncbi.nlm.nih.gov/pccompound?term=" + ic.molTitle;
6247
- thisClass.setLogCmd("link to compounds " + ic.molTitle + ": " + url, false);
6245
+ let url;
6246
+ if(ic.inputid === undefined) {
6247
+ url = "https://www.ncbi.nlm.nih.gov/pccompound?term=" + ic.molTitle;
6248
+ thisClass.setLogCmd("link to compounds " + ic.molTitle + ": " + url, false);
6248
6249
  }
6249
6250
  else {
6250
- let url;
6251
6251
  if(me.cfg.cid !== undefined) {
6252
6252
  url = "https://www.ncbi.nlm.nih.gov/pccompound?LinkName=pccompound_pccompound_3d&from_uid=" + ic.inputid;
6253
6253
  thisClass.setLogCmd("link to compounds with structure similar to CID " + ic.inputid + ": " + url, false);
@@ -6271,8 +6271,8 @@ class ClickMenu {
6271
6271
  });
6272
6272
 
6273
6273
  me.myEventCls.onIds("#" + me.pre + "mn1_link_pubmed", "click", function(e) { let ic = me.icn3d; e.preventDefault();
6274
+ let url;
6274
6275
  if(ic.inputid === undefined) {
6275
- let url;
6276
6276
  url = "https://www.ncbi.nlm.nih.gov/pubmed/?term=" + ic.molTitle;
6277
6277
  thisClass.setLogCmd("link to literature about " + ic.molTitle + ": " + url, false);
6278
6278
  let urlTarget = (ic.structures && Object.keys(ic.structures).length > 0) ? '_blank' : '_self';
@@ -6280,7 +6280,6 @@ class ClickMenu {
6280
6280
  }
6281
6281
  else if(ic.pmid) {
6282
6282
  let idArray = ic.pmid.toString().split('_');
6283
- let url;
6284
6283
  if(idArray.length === 1) {
6285
6284
  url = "https://www.ncbi.nlm.nih.gov/pubmed/" + ic.pmid;
6286
6285
  thisClass.setLogCmd("link to PubMed ID " + ic.pmid + ": " + url, false);
@@ -6294,7 +6293,6 @@ class ClickMenu {
6294
6293
  }
6295
6294
  else if(isNaN(ic.inputid)) {
6296
6295
  let idArray = ic.inputid.toString().split('_');
6297
- let url;
6298
6296
  if(idArray.length === 1) {
6299
6297
  url = "https://www.ncbi.nlm.nih.gov/pubmed/?term=" + ic.inputid;
6300
6298
  thisClass.setLogCmd("link to literature about PDB " + ic.inputid + ": " + url, false);
@@ -11008,11 +11006,11 @@ class SetDialog {
11008
11006
 
11009
11007
  html += "<div>4. " + me.htmlCls.buttonStr + "applyhbonds'>3D Display Interactions</button></div><br>";
11010
11008
 
11011
- html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondWindow'>Highlight Interactions in Table</button><span style='margin-left:30px; font-wieght:bold'>Sort Interactions on</span>: " + me.htmlCls.buttonStr + "sortSet1'> Set 1</button>" + me.htmlCls.buttonStr + "sortSet2' style='margin-left:20px'>Set 2</button></div><br>";
11009
+ html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondWindow'>Highlight Interactions in Table</button><span style='margin-left:30px; font-wieght:bold'>Sort Interactions on</span>: " + me.htmlCls.buttonStr + "sortSet1'> Set 1</button>" + me.htmlCls.buttonStr + "sortSet2' style='margin-left:12px'>Set 2</button></div><br>";
11012
11010
 
11013
- html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondLineGraph'>2D Interaction Network</button> to show interactions between two lines of residue nodes</div><br>";
11011
+ html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondLineGraph'>2D Interaction Network</button> " + me.htmlCls.buttonStr + "hbondLineGraph2' style='margin-left:12px'>2D Network with Reference Numbers</button> to show two lines of residue nodes</div><br>";
11014
11012
 
11015
- html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondScatterplot'>2D Interaction Map</button> to show interactions as map</div><br>";
11013
+ html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondScatterplot'>2D Interaction Map</button> " + me.htmlCls.buttonStr + "hbondScatterplot2' style='margin-left:12px'>2D Map with Reference Numbers</button> to show map</div><br>";
11016
11014
 
11017
11015
  tmpStr = ': </td><td><input style="margin-left:-12px" type="text" id="';
11018
11016
 
@@ -13425,11 +13423,29 @@ class Events {
13425
13423
  me.myEventCls.onIds("#" + me.pre + "hbondLineGraph", "click", async function(e) { let ic = me.icn3d;
13426
13424
  e.preventDefault();
13427
13425
 
13426
+ ic.bShownRefnum = false;
13427
+ thisClass.setLogCmd("hide ref number", true);
13428
13428
  await ic.showInterCls.showInteractions('linegraph');
13429
13429
  });
13430
+ me.myEventCls.onIds("#" + me.pre + "hbondLineGraph2", "click", async function(e) { let ic = me.icn3d;
13431
+ e.preventDefault();
13432
+
13433
+ ic.bShownRefnum = true;
13434
+ thisClass.setLogCmd("show ref number", true);
13435
+ await ic.showInterCls.showInteractions('linegraph');
13436
+ });
13430
13437
  me.myEventCls.onIds("#" + me.pre + "hbondScatterplot", "click", async function(e) { let ic = me.icn3d;
13438
+ e.preventDefault();
13439
+
13440
+ ic.bShownRefnum = false;
13441
+ thisClass.setLogCmd("hide ref number", true);
13442
+ await ic.showInterCls.showInteractions('scatterplot');
13443
+ });
13444
+ me.myEventCls.onIds("#" + me.pre + "hbondScatterplot2", "click", async function(e) { let ic = me.icn3d;
13431
13445
  e.preventDefault();
13432
13446
 
13447
+ ic.bShownRefnum = true;
13448
+ thisClass.setLogCmd("show ref number", true);
13433
13449
  await ic.showInterCls.showInteractions('scatterplot');
13434
13450
  });
13435
13451
  // select residues
@@ -41093,7 +41109,7 @@ class ShowAnno {
41093
41109
  }
41094
41110
  catch(err) {
41095
41111
  thisClass.enableHlSeq();
41096
- if(!me.bNode) console.log( "No data were found for the protein " + chnidBaseArray + "..." );
41112
+ if(!me.bNode) console.log( "No sequence data were found for the protein " + chnidBaseArray + "..." );
41097
41113
  for(let chnid in ic.protein_chainid) {
41098
41114
  let chnidBase = ic.protein_chainid[chnid];
41099
41115
  ic.showSeqCls.setAlternativeSeq(chnid, chnidBase);
@@ -41219,7 +41235,7 @@ class ShowAnno {
41219
41235
  }
41220
41236
  }
41221
41237
  else {
41222
- if(!me.bNode) console.log( "No data were found for the chain " + chnid + "..." );
41238
+ if(!me.bNode) console.log( "No sequence data were found for the chain " + chnid + "..." );
41223
41239
  ic.showSeqCls.setAlternativeSeq(chnid, chnidBase);
41224
41240
  }
41225
41241
 
@@ -44301,6 +44317,11 @@ class GetGraph {
44301
44317
  if(!bVertical) adjusty += 4 * r;
44302
44318
  }
44303
44319
 
44320
+ // show reference numbers
44321
+ if(ic.bShownRefnum && ic.resid2refnum[resid]) {
44322
+ nodeName = ic.resid2refnum[resid];
44323
+ }
44324
+
44304
44325
  let strokecolor = '#000';
44305
44326
  let strokewidth = '1';
44306
44327
  let textcolor = '#000';
@@ -53943,7 +53964,9 @@ class SetSeqAlign {
53943
53964
  if(!ic.chainsMapping[chainid2]) ic.chainsMapping[chainid2] = {};
53944
53965
 
53945
53966
  let posChain1 = {}, posChain2 = {};
53946
-
53967
+ console.log("###bRealign: " + bRealign);
53968
+ console.log(ic.qt_start_end[chainIndex]);
53969
+
53947
53970
  for(let i = 0, il = ic.qt_start_end[chainIndex].length; i < il; ++i) {
53948
53971
  let start1, start2, end1, end2;
53949
53972
  if(bRealign) { // real residue numbers are stored, could be "100a"
@@ -54058,10 +54081,14 @@ class SetSeqAlign {
54058
54081
 
54059
54082
  let resi1, resi2, resn1, resn2;
54060
54083
  if(bRealign) { // tmalign: just one residue in this for loop
54061
- // resi1 = j + start1;
54062
- // resi2 = j + start2;
54063
- resi1 = ic.qt_start_end[chainIndex][i].t_start;
54064
- resi2 = ic.qt_start_end[chainIndex][i].q_start;
54084
+ if(me.cfg.aligntool == 'tmalign') {
54085
+ resi1 = ic.qt_start_end[chainIndex][i].t_start;
54086
+ resi2 = ic.qt_start_end[chainIndex][i].q_start;
54087
+ }
54088
+ else {
54089
+ resi1 = j + start1;
54090
+ resi2 = j + start2;
54091
+ }
54065
54092
 
54066
54093
  resn1 = this.getResnFromResi(chainid1, resi1).toUpperCase();
54067
54094
  resn2 = this.getResnFromResi(chainid2, resi2).toUpperCase();
@@ -54338,7 +54365,12 @@ class SetSeqAlign {
54338
54365
  resObject.mmdbid = chainid.substr(0, pos);
54339
54366
  resObject.chain = chainid.substr(pos+1);
54340
54367
  resObject.resi = (bGap) ? '' : resi; // resi will be empty if there is no coordinates
54341
- resObject.resn = (bGap) ? '-' : ((bAligned) ? resn.toUpperCase() : resn.toLowerCase());
54368
+ if(!resn) {
54369
+ resObject.resn = '-';
54370
+ }
54371
+ else {
54372
+ resObject.resn = (bGap) ? '-' : ((bAligned) ? resn.toUpperCase() : resn.toLowerCase());
54373
+ }
54342
54374
  resObject.aligned = (bGap) ? false : bAligned;
54343
54375
  resObject.color = (bGap || !bAligned) ? me.htmlCls.GREYC : ((resn == resn_t) ? "#FF0000" : "#0000FF"); // color by identity
54344
54376
  resObject.color2 = (bGap || !bAligned) ? me.htmlCls.GREYC : '#' + ic.showAnnoCls.getColorhexFromBlosum62(resn, resn_t); // color by conservation
@@ -57819,6 +57851,12 @@ class ApplyCommand {
57819
57851
  let dataStr = paraArray[1].replace(/\\n/g, '\n');
57820
57852
  await ic.refnumCls.parseCustomRefFile(dataStr);
57821
57853
  }
57854
+ else if(command.indexOf('show ref number') == 0) {
57855
+ ic.bShownRefnum = true;
57856
+ }
57857
+ else if(command.indexOf('hide ref number') == 0) {
57858
+ ic.bShownRefnum = false;
57859
+ }
57822
57860
 
57823
57861
  // special, select ==========
57824
57862
 
@@ -59853,7 +59891,7 @@ class SelectByCommand {
59853
59891
  // $1,2,3: Structure
59854
59892
  // .A,B,C: chain
59855
59893
  // :5-10,K,chemicals: residues, could be 'proteins', 'nucleotides', 'chemicals', 'ions', and 'water'
59856
- // :refnum_1250,anchors,strands,loops: reference numbers 1250, anchor residues (e.g., 2250), residues in strands, residues in loops
59894
+ // :ref_1250,anchors,strands,loops: reference numbers 1250, anchor residues (e.g., 2250), residues in strands, residues in loops
59857
59895
  // @CA,C,C*: atoms
59858
59896
  // wild card * can be used to select all
59859
59897
  //var currHighlightAtoms = {}
@@ -62255,40 +62293,27 @@ class Dssp {
62255
62293
  ic.refpdbHash['LaminAC_1ifrA_human'] = ['LaminAC_1ifrA_human', 'MPT63_1lmiA_bacteria'];
62256
62294
  ic.refpdbHash['CD19_6al5A_human_C2orV-n1'] = ['CD19_6al5A_human_C2orV-n1'];
62257
62295
  */
62258
- // round 1
62259
- ic.refpdbArray = ['1FAB-HEAVY_5esv_V-n1', '1CD2_1hnfA_human_V-n1', '1LAG3_7tzgD_human_C2-n2', '1BTLA_2aw2A_human_Iset', '1JAM1_1nbqA_human_VorIset-n2', '1Palladin_2dm3A_human_Iset-n1', '1FAB-HEAVY_5esv_C1-n2', '1FAB-LIGHT_5esv_C1-n2', '1BArrestin1_4jqiA_rat_n1', '1IL6Rb_1bquB_human_FN3-n3', '1Contactin1_2ee2A_human_FN3-n9', '1InsulinR_8guyE_human_FN3-n1', '1NaCaExchanger_2fwuA_dog_n2', '1CuZnSuperoxideDismutase_1hl5C_human', '1CoAtomerGamma1_1r4xA_human', '1RBPJ_6py8C_human_Unk-n2', '1CD2_1hnfA_human_C2-n2', '1GHR_1axiB_human_FN3-n1', '1Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', '1ICOS_6x4gA_human_V', '1TCRa_6jxrm_human_C1-n2', '1LaminAC_1ifrA_human', '1IsdA_2iteA_bacteria', '1MPT63_1lmiA_bacteria', '1CD19_6al5A_human_C2orV-n1', '1ORF7a_1xakA_virus', '1ECadherin_4zt1A_human_n2', '1ASF1A_2iijA_human'];
62296
+ // round 1, 16 templates
62297
+ ic.refpdbArray = ['1InsulinR_8guyE_human_FN3-n1', '1Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', '1CoAtomerGamma1_1r4xA_human', '1C3_2qkiD_human_n1', '1CuZnSuperoxideDismutase_1hl5C_human', '1ASF1A_2iijA_human', '1FAB-LIGHT_5esv_C1-n2', '1CD2_1hnfA_human_C2-n2', '1NaCaExchanger_2fwuA_dog_n2', '1FAB-HEAVY_5esv_V-n1', '1PDL1_4z18B_human_V-n1', '1BTLA_2aw2A_human_Iset', '1LaminAC_1ifrA_human', '1IsdA_2iteA_bacteria', '1TCRa_6jxrm_human_C1-n2', '1CD19_6al5A_human_C2orV-n1'];
62260
62298
 
62261
62299
  // round 2
62262
62300
  ic.refpdbHash = {};
62263
- ic.refpdbHash['1FAB-HEAVY_5esv_V-n1'] = ['FAB-HEAVY_5esv_V-n1', 'CD8a_1cd8A_human_V', 'FAB-LIGHT_5esv_V-n1', 'VNAR_1t6vN_shark_V'];
62264
- ic.refpdbHash['1CD2_1hnfA_human_V-n1'] = ['CD2_1hnfA_human_V-n1', 'Contactin1_3s97C_human_C2-n2', 'LAG3_7tzgD_human_V-n1'];
62265
- ic.refpdbHash['1LAG3_7tzgD_human_C2-n2'] = ['LAG3_7tzgD_human_C2-n2', 'Siglec3_5j0bB_human_C2-n2'];
62266
- ic.refpdbHash['1BTLA_2aw2A_human_Iset'] = ['BTLA_2aw2A_human_Iset', 'PD1_4zqkB_human_V', 'TCRa_6jxrm_human_V-n1'];
62267
- ic.refpdbHash['1JAM1_1nbqA_human_VorIset-n2'] = ['JAM1_1nbqA_human_VorIset-n2', 'PDL1_4z18B_human_V-n1'];
62268
- ic.refpdbHash['1Palladin_2dm3A_human_Iset-n1'] = ['Palladin_2dm3A_human_Iset-n1', 'Titin_4uowM_human_Unk-n152', 'VISTA_6oilA_human_V'];
62269
- ic.refpdbHash['1FAB-HEAVY_5esv_C1-n2'] = ['FAB-HEAVY_5esv_C1-n2', 'B2Microglobulin_7phrL_human_C1', 'MHCIa_7phrH_human_C1'];
62270
- ic.refpdbHash['1FAB-LIGHT_5esv_C1-n2'] = ['FAB-LIGHT_5esv_C1-n2', 'VTCN1_Q7Z7D3_human_V-n2'];
62271
- ic.refpdbHash['1BArrestin1_4jqiA_rat_n1'] = ['BArrestin1_4jqiA_rat_n1', 'C3_2qkiD_human_n1', 'RBPJ_6py8C_human_Unk-n1'];
62272
- ic.refpdbHash['1IL6Rb_1bquB_human_FN3-n3'] = ['IL6Rb_1bquB_human_FN3-n3', 'Sidekick2_1wf5A_human_FN3-n7'];
62273
- ic.refpdbHash['1Contactin1_2ee2A_human_FN3-n9'] = ['Contactin1_2ee2A_human_FN3-n9', 'IL6Rb_1bquB_human_FN3-n2'];
62274
- ic.refpdbHash['1InsulinR_8guyE_human_FN3-n1'] = ['InsulinR_8guyE_human_FN3-n1', 'InsulinR_8guyE_human_FN3-n2'];
62275
- ic.refpdbHash['1NaCaExchanger_2fwuA_dog_n2'] = ['NaCaExchanger_2fwuA_dog_n2', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
62301
+ ic.refpdbHash['1InsulinR_8guyE_human_FN3-n1'] = ['InsulinR_8guyE_human_FN3-n1', 'IL6Rb_1bquB_human_FN3-n3', 'Sidekick2_1wf5A_human_FN3-n7', 'InsulinR_8guyE_human_FN3-n2', 'Contactin1_2ee2A_human_FN3-n9', 'IL6Rb_1bquB_human_FN3-n2'];
62302
+ ic.refpdbHash['1Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = ['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'ICOS_6x4gA_human_V'];
62303
+ ic.refpdbHash['1CoAtomerGamma1_1r4xA_human'] = ['CoAtomerGamma1_1r4xA_human', 'TP34_2o6cA_bacteria', 'RBPJ_6py8C_human_Unk-n2', 'TP47_1o75A_bacteria'];
62304
+ ic.refpdbHash['1C3_2qkiD_human_n1'] = ['C3_2qkiD_human_n1', 'BArrestin1_4jqiA_rat_n1', 'RBPJ_6py8C_human_Unk-n1'];
62276
62305
  ic.refpdbHash['1CuZnSuperoxideDismutase_1hl5C_human'] = ['CuZnSuperoxideDismutase_1hl5C_human', 'TEAD1_3kysC_human'];
62277
- ic.refpdbHash['1CoAtomerGamma1_1r4xA_human'] = ['CoAtomerGamma1_1r4xA_human', 'TP34_2o6cA_bacteria'];
62278
- ic.refpdbHash['1RBPJ_6py8C_human_Unk-n2'] = ['RBPJ_6py8C_human_Unk-n2', 'TP47_1o75A_bacteria'];
62279
-
62280
- ic.refpdbHash['1CD2_1hnfA_human_C2-n2'] = ['CD2_1hnfA_human_C2-n2'];
62281
- ic.refpdbHash['1GHR_1axiB_human_FN3-n1'] = ['GHR_1axiB_human_FN3-n1'];
62282
- ic.refpdbHash['1Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = ['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'];
62283
- ic.refpdbHash['1ICOS_6x4gA_human_V'] = ['ICOS_6x4gA_human_V'];
62284
- ic.refpdbHash['1TCRa_6jxrm_human_C1-n2'] = ['TCRa_6jxrm_human_C1-n2'];
62306
+ ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human', 'MPT63_1lmiA_bacteria'];
62307
+ ic.refpdbHash['1FAB-LIGHT_5esv_C1-n2'] = ['FAB-LIGHT_5esv_C1-n2', 'GHR_1axiB_human_FN3-n1', 'VTCN1_Q7Z7D3_human_V-n2', 'B2Microglobulin_7phrL_human_C1', 'FAB-HEAVY_5esv_C1-n2', 'MHCIa_7phrH_human_C1'];
62308
+ ic.refpdbHash['1CD2_1hnfA_human_C2-n2'] = ['CD2_1hnfA_human_C2-n2', 'Siglec3_5j0bB_human_C2-n2'];
62309
+ ic.refpdbHash['1NaCaExchanger_2fwuA_dog_n2'] = ['NaCaExchanger_2fwuA_dog_n2', 'ORF7a_1xakA_virus', 'ECadherin_4zt1A_human_n2', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
62310
+ ic.refpdbHash['1FAB-HEAVY_5esv_V-n1'] = ['FAB-HEAVY_5esv_V-n1', 'FAB-LIGHT_5esv_V-n1', 'VNAR_1t6vN_shark_V', 'TCRa_6jxrm_human_V-n1', 'VISTA_6oilA_human_V', 'CD8a_1cd8A_human_V', 'PD1_4zqkB_human_V'];
62311
+ ic.refpdbHash['1PDL1_4z18B_human_V-n1'] = ['PDL1_4z18B_human_V-n1', 'CD2_1hnfA_human_V-n1', 'LAG3_7tzgD_human_V-n1'];
62312
+ ic.refpdbHash['1BTLA_2aw2A_human_Iset'] = ['BTLA_2aw2A_human_Iset', 'Palladin_2dm3A_human_Iset-n1', 'Titin_4uowM_human_Unk-n152', 'LAG3_7tzgD_human_C2-n2', 'JAM1_1nbqA_human_VorIset-n2', 'Contactin1_3s97C_human_C2-n2'];
62285
62313
  ic.refpdbHash['1LaminAC_1ifrA_human'] = ['LaminAC_1ifrA_human'];
62286
62314
  ic.refpdbHash['1IsdA_2iteA_bacteria'] = ['IsdA_2iteA_bacteria'];
62287
- ic.refpdbHash['1MPT63_1lmiA_bacteria'] = ['MPT63_1lmiA_bacteria'];
62288
- ic.refpdbHash['1CD19_6al5A_human_C2orV-n1'] = ['CD19_6al5A_human_C2orV-n1'];
62289
- ic.refpdbHash['1ORF7a_1xakA_virus'] = ['ORF7a_1xakA_virus'];
62290
- ic.refpdbHash['1ECadherin_4zt1A_human_n2'] = ['ECadherin_4zt1A_human_n2'];
62291
- ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human'];
62315
+ ic.refpdbHash['1TCRa_6jxrm_human_C1-n2'] = ['TCRa_6jxrm_human_C1-n2'];
62316
+ ic.refpdbHash['1CD19_6al5A_human_C2orV-n1'] = ['CD19_6al5A_human_C2orV-n1'];
62292
62317
 
62293
62318
  // use known ref structure
62294
62319
  ic.refpdbHash['5ESV'] = ['FAB-HEAVY_5esv_V-n1', 'FAB-LIGHT_5esv_V-n1', 'FAB-HEAVY_5esv_C1-n2', 'FAB-LIGHT_5esv_C1-n2'];
@@ -62432,7 +62457,7 @@ class Dssp {
62432
62457
  domainAtomsArray.push(domainAtoms);
62433
62458
  }
62434
62459
  }
62435
-
62460
+ console.log("###subdomains.length: " + subdomains.length + " domainAtomsArray.length: " + domainAtomsArray.length);
62436
62461
  for(let k = 0, kl = domainAtomsArray.length; k < kl; ++k) {
62437
62462
  let pdb_target = ic.saveFileCls.getAtomPDB(domainAtomsArray[k], undefined, undefined, undefined, undefined, struct);
62438
62463
  let domainid = chainid + '-' + k;
@@ -62448,7 +62473,7 @@ class Dssp {
62448
62473
  let alignAjax = me.getAjaxPostPromise(urltmalign, dataObj);
62449
62474
  ajaxArray.push(alignAjax);
62450
62475
 
62451
- domainidpairArray.push(domainid + "," + ic.refpdbArray[index]);
62476
+ domainidpairArray.push(domainid + "|" + ic.refpdbArray[index]);
62452
62477
  }
62453
62478
  }
62454
62479
  }
@@ -62474,20 +62499,20 @@ class Dssp {
62474
62499
  async parseAlignData(dataArray, domainidpairArray, bRound1) { let ic = this.icn3d, me = ic.icn3dui;
62475
62500
  let thisClass = this;
62476
62501
 
62477
- let tmscoreThreshold = 0.4; //0.5;
62502
+ let tmscoreThreshold = 0.4; // 0.4; //0.5;
62478
62503
 
62479
62504
  // find the best alignment for each chain
62480
62505
  let domainid2score = {}, domainid2segs = {}, chainid2segs = {};
62481
62506
 
62482
- if(!ic.chainid2refpdbname) ic.chainid2refpdbname = {};
62483
- if(!ic.domainid2refpdbname) ic.domainid2refpdbname = {};
62484
- if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
62485
- if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
62507
+ // if(!ic.chainid2refpdbname) ic.chainid2refpdbname = {};
62508
+ // if(!ic.domainid2refpdbname) ic.domainid2refpdbname = {};
62509
+ // if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
62510
+ // if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
62486
62511
 
62487
- // ic.chainid2refpdbname = {};
62488
- // ic.domainid2refpdbname = {};
62489
- // ic.domainid2ig2kabat = {};
62490
- // ic.domainid2ig2imgt = {};
62512
+ ic.chainid2refpdbname = {};
62513
+ ic.domainid2refpdbname = {};
62514
+ ic.domainid2ig2kabat = {};
62515
+ ic.domainid2ig2imgt = {};
62491
62516
 
62492
62517
  let minResidues = 20;
62493
62518
 
@@ -62501,12 +62526,14 @@ class Dssp {
62501
62526
 
62502
62527
  if(queryData.length == 0) continue;
62503
62528
 
62504
- if(queryData[0].score < tmscoreThreshold || queryData[0].num_res < minResidues) continue;
62529
+ if(queryData[0].score < tmscoreThreshold || queryData[0].num_res < minResidues) {
62530
+ continue;
62531
+ }
62505
62532
 
62506
62533
  //let domainid_index = domainidpairArray[i].split(',');
62507
62534
  //let domainid = domainid_index[0];
62508
- let domainid = domainidpairArray[i].substr(0, domainidpairArray[i].indexOf(','));
62509
- let refpdbname = domainidpairArray[i].substr(domainidpairArray[i].indexOf(',') + 1);
62535
+ let domainid = domainidpairArray[i].substr(0, domainidpairArray[i].indexOf('|'));
62536
+ let refpdbname = domainidpairArray[i].substr(domainidpairArray[i].indexOf('|') + 1);
62510
62537
  //let chainid = domainid.split('-')[0];
62511
62538
 
62512
62539
  // Ig-like domains: B (2150, 2150a, 2150b), C (3150, 3250), E (7150, 7250), F (8150, 8250) strands
@@ -62564,6 +62591,11 @@ class Dssp {
62564
62591
  if(!me.bNode) console.log("Adjusted refpdbname for domainid " + domainid + ": " + refpdbname);
62565
62592
  }
62566
62593
 
62594
+ if(!ic.refpdbHash[refpdbname]) {
62595
+ console.log("### refpdbname: " + refpdbname);
62596
+ continue;
62597
+ }
62598
+
62567
62599
  for(let k = 0, kl = ic.refpdbHash[refpdbname].length; k < kl; ++k) {
62568
62600
  let urlpdb = me.htmlCls.baseUrl + "mmcifparser/mmcifparser.cgi?refpdbid=" + ic.refpdbHash[refpdbname][k];
62569
62601
 
@@ -62587,7 +62619,7 @@ class Dssp {
62587
62619
  ajaxArray.push(alignAjax);
62588
62620
 
62589
62621
  //domainidpairArray3.push(domainid + "," + refpdbname);
62590
- domainidpairArray3.push(domainid + "," + ic.refpdbHash[refpdbname][index]);
62622
+ domainidpairArray3.push(domainid + "|" + ic.refpdbHash[refpdbname][index]);
62591
62623
  }
62592
62624
  }
62593
62625
 
@@ -70785,7 +70817,7 @@ class iCn3DUI {
70785
70817
  //even when multiple iCn3D viewers are shown together.
70786
70818
  this.pre = this.cfg.divid + "_";
70787
70819
 
70788
- this.REVISION = '3.25.1';
70820
+ this.REVISION = '3.25.2';
70789
70821
 
70790
70822
  // In nodejs, iCn3D defines "window = {navigator: {}}"
70791
70823
  this.bNode = (Object.keys(window).length < 2) ? true : false;