icn3d 3.25.8 → 3.25.10

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
@@ -7309,14 +7309,14 @@ class ClickMenu {
7309
7309
  thisClass.setLogCmd('ig refnum on', true);
7310
7310
  await ic.refnumCls.showIgRefNum();
7311
7311
 
7312
- if(ic.bShowRefnum) {
7313
- ic.opts.color = 'ig strand';
7314
- ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
7312
+ // if(ic.bShowRefnum) {
7313
+ // ic.opts.color = 'ig strand';
7314
+ // ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
7315
7315
 
7316
- ic.selectionCls.selectAll_base();
7317
- ic.hlUpdateCls.updateHlAll();
7318
- ic.drawCls.draw();
7319
- }
7316
+ // ic.selectionCls.selectAll_base();
7317
+ // ic.hlUpdateCls.updateHlAll();
7318
+ // ic.drawCls.draw();
7319
+ // }
7320
7320
  });
7321
7321
 
7322
7322
  me.myEventCls.onIds("#" + me.pre + "mn6_igrefNo", "click", async function(e) { let ic = me.icn3d; e.preventDefault();
@@ -9396,8 +9396,8 @@ class SetMenu {
9396
9396
  //}
9397
9397
 
9398
9398
  //!!!
9399
- // html += this.getRadio('mn4_clr', 'mn4_clrIgstrand', 'Ig Strand', undefined, undefined, 2);
9400
- // html += this.getRadio('mn4_clr', 'mn4_clrIgproto', 'Ig Protodomain', undefined, undefined, 2);
9399
+ //html += this.getRadio('mn4_clr', 'mn4_clrIgstrand', 'Ig Strand', undefined, undefined, 2);
9400
+ //html += this.getRadio('mn4_clr', 'mn4_clrIgproto', 'Ig Protodomain', undefined, undefined, 2);
9401
9401
  }
9402
9402
  else {
9403
9403
  //if(!me.cfg.hidelicense) html += this.getRadio('mn4_clr', 'mn1_delphi2', 'DelPhi<br><span style="padding-left:1.5em;">Potential ' + me.htmlCls.licenseStr + '</span>');
@@ -34674,25 +34674,27 @@ class SetColor {
34674
34674
  case 'ig strand':
34675
34675
  if(ic.bShowRefnum) {
34676
34676
  let color;
34677
- for(let resid in ic.residues) {
34678
- if(!ic.resid2refnum[resid]) {
34677
+ let residueHash = ic.firstAtomObjCls.getResiduesFromAtoms(atoms);
34678
+
34679
+ for(let resid in residueHash) {
34680
+ if(!ic.resid2refnum[resid]) {
34679
34681
  color = me.parasCls.thr('#FFFFFF');
34680
34682
  }
34681
34683
  else {
34682
34684
  let refnumLabel = ic.resid2refnum[resid];
34683
34685
 
34684
- if(!refnumLabel) {
34685
- color = me.parasCls.thr(me.htmlCls.GREYB);
34686
- }
34687
- else {
34688
- let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
34686
+ // if(!refnumLabel) {
34687
+ // color = me.parasCls.thr(me.htmlCls.GREYB);
34688
+ // }
34689
+ // else {
34690
+ let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
34689
34691
  let currStrand = refnumLabel.replace(new RegExp(refnumStr,'g'), '');
34690
34692
  color = ic.showSeqCls.getRefnumColor(currStrand);
34691
34693
 
34692
- if(ic.residIgLoop.hasOwnProperty(resid)) {
34694
+ if(ic.residIgLoop.hasOwnProperty(resid)) {
34693
34695
  color = me.parasCls.thr(me.htmlCls.GREYB);
34694
34696
  }
34695
- }
34697
+ // }
34696
34698
  }
34697
34699
 
34698
34700
  for (let i in ic.residues[resid]) {
@@ -34709,7 +34711,8 @@ class SetColor {
34709
34711
  case 'ig protodomain':
34710
34712
  if(ic.bShowRefnum) {
34711
34713
  let color;
34712
- for(let resid in ic.residues) {
34714
+ let residueHash = ic.firstAtomObjCls.getResiduesFromAtoms(atoms);
34715
+ for(let resid in residueHash) {
34713
34716
  if(!ic.resid2refnum[resid]) {
34714
34717
  color = me.parasCls.thr('#FFFFFF');
34715
34718
  }
@@ -34720,7 +34723,7 @@ class SetColor {
34720
34723
  color = me.parasCls.thr(me.htmlCls.GREYB);
34721
34724
  }
34722
34725
  else {
34723
- let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
34726
+ let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
34724
34727
  let currStrand = refnumLabel.replace(new RegExp(refnumStr,'g'), '');
34725
34728
  color = ic.showSeqCls.getProtodomainColor(currStrand);
34726
34729
 
@@ -35662,9 +35665,9 @@ class SetOption {
35662
35665
  let html = '';
35663
35666
 
35664
35667
  const name2color = {
35665
- //"A^ Strand": "FF00FF",
35668
+ //"A- Strand": "FF00FF",
35666
35669
  "A Strand": "663399",
35667
- //"A* Strand": "663399", //"FFC0CB",
35670
+ //"A+ Strand": "663399", //"FFC0CB",
35668
35671
  "A' Strand": "663399", //"9370db",
35669
35672
  "B Strand": "ba55d3",
35670
35673
  "C Strand": "0000FF",
@@ -35674,7 +35677,7 @@ class SetOption {
35674
35677
  "E Strand": "FFFF00", //"F0E68C",
35675
35678
  "F Strand": "FFA500",
35676
35679
  "G Strand": "FF0000",
35677
- //"G* Strand": "8B0000",
35680
+ //"G+ Strand": "8B0000",
35678
35681
  "Loop": "CCCCCC"
35679
35682
  };
35680
35683
 
@@ -40852,10 +40855,12 @@ class ShowAnno {
40852
40855
 
40853
40856
  if(ic.bShowRefnum) {
40854
40857
  ic.opts.color = 'ig strand';
40855
- ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
40858
+ //ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
40859
+ ic.setColorCls.setColorByOptions(ic.opts, ic.dAtoms);
40856
40860
 
40857
40861
  ic.selectionCls.selectAll_base();
40858
40862
  ic.hlUpdateCls.updateHlAll();
40863
+ //ic.drawCls.draw();
40859
40864
  }
40860
40865
  }
40861
40866
 
@@ -41941,7 +41946,7 @@ class ShowSeq {
41941
41946
  }
41942
41947
 
41943
41948
  if(refnumLabel) {
41944
- refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
41949
+ refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
41945
41950
  currStrand = refnumLabel.replace(new RegExp(refnumStr_ori,'g'), '');
41946
41951
  refnumStr_ori.substr(0, 1);
41947
41952
 
@@ -42024,18 +42029,18 @@ class ShowSeq {
42024
42029
  for(let il = strandArray.length, i = il - 1; i >= 0; --i) {
42025
42030
  if(strandArray[i].endRefnum - strandArray[i].startRefnum + 1 < 3) { // remove the strand
42026
42031
  if(i != il - 1) { // modify
42027
- strandArray[i + 1].loopResCnt += strandArray[i].endRefnum - strandArray[i].startRefnum + 1;
42032
+ strandArray[i + 1].loopResCnt += strandArray[i].loopResCnt + strandArray[i].endRefnum - strandArray[i].startRefnum + 1;
42028
42033
  }
42029
42034
 
42030
42035
  strandArray.splice(i, 1);
42031
42036
  }
42032
42037
  }
42033
-
42038
+
42034
42039
  // 3. assign refnumLabel for each resid
42035
42040
  strandCnt = 0;
42036
42041
  let loopCnt = 0;
42037
42042
 
42038
- let bNterminal = true, bCterminal = true, refnumLabelNoPostfix, prevStrandCnt = 0, currRefnum;
42043
+ let bBeforeAstrand = true, bAfterGstrand = true, refnumLabelNoPostfix, prevStrandCnt = 0, currRefnum;
42039
42044
  bStart = false;
42040
42045
  let refnumInStrand = 0;
42041
42046
  if(strandArray.length > 0) {
@@ -42047,14 +42052,14 @@ class ShowSeq {
42047
42052
  currStrand = strandArray[strandCnt].strand;
42048
42053
 
42049
42054
  if(refnumLabel) {
42050
- refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
42055
+ refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
42051
42056
  currRefnum = parseInt(refnumStr);
42052
42057
  refnumLabelNoPostfix = currStrand + currRefnum;
42053
42058
 
42054
42059
  let firstChar = refnumLabel.substr(0,1);
42055
42060
  if(!bStart && (firstChar == ' ' || firstChar == 'A' || firstChar == 'B')) { // start of a new IG domain
42056
42061
  bStart = true;
42057
- bNterminal = true;
42062
+ bBeforeAstrand = true;
42058
42063
  loopCnt = 0;
42059
42064
  }
42060
42065
  }
@@ -42069,29 +42074,48 @@ class ShowSeq {
42069
42074
  if(parseInt(currResi) < parseInt(strandArray[strandCnt].startResi)) {
42070
42075
  ic.residIgLoop[residueid] = 1;
42071
42076
 
42072
- if(bNterminal) { // make it continuous to the 1st strand
42077
+ if(bBeforeAstrand) { // make it continuous to the 1st strand
42073
42078
  if(bStart) {
42074
42079
  currRefnum = strandArray[strandCnt].startRefnum - strandArray[strandCnt].loopResCnt + loopCnt;
42075
42080
  refnumLabelNoPostfix = strandArray[strandCnt].strand + currRefnum;
42076
42081
  refnumLabel = refnumLabelNoPostfix + strandArray[strandCnt].strandPostfix;
42077
- }
42082
+ }
42083
+ else {
42084
+ //loopCnt = 0;
42085
+ refnumLabelNoPostfix = undefined;
42086
+ refnumLabel = undefined;
42087
+ }
42078
42088
  }
42079
42089
  else {
42080
- //currStrand = strandArray[prevStrandCnt].strand;
42081
-
42082
42090
  if(prevStrandCnt >= 0 && strandArray[prevStrandCnt].strand.substr(0, 1) == 'G') {
42083
- if(bStart && ic.resid2refnum[residueid]) {
42084
- currRefnum = strandArray[prevStrandCnt].endRefnum + loopCnt;
42085
- refnumLabelNoPostfix = strandArray[prevStrandCnt].strand + currRefnum;
42086
- refnumLabel = refnumLabelNoPostfix + strandArray[prevStrandCnt].strandPostfix;
42091
+ if(!bAfterGstrand) {
42092
+ //loopCnt = 0;
42093
+ refnumLabelNoPostfix = undefined;
42094
+ refnumLabel = undefined;
42087
42095
  }
42088
42096
  else {
42089
- bStart = false;
42090
- bNterminal = true;
42091
- loopCnt = 0;
42097
+ if(bStart && ic.resid2refnum[residueid]) {
42098
+ bAfterGstrand = true;
42099
+
42100
+ currRefnum = strandArray[prevStrandCnt].endRefnum + loopCnt;
42101
+ refnumLabelNoPostfix = strandArray[prevStrandCnt].strand + currRefnum;
42102
+ refnumLabel = refnumLabelNoPostfix + strandArray[prevStrandCnt].strandPostfix;
42103
+ }
42104
+ else {
42105
+ bStart = false;
42106
+ bBeforeAstrand = true;
42107
+ //loopCnt = 0;
42108
+
42109
+ bAfterGstrand = false;
42110
+
42111
+ refnumLabelNoPostfix = undefined;
42112
+ refnumLabel = undefined;
42113
+ }
42092
42114
  }
42093
42115
  }
42094
42116
  else {
42117
+ bAfterGstrand = true; // reset
42118
+
42095
42119
  let len = strandArray[strandCnt].loopResCnt;
42096
42120
  let halfLen = parseInt(len / 2.0 + 0.5);
42097
42121
 
@@ -42109,8 +42133,10 @@ class ShowSeq {
42109
42133
  }
42110
42134
  }
42111
42135
  else if(parseInt(currResi) >= parseInt(strandArray[strandCnt].startResi) && parseInt(currResi) <= parseInt(strandArray[strandCnt].endResi)) {
42112
- bNterminal = false;
42113
- //bCterminal = true; // The next will be C-terminal
42136
+ // not in loop any more if you assign ref numbers multiple times
42137
+ delete ic.residIgLoop[residueid];
42138
+
42139
+ bBeforeAstrand = false;
42114
42140
 
42115
42141
  if(strandArray[strandCnt].anchorRefnum) { // use anchor to name refnum
42116
42142
  if(currResi == strandArray[strandCnt].startResi) {
@@ -42137,23 +42163,20 @@ class ShowSeq {
42137
42163
  else if(parseInt(currResi) > parseInt(strandArray[strandCnt].endResi)) {
42138
42164
  ic.residIgLoop[residueid] = 1;
42139
42165
 
42140
- if(!bCterminal) {
42166
+ if(!bAfterGstrand) {
42141
42167
  refnumLabelNoPostfix = undefined;
42142
42168
  refnumLabel = undefined;
42143
42169
  }
42144
42170
  else {
42145
42171
  // C-terminal
42146
42172
  if(!ic.resid2refnum[residueid]) {
42147
- //break;
42148
-
42149
- bCterminal = false;
42150
- //bNterminal = true; // The next will be N-terminal
42173
+ bAfterGstrand = false;
42151
42174
 
42152
42175
  refnumLabelNoPostfix = undefined;
42153
42176
  refnumLabel = undefined;
42154
42177
  }
42155
42178
  else {
42156
- bCterminal = true;
42179
+ bAfterGstrand = true;
42157
42180
 
42158
42181
  currRefnum = strandArray[strandCnt].endRefnum + loopCnt;
42159
42182
  refnumLabelNoPostfix = strandArray[strandCnt].strand + currRefnum;
@@ -42201,7 +42224,7 @@ class ShowSeq {
42201
42224
  let bHidelabel = false;
42202
42225
 
42203
42226
  if(refnumLabel) {
42204
- refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
42227
+ refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
42205
42228
  currStrand = refnumLabel.replace(new RegExp(refnumStr_ori,'g'), '');
42206
42229
  currStrand_ori = currStrand;
42207
42230
 
@@ -42289,7 +42312,8 @@ class ShowSeq {
42289
42312
  let color = this.getRefnumColor(currStrand, true);
42290
42313
  let colorStr = (!bLoop) ? 'style="color:' + color + '; text-decoration: underline overline;"' : 'style="color:' + color + '"';
42291
42314
 
42292
- let lastTwo = parseInt(refnum.substr(refnum.length - 2, 2));
42315
+ let lastTwoStr = refnum.substr(refnum.length - 2, 2);
42316
+ let lastTwo = parseInt(lastTwoStr);
42293
42317
  parseInt(refnum.substr(refnum.length - 3, 3));
42294
42318
 
42295
42319
  let html = '';
@@ -42302,7 +42326,7 @@ class ShowSeq {
42302
42326
  }
42303
42327
  else if(refnumLabel && lastTwo % 2 == 0 && lastTwo != 52 && !bHidelabel) { // don't show label for the first, middle, and last loop residues
42304
42328
  // e.g., 2152a
42305
- let lastTwoStr = isNaN(refnumStr) ? lastTwo + refnumStr.substr(refnumStr.length - 1, 1) : lastTwo;
42329
+ lastTwoStr = isNaN(refnumStr) ? lastTwoStr + refnumStr.substr(refnumStr.length - 1, 1) : lastTwoStr;
42306
42330
  html += '<span ' + colorStr + ' title="' + refnumLabel + '">' + lastTwoStr + '</span>';
42307
42331
  }
42308
42332
  else {
@@ -42313,15 +42337,14 @@ class ShowSeq {
42313
42337
  }
42314
42338
 
42315
42339
  getRefnumColor(currStrand, bText) { let ic = this.icn3d, me = ic.icn3dui;
42316
- // if(currStrand == "A^") {
42317
- // return '#FF00FF';
42318
- // }
42319
- // else
42320
-
42321
- if(currStrand == "A") {
42340
+ if(currStrand == "A-") {
42341
+ return '#663399';
42342
+ }
42343
+ else if(currStrand == "A") {
42322
42344
  return '#663399';
42323
42345
  }
42324
- else if(currStrand == "A*") {
42346
+ //else if(currStrand == "A*") {
42347
+ else if(currStrand == "A+") {
42325
42348
  return '#663399'; //'#FFC0CB';
42326
42349
  }
42327
42350
  else if(currStrand == "A'") {
@@ -42351,7 +42374,7 @@ class ShowSeq {
42351
42374
  else if(currStrand == "G") {
42352
42375
  return '#FF0000';
42353
42376
  }
42354
- else if(currStrand == "G*") {
42377
+ else if(currStrand == "G+") {
42355
42378
  return '#8B0000';
42356
42379
  }
42357
42380
  else {
@@ -47774,7 +47797,7 @@ class ChainalignParser {
47774
47797
  // reset annotations
47775
47798
  $("#" + ic.pre + "dl_annotations").html("");
47776
47799
  ic.bAnnoShown = false;
47777
- if($('#' + ic.pre + 'dl_selectannotations').dialog( 'isOpen' )) {
47800
+ if($('#' + me.pre + 'dl_selectannotations').hasClass('ui-dialog-content') && $('#' + ic.pre + 'dl_selectannotations').dialog( 'isOpen' )) {
47778
47801
  $('#' + ic.pre + 'dl_selectannotations').dialog( 'close' );
47779
47802
  }
47780
47803
  //});
@@ -62053,10 +62076,15 @@ class Dssp {
62053
62076
  await thisClass.parseRefPdbData(ic.pdbDataArray);
62054
62077
  }
62055
62078
  else {
62056
- //ic.refpdbArray = ['1bqu_fn3', '1cd8_igv', '1t6v_vnar', '1wio_c2', '1wio_igv', '2atp_a', '2atp_b', '2dm3_iset', '5esv_vh', '5esv_vl', '6al5_cd19', '7bz5_cl1', '7bz5_vh', '7bz5_vl'];
62057
62079
  //ic.refpdbArray = ['1bqu_fn3', '1cd8_igv', '1cdh_cd4', '1dr9_cd80', '1hnf_cd2', '1hxm_d', '1hxm_g', '1ifr_lamin', '1ncn_cd86', '1t6v_vnar', '1yjd_cd28', '2atp_a', '2atp_b', '2dm3_iset', '3kys_tead1', '3pv7_ncr', '4f9l_cd277', '4gos_vtc', '4i0k_cd276', '4jqi_b', '4z18_cd274', '4zqk_pd1', '4zt1_e', '5esv_vh', '5esv_vl', '6al5_cd19', '6jxr_a', '6jxr_b', '6jxr_d', '6jxr_e', '6jxr_g', '6oil_vista', '6rp8_at', '6rp8_t', '6umt_cd273', '6x4g_cd275', '6x4g_icos', '7xq8_a', '7xq8_b', 'q71h61_ild', 'q9um44_hhl', 'p42081_cd86', 'q7z7d3_vtc', '1bqu_x', '1cdh_x', '1hnf_x', '1hxm_dx', '1hxm_gx', '4jqi_x', '4zt1_x', '5esv_vhx', '5esv_vlx', '6jxr_ax', '6jxr_bx', '1dr9_x', '3pv7_x', '4f9l_x', '4iok_x', '4z18_x', '6x4g_cd275x', 'q9um44_x'];
62058
62080
 
62059
- ic.refpdbArray = ['1bqu_fn3', '1cd8_igv', '1cdh_cd4', '1dr9_cd80', '1hnf_cd2', '1hxm_d', '1hxm_g', '1ifr_lamin', '1ncn_cd86', '1t6v_vnar', '1yjd_cd28', '2atp_a', '2atp_b', '2dm3_iset', '3kys_tead1', '3pv7_ncr', '4f9l_cd277', '4gos_vtc', '4i0k_cd276', '4jqi_b', '4z18_cd274', '4zqk_pd1', '4zt1_e', '5esv_vh', '5esv_vl', '6al5_cd19', '6jxr_a', '6jxr_b', '6jxr_d', '6jxr_e', '6jxr_g', '6oil_vista', '6rp8_at', '6rp8_t', '6umt_cd273', '6x4g_cd275', '6x4g_icos', '7xq8_a', '7xq8_b', 'q71h61_ild', 'q9um44_hhl'];
62081
+ //ic.refpdbArray = ['1bqu_fn3', '1cd8_igv', '1cdh_cd4', '1dr9_cd80', '1hnf_cd2', '1hxm_d', '1hxm_g', '1ifr_lamin', '1ncn_cd86', '1t6v_vnar', '1yjd_cd28', '2atp_a', '2atp_b', '2dm3_iset', '3kys_tead1', '3pv7_ncr', '4f9l_cd277', '4gos_vtc', '4i0k_cd276', '4jqi_b', '4z18_cd274', '4zqk_pd1', '4zt1_e', '5esv_vh', '5esv_vl', '6al5_cd19', '6jxr_a', '6jxr_b', '6jxr_d', '6jxr_e', '6jxr_g', '6oil_vista', '6rp8_at', '6rp8_t', '6umt_cd273', '6x4g_cd275', '6x4g_icos', '7xq8_a', '7xq8_b', 'q71h61_ild', 'q9um44_hhl'];
62082
+
62083
+ //ic.refpdbArray = ['ASF1A_2iijA_human', 'BArrestin1_4jqiA_rat_n1', 'BTLA_2aw2A_human_Iset', 'C3_2qkiD_human_n1', 'CD19_6al5A_human_C2orV-n1', 'CD2_1hnfA_human_C2-n2', 'CD2_1hnfA_human_V-n1', 'CD8a_1cd8A_human_V', 'CoAtomerGamma1_1r4xA_human', 'Contactin1_3s97C_human_C2-n2', 'CuZnSuperoxideDismutase_1hl5C_human', 'ECadherin_4zt1A_human_n2', 'Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'FAB-HEAVY_5esv_C1-n2', 'FAB-HEAVY_5esv_V-n1', 'FAB-LIGHT_5esv_C1-n2', 'FAB-LIGHT_5esv_V-n1', 'GHR_1axiB_human_FN3-n1', 'ICOS_6x4gA_human_V', 'IL6Rb_1bquB_human_FN3-n2', 'InsulinR_8guyE_human_FN3-n2', 'IsdA_2iteA_bacteria', 'LAG3_7tzgD_human_C2-n2', 'LAG3_7tzgD_human_V-n1', 'LaminAC_1ifrA_human', 'MHCIa_7phrH_human_C1', 'MPT63_1lmiA_bacteria', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark', 'PD1_4zqkB_human_V', 'PDL1_4z18B_human_V-n1', 'Palladin_2dm3A_human_Iset-n1', 'RBPJ_6py8C_human_Unk-n1', 'RBPJ_6py8C_human_Unk-n2', 'TCRa_6jxrm_human_C1-n2', 'TCRa_6jxrm_human_V-n1', 'TEAD1_3kysC_human', 'TP34_2o6cA_bacteria', 'Titin_4uowM_human_Unk-n152', 'VISTA_6oilA_human_V', 'VNAR_1t6vN_shark_V', 'VTCN1_Q7Z7D3_human_V-n2'];
62084
+
62085
+ //ic.refpdbArray2 = ['B2Microglobulin_7phrL_human_C1.pdb', 'Contactin1_2ee2A_human_FN3-n9.pdb', 'IL6Rb_1bquB_human_FN3-n3.pdb', 'InsulinR_8guyE_human_FN3-n1.pdb', 'JAM1_1nbqA_human_VorIset-n2.pdb', 'NaCaExchanger_2fwuA_dog_n2.pdb', 'ORF7a_1xakA_virus.pdb', 'Sidekick2_1wf5A_human_FN3-n7.pdb', 'Siglec3_5j0bB_human_C2-n2.pdb', 'TP47_1o75A_bacteria.pdb'];
62086
+
62087
+ ic.refpdbArray = ['ASF1A_2iijA_human', 'BArrestin1_4jqiA_rat_n1', 'BTLA_2aw2A_human_Iset', 'C3_2qkiD_human_n1', 'CD19_6al5A_human_C2orV-n1', 'CD2_1hnfA_human_C2-n2', 'CD2_1hnfA_human_V-n1', 'CD8a_1cd8A_human_V', 'CoAtomerGamma1_1r4xA_human', 'Contactin1_3s97C_human_C2-n2', 'CuZnSuperoxideDismutase_1hl5C_human', 'ECadherin_4zt1A_human_n2', 'Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'FAB-HEAVY_5esv_C1-n2', 'FAB-HEAVY_5esv_V-n1', 'FAB-LIGHT_5esv_C1-n2', 'FAB-LIGHT_5esv_V-n1', 'GHR_1axiB_human_FN3-n1', 'ICOS_6x4gA_human_V', 'IL6Rb_1bquB_human_FN3-n2', 'InsulinR_8guyE_human_FN3-n2', 'IsdA_2iteA_bacteria', 'LAG3_7tzgD_human_C2-n2', 'LAG3_7tzgD_human_V-n1', 'LaminAC_1ifrA_human', 'MHCIa_7phrH_human_C1', 'MPT63_1lmiA_bacteria', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark', 'PD1_4zqkB_human_V', 'PDL1_4z18B_human_V-n1', 'Palladin_2dm3A_human_Iset-n1', 'RBPJ_6py8C_human_Unk-n1', 'RBPJ_6py8C_human_Unk-n2', 'TCRa_6jxrm_human_C1-n2', 'TCRa_6jxrm_human_V-n1', 'TEAD1_3kysC_human', 'TP34_2o6cA_bacteria', 'Titin_4uowM_human_Unk-n152', 'VISTA_6oilA_human_V', 'VNAR_1t6vN_shark_V', 'VTCN1_Q7Z7D3_human_V-n2', 'B2Microglobulin_7phrL_human_C1.pdb', 'Contactin1_2ee2A_human_FN3-n9.pdb', 'IL6Rb_1bquB_human_FN3-n3.pdb', 'InsulinR_8guyE_human_FN3-n1.pdb', 'JAM1_1nbqA_human_VorIset-n2.pdb', 'NaCaExchanger_2fwuA_dog_n2.pdb', 'ORF7a_1xakA_virus.pdb', 'Sidekick2_1wf5A_human_FN3-n7.pdb', 'Siglec3_5j0bB_human_C2-n2.pdb', 'TP47_1o75A_bacteria.pdb'];
62060
62088
 
62061
62089
  if(ic.pdbDataArray) {
62062
62090
  await thisClass.parseRefPdbData(ic.pdbDataArray);
@@ -62231,15 +62259,15 @@ class Dssp {
62231
62259
  // find the best alignment for each chain
62232
62260
  let domainid2score = {}, domainid2segs = {}, chainid2segs = {};
62233
62261
 
62234
- // if(!ic.chainid2index) ic.chainid2index = {};
62235
- // if(!ic.domainid2index) ic.domainid2index = {};
62236
- // if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
62237
- // if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
62262
+ if(!ic.chainid2index) ic.chainid2index = {};
62263
+ if(!ic.domainid2index) ic.domainid2index = {};
62264
+ if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
62265
+ if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
62238
62266
 
62239
- ic.chainid2index = {};
62240
- ic.domainid2index = {};
62241
- ic.domainid2ig2kabat = {};
62242
- ic.domainid2ig2imgt = {};
62267
+ // ic.chainid2index = {};
62268
+ // ic.domainid2index = {};
62269
+ // ic.domainid2ig2kabat = {};
62270
+ // ic.domainid2ig2imgt = {};
62243
62271
 
62244
62272
  for(let i = 0, il = domainidpairArray.length; i < il; ++i) {
62245
62273
  let queryData = dataArray[i].value; //[0];
@@ -62382,10 +62410,10 @@ if(!me.bNode) {
62382
62410
  getLabelFromRefnum(oriRefnum, prevStrand, bCd19) { let ic = this.icn3d; ic.icn3dui;
62383
62411
  let refnum = parseInt(oriRefnum);
62384
62412
 
62385
- // A^: 1xx or 2xx
62413
+ // A-: 10xx
62386
62414
  // A: 11xx
62387
62415
  // A': 12xx
62388
- // A*: 13xx
62416
+ // A+: 13xx
62389
62417
  // B: 21xx
62390
62418
  // C: 32xx
62391
62419
  // C': 42xx
@@ -62394,7 +62422,7 @@ if(!me.bNode) {
62394
62422
  // E: 71xx
62395
62423
  // F: 82xx
62396
62424
  // G: 91xx, 92xx
62397
- // G*: 94xx
62425
+ // G+: 94xx
62398
62426
 
62399
62427
  // if(refnum < 100) return " " + oriRefnum;
62400
62428
  // else if(refnum >= 100 && refnum < 1000) {
@@ -62403,10 +62431,11 @@ if(!me.bNode) {
62403
62431
  // }
62404
62432
  if(refnum < 900) return undefined;
62405
62433
  else if(refnum >= 900 && refnum < 1000) return " " + oriRefnum;
62406
-
62407
- else if(refnum >= 1000 && refnum < 1200) return "A" + oriRefnum;
62434
+ else if(refnum >= 1000 && refnum < 1100) return "A-" + oriRefnum;
62435
+ else if(refnum >= 1100 && refnum < 1200) return "A" + oriRefnum;
62408
62436
  else if(refnum >= 1200 && refnum < 1300) return "A'" + oriRefnum;
62409
- else if(refnum >= 1300 && refnum < 1400) return "A*" + oriRefnum;
62437
+ //else if(refnum >= 1300 && refnum < 1400) return "A*" + oriRefnum;
62438
+ else if(refnum >= 1300 && refnum < 1400) return "A+" + oriRefnum;
62410
62439
  else if(refnum >= 1400 && refnum < 2000) {
62411
62440
  if(prevStrand && prevStrand.substr(0, 1) == 'A') {
62412
62441
  return prevStrand + oriRefnum;
@@ -62423,7 +62452,8 @@ if(!me.bNode) {
62423
62452
  else if(refnum >= 7000 && refnum < 8000) return "E" + oriRefnum;
62424
62453
  else if(refnum >= 8000 && refnum < 9000) return "F" + oriRefnum;
62425
62454
  else if(refnum >= 9000 && refnum < 9400) return "G" + oriRefnum;
62426
- else if(refnum >= 9400 && refnum < 9500) return "G*" + oriRefnum;
62455
+ //else if(refnum >= 9400 && refnum < 9500) return "G*" + oriRefnum;
62456
+ else if(refnum >= 9400 && refnum < 9500) return "G+" + oriRefnum;
62427
62457
  else if(refnum >= 9500) return "G" + oriRefnum;
62428
62458
  }
62429
62459