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.module.js CHANGED
@@ -8210,14 +8210,14 @@ class ClickMenu {
8210
8210
  thisClass.setLogCmd('ig refnum on', true);
8211
8211
  await ic.refnumCls.showIgRefNum();
8212
8212
 
8213
- if(ic.bShowRefnum) {
8214
- ic.opts.color = 'ig strand';
8215
- ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
8213
+ // if(ic.bShowRefnum) {
8214
+ // ic.opts.color = 'ig strand';
8215
+ // ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
8216
8216
 
8217
- ic.selectionCls.selectAll_base();
8218
- ic.hlUpdateCls.updateHlAll();
8219
- ic.drawCls.draw();
8220
- }
8217
+ // ic.selectionCls.selectAll_base();
8218
+ // ic.hlUpdateCls.updateHlAll();
8219
+ // ic.drawCls.draw();
8220
+ // }
8221
8221
  });
8222
8222
 
8223
8223
  me.myEventCls.onIds("#" + me.pre + "mn6_igrefNo", "click", async function(e) { let ic = me.icn3d; e.preventDefault();
@@ -10297,8 +10297,8 @@ class SetMenu {
10297
10297
  //}
10298
10298
 
10299
10299
  //!!!
10300
- // html += this.getRadio('mn4_clr', 'mn4_clrIgstrand', 'Ig Strand', undefined, undefined, 2);
10301
- // html += this.getRadio('mn4_clr', 'mn4_clrIgproto', 'Ig Protodomain', undefined, undefined, 2);
10300
+ //html += this.getRadio('mn4_clr', 'mn4_clrIgstrand', 'Ig Strand', undefined, undefined, 2);
10301
+ //html += this.getRadio('mn4_clr', 'mn4_clrIgproto', 'Ig Protodomain', undefined, undefined, 2);
10302
10302
  }
10303
10303
  else {
10304
10304
  //if(!me.cfg.hidelicense) html += this.getRadio('mn4_clr', 'mn1_delphi2', 'DelPhi<br><span style="padding-left:1.5em;">Potential ' + me.htmlCls.licenseStr + '</span>');
@@ -35575,25 +35575,27 @@ class SetColor {
35575
35575
  case 'ig strand':
35576
35576
  if(ic.bShowRefnum) {
35577
35577
  let color;
35578
- for(let resid in ic.residues) {
35579
- if(!ic.resid2refnum[resid]) {
35578
+ let residueHash = ic.firstAtomObjCls.getResiduesFromAtoms(atoms);
35579
+
35580
+ for(let resid in residueHash) {
35581
+ if(!ic.resid2refnum[resid]) {
35580
35582
  color = me.parasCls.thr('#FFFFFF');
35581
35583
  }
35582
35584
  else {
35583
35585
  let refnumLabel = ic.resid2refnum[resid];
35584
35586
 
35585
- if(!refnumLabel) {
35586
- color = me.parasCls.thr(me.htmlCls.GREYB);
35587
- }
35588
- else {
35589
- let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
35587
+ // if(!refnumLabel) {
35588
+ // color = me.parasCls.thr(me.htmlCls.GREYB);
35589
+ // }
35590
+ // else {
35591
+ let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
35590
35592
  let currStrand = refnumLabel.replace(new RegExp(refnumStr,'g'), '');
35591
35593
  color = ic.showSeqCls.getRefnumColor(currStrand);
35592
35594
 
35593
- if(ic.residIgLoop.hasOwnProperty(resid)) {
35595
+ if(ic.residIgLoop.hasOwnProperty(resid)) {
35594
35596
  color = me.parasCls.thr(me.htmlCls.GREYB);
35595
35597
  }
35596
- }
35598
+ // }
35597
35599
  }
35598
35600
 
35599
35601
  for (let i in ic.residues[resid]) {
@@ -35610,7 +35612,8 @@ class SetColor {
35610
35612
  case 'ig protodomain':
35611
35613
  if(ic.bShowRefnum) {
35612
35614
  let color;
35613
- for(let resid in ic.residues) {
35615
+ let residueHash = ic.firstAtomObjCls.getResiduesFromAtoms(atoms);
35616
+ for(let resid in residueHash) {
35614
35617
  if(!ic.resid2refnum[resid]) {
35615
35618
  color = me.parasCls.thr('#FFFFFF');
35616
35619
  }
@@ -35621,7 +35624,7 @@ class SetColor {
35621
35624
  color = me.parasCls.thr(me.htmlCls.GREYB);
35622
35625
  }
35623
35626
  else {
35624
- let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
35627
+ let refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
35625
35628
  let currStrand = refnumLabel.replace(new RegExp(refnumStr,'g'), '');
35626
35629
  color = ic.showSeqCls.getProtodomainColor(currStrand);
35627
35630
 
@@ -36563,9 +36566,9 @@ class SetOption {
36563
36566
  let html = '';
36564
36567
 
36565
36568
  const name2color = {
36566
- //"A^ Strand": "FF00FF",
36569
+ //"A- Strand": "FF00FF",
36567
36570
  "A Strand": "663399",
36568
- //"A* Strand": "663399", //"FFC0CB",
36571
+ //"A+ Strand": "663399", //"FFC0CB",
36569
36572
  "A' Strand": "663399", //"9370db",
36570
36573
  "B Strand": "ba55d3",
36571
36574
  "C Strand": "0000FF",
@@ -36575,7 +36578,7 @@ class SetOption {
36575
36578
  "E Strand": "FFFF00", //"F0E68C",
36576
36579
  "F Strand": "FFA500",
36577
36580
  "G Strand": "FF0000",
36578
- //"G* Strand": "8B0000",
36581
+ //"G+ Strand": "8B0000",
36579
36582
  "Loop": "CCCCCC"
36580
36583
  };
36581
36584
 
@@ -41753,10 +41756,12 @@ class ShowAnno {
41753
41756
 
41754
41757
  if(ic.bShowRefnum) {
41755
41758
  ic.opts.color = 'ig strand';
41756
- ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
41759
+ //ic.setColorCls.setColorByOptions(ic.opts, ic.atoms);
41760
+ ic.setColorCls.setColorByOptions(ic.opts, ic.dAtoms);
41757
41761
 
41758
41762
  ic.selectionCls.selectAll_base();
41759
41763
  ic.hlUpdateCls.updateHlAll();
41764
+ //ic.drawCls.draw();
41760
41765
  }
41761
41766
  }
41762
41767
 
@@ -42842,7 +42847,7 @@ class ShowSeq {
42842
42847
  }
42843
42848
 
42844
42849
  if(refnumLabel) {
42845
- refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
42850
+ refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
42846
42851
  currStrand = refnumLabel.replace(new RegExp(refnumStr_ori,'g'), '');
42847
42852
  refnumStr_ori.substr(0, 1);
42848
42853
 
@@ -42925,18 +42930,18 @@ class ShowSeq {
42925
42930
  for(let il = strandArray.length, i = il - 1; i >= 0; --i) {
42926
42931
  if(strandArray[i].endRefnum - strandArray[i].startRefnum + 1 < 3) { // remove the strand
42927
42932
  if(i != il - 1) { // modify
42928
- strandArray[i + 1].loopResCnt += strandArray[i].endRefnum - strandArray[i].startRefnum + 1;
42933
+ strandArray[i + 1].loopResCnt += strandArray[i].loopResCnt + strandArray[i].endRefnum - strandArray[i].startRefnum + 1;
42929
42934
  }
42930
42935
 
42931
42936
  strandArray.splice(i, 1);
42932
42937
  }
42933
42938
  }
42934
-
42939
+
42935
42940
  // 3. assign refnumLabel for each resid
42936
42941
  strandCnt = 0;
42937
42942
  let loopCnt = 0;
42938
42943
 
42939
- let bNterminal = true, bCterminal = true, refnumLabelNoPostfix, prevStrandCnt = 0, currRefnum;
42944
+ let bBeforeAstrand = true, bAfterGstrand = true, refnumLabelNoPostfix, prevStrandCnt = 0, currRefnum;
42940
42945
  bStart = false;
42941
42946
  let refnumInStrand = 0;
42942
42947
  if(strandArray.length > 0) {
@@ -42948,14 +42953,14 @@ class ShowSeq {
42948
42953
  currStrand = strandArray[strandCnt].strand;
42949
42954
 
42950
42955
  if(refnumLabel) {
42951
- refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
42956
+ refnumStr = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
42952
42957
  currRefnum = parseInt(refnumStr);
42953
42958
  refnumLabelNoPostfix = currStrand + currRefnum;
42954
42959
 
42955
42960
  let firstChar = refnumLabel.substr(0,1);
42956
42961
  if(!bStart && (firstChar == ' ' || firstChar == 'A' || firstChar == 'B')) { // start of a new IG domain
42957
42962
  bStart = true;
42958
- bNterminal = true;
42963
+ bBeforeAstrand = true;
42959
42964
  loopCnt = 0;
42960
42965
  }
42961
42966
  }
@@ -42970,29 +42975,48 @@ class ShowSeq {
42970
42975
  if(parseInt(currResi) < parseInt(strandArray[strandCnt].startResi)) {
42971
42976
  ic.residIgLoop[residueid] = 1;
42972
42977
 
42973
- if(bNterminal) { // make it continuous to the 1st strand
42978
+ if(bBeforeAstrand) { // make it continuous to the 1st strand
42974
42979
  if(bStart) {
42975
42980
  currRefnum = strandArray[strandCnt].startRefnum - strandArray[strandCnt].loopResCnt + loopCnt;
42976
42981
  refnumLabelNoPostfix = strandArray[strandCnt].strand + currRefnum;
42977
42982
  refnumLabel = refnumLabelNoPostfix + strandArray[strandCnt].strandPostfix;
42978
- }
42983
+ }
42984
+ else {
42985
+ //loopCnt = 0;
42986
+ refnumLabelNoPostfix = undefined;
42987
+ refnumLabel = undefined;
42988
+ }
42979
42989
  }
42980
42990
  else {
42981
- //currStrand = strandArray[prevStrandCnt].strand;
42982
-
42983
42991
  if(prevStrandCnt >= 0 && strandArray[prevStrandCnt].strand.substr(0, 1) == 'G') {
42984
- if(bStart && ic.resid2refnum[residueid]) {
42985
- currRefnum = strandArray[prevStrandCnt].endRefnum + loopCnt;
42986
- refnumLabelNoPostfix = strandArray[prevStrandCnt].strand + currRefnum;
42987
- refnumLabel = refnumLabelNoPostfix + strandArray[prevStrandCnt].strandPostfix;
42992
+ if(!bAfterGstrand) {
42993
+ //loopCnt = 0;
42994
+ refnumLabelNoPostfix = undefined;
42995
+ refnumLabel = undefined;
42988
42996
  }
42989
42997
  else {
42990
- bStart = false;
42991
- bNterminal = true;
42992
- loopCnt = 0;
42998
+ if(bStart && ic.resid2refnum[residueid]) {
42999
+ bAfterGstrand = true;
43000
+
43001
+ currRefnum = strandArray[prevStrandCnt].endRefnum + loopCnt;
43002
+ refnumLabelNoPostfix = strandArray[prevStrandCnt].strand + currRefnum;
43003
+ refnumLabel = refnumLabelNoPostfix + strandArray[prevStrandCnt].strandPostfix;
43004
+ }
43005
+ else {
43006
+ bStart = false;
43007
+ bBeforeAstrand = true;
43008
+ //loopCnt = 0;
43009
+
43010
+ bAfterGstrand = false;
43011
+
43012
+ refnumLabelNoPostfix = undefined;
43013
+ refnumLabel = undefined;
43014
+ }
42993
43015
  }
42994
43016
  }
42995
43017
  else {
43018
+ bAfterGstrand = true; // reset
43019
+
42996
43020
  let len = strandArray[strandCnt].loopResCnt;
42997
43021
  let halfLen = parseInt(len / 2.0 + 0.5);
42998
43022
 
@@ -43010,8 +43034,10 @@ class ShowSeq {
43010
43034
  }
43011
43035
  }
43012
43036
  else if(parseInt(currResi) >= parseInt(strandArray[strandCnt].startResi) && parseInt(currResi) <= parseInt(strandArray[strandCnt].endResi)) {
43013
- bNterminal = false;
43014
- //bCterminal = true; // The next will be C-terminal
43037
+ // not in loop any more if you assign ref numbers multiple times
43038
+ delete ic.residIgLoop[residueid];
43039
+
43040
+ bBeforeAstrand = false;
43015
43041
 
43016
43042
  if(strandArray[strandCnt].anchorRefnum) { // use anchor to name refnum
43017
43043
  if(currResi == strandArray[strandCnt].startResi) {
@@ -43038,23 +43064,20 @@ class ShowSeq {
43038
43064
  else if(parseInt(currResi) > parseInt(strandArray[strandCnt].endResi)) {
43039
43065
  ic.residIgLoop[residueid] = 1;
43040
43066
 
43041
- if(!bCterminal) {
43067
+ if(!bAfterGstrand) {
43042
43068
  refnumLabelNoPostfix = undefined;
43043
43069
  refnumLabel = undefined;
43044
43070
  }
43045
43071
  else {
43046
43072
  // C-terminal
43047
43073
  if(!ic.resid2refnum[residueid]) {
43048
- //break;
43049
-
43050
- bCterminal = false;
43051
- //bNterminal = true; // The next will be N-terminal
43074
+ bAfterGstrand = false;
43052
43075
 
43053
43076
  refnumLabelNoPostfix = undefined;
43054
43077
  refnumLabel = undefined;
43055
43078
  }
43056
43079
  else {
43057
- bCterminal = true;
43080
+ bAfterGstrand = true;
43058
43081
 
43059
43082
  currRefnum = strandArray[strandCnt].endRefnum + loopCnt;
43060
43083
  refnumLabelNoPostfix = strandArray[strandCnt].strand + currRefnum;
@@ -43102,7 +43125,7 @@ class ShowSeq {
43102
43125
  let bHidelabel = false;
43103
43126
 
43104
43127
  if(refnumLabel) {
43105
- refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').substr(1); // C', C''
43128
+ refnumStr_ori = refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
43106
43129
  currStrand = refnumLabel.replace(new RegExp(refnumStr_ori,'g'), '');
43107
43130
  currStrand_ori = currStrand;
43108
43131
 
@@ -43190,7 +43213,8 @@ class ShowSeq {
43190
43213
  let color = this.getRefnumColor(currStrand, true);
43191
43214
  let colorStr = (!bLoop) ? 'style="color:' + color + '; text-decoration: underline overline;"' : 'style="color:' + color + '"';
43192
43215
 
43193
- let lastTwo = parseInt(refnum.substr(refnum.length - 2, 2));
43216
+ let lastTwoStr = refnum.substr(refnum.length - 2, 2);
43217
+ let lastTwo = parseInt(lastTwoStr);
43194
43218
  parseInt(refnum.substr(refnum.length - 3, 3));
43195
43219
 
43196
43220
  let html = '';
@@ -43203,7 +43227,7 @@ class ShowSeq {
43203
43227
  }
43204
43228
  else if(refnumLabel && lastTwo % 2 == 0 && lastTwo != 52 && !bHidelabel) { // don't show label for the first, middle, and last loop residues
43205
43229
  // e.g., 2152a
43206
- let lastTwoStr = isNaN(refnumStr) ? lastTwo + refnumStr.substr(refnumStr.length - 1, 1) : lastTwo;
43230
+ lastTwoStr = isNaN(refnumStr) ? lastTwoStr + refnumStr.substr(refnumStr.length - 1, 1) : lastTwoStr;
43207
43231
  html += '<span ' + colorStr + ' title="' + refnumLabel + '">' + lastTwoStr + '</span>';
43208
43232
  }
43209
43233
  else {
@@ -43214,15 +43238,14 @@ class ShowSeq {
43214
43238
  }
43215
43239
 
43216
43240
  getRefnumColor(currStrand, bText) { let ic = this.icn3d, me = ic.icn3dui;
43217
- // if(currStrand == "A^") {
43218
- // return '#FF00FF';
43219
- // }
43220
- // else
43221
-
43222
- if(currStrand == "A") {
43241
+ if(currStrand == "A-") {
43242
+ return '#663399';
43243
+ }
43244
+ else if(currStrand == "A") {
43223
43245
  return '#663399';
43224
43246
  }
43225
- else if(currStrand == "A*") {
43247
+ //else if(currStrand == "A*") {
43248
+ else if(currStrand == "A+") {
43226
43249
  return '#663399'; //'#FFC0CB';
43227
43250
  }
43228
43251
  else if(currStrand == "A'") {
@@ -43252,7 +43275,7 @@ class ShowSeq {
43252
43275
  else if(currStrand == "G") {
43253
43276
  return '#FF0000';
43254
43277
  }
43255
- else if(currStrand == "G*") {
43278
+ else if(currStrand == "G+") {
43256
43279
  return '#8B0000';
43257
43280
  }
43258
43281
  else {
@@ -48675,7 +48698,7 @@ class ChainalignParser {
48675
48698
  // reset annotations
48676
48699
  $("#" + ic.pre + "dl_annotations").html("");
48677
48700
  ic.bAnnoShown = false;
48678
- if($('#' + ic.pre + 'dl_selectannotations').dialog( 'isOpen' )) {
48701
+ if($('#' + me.pre + 'dl_selectannotations').hasClass('ui-dialog-content') && $('#' + ic.pre + 'dl_selectannotations').dialog( 'isOpen' )) {
48679
48702
  $('#' + ic.pre + 'dl_selectannotations').dialog( 'close' );
48680
48703
  }
48681
48704
  //});
@@ -62954,10 +62977,15 @@ class Dssp {
62954
62977
  await thisClass.parseRefPdbData(ic.pdbDataArray);
62955
62978
  }
62956
62979
  else {
62957
- //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'];
62958
62980
  //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'];
62959
62981
 
62960
- 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'];
62982
+ //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'];
62983
+
62984
+ //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'];
62985
+
62986
+ //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'];
62987
+
62988
+ 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'];
62961
62989
 
62962
62990
  if(ic.pdbDataArray) {
62963
62991
  await thisClass.parseRefPdbData(ic.pdbDataArray);
@@ -63132,15 +63160,15 @@ class Dssp {
63132
63160
  // find the best alignment for each chain
63133
63161
  let domainid2score = {}, domainid2segs = {}, chainid2segs = {};
63134
63162
 
63135
- // if(!ic.chainid2index) ic.chainid2index = {};
63136
- // if(!ic.domainid2index) ic.domainid2index = {};
63137
- // if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
63138
- // if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
63163
+ if(!ic.chainid2index) ic.chainid2index = {};
63164
+ if(!ic.domainid2index) ic.domainid2index = {};
63165
+ if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
63166
+ if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
63139
63167
 
63140
- ic.chainid2index = {};
63141
- ic.domainid2index = {};
63142
- ic.domainid2ig2kabat = {};
63143
- ic.domainid2ig2imgt = {};
63168
+ // ic.chainid2index = {};
63169
+ // ic.domainid2index = {};
63170
+ // ic.domainid2ig2kabat = {};
63171
+ // ic.domainid2ig2imgt = {};
63144
63172
 
63145
63173
  for(let i = 0, il = domainidpairArray.length; i < il; ++i) {
63146
63174
  let queryData = dataArray[i].value; //[0];
@@ -63283,10 +63311,10 @@ if(!me.bNode) {
63283
63311
  getLabelFromRefnum(oriRefnum, prevStrand, bCd19) { let ic = this.icn3d; ic.icn3dui;
63284
63312
  let refnum = parseInt(oriRefnum);
63285
63313
 
63286
- // A^: 1xx or 2xx
63314
+ // A-: 10xx
63287
63315
  // A: 11xx
63288
63316
  // A': 12xx
63289
- // A*: 13xx
63317
+ // A+: 13xx
63290
63318
  // B: 21xx
63291
63319
  // C: 32xx
63292
63320
  // C': 42xx
@@ -63295,7 +63323,7 @@ if(!me.bNode) {
63295
63323
  // E: 71xx
63296
63324
  // F: 82xx
63297
63325
  // G: 91xx, 92xx
63298
- // G*: 94xx
63326
+ // G+: 94xx
63299
63327
 
63300
63328
  // if(refnum < 100) return " " + oriRefnum;
63301
63329
  // else if(refnum >= 100 && refnum < 1000) {
@@ -63304,10 +63332,11 @@ if(!me.bNode) {
63304
63332
  // }
63305
63333
  if(refnum < 900) return undefined;
63306
63334
  else if(refnum >= 900 && refnum < 1000) return " " + oriRefnum;
63307
-
63308
- else if(refnum >= 1000 && refnum < 1200) return "A" + oriRefnum;
63335
+ else if(refnum >= 1000 && refnum < 1100) return "A-" + oriRefnum;
63336
+ else if(refnum >= 1100 && refnum < 1200) return "A" + oriRefnum;
63309
63337
  else if(refnum >= 1200 && refnum < 1300) return "A'" + oriRefnum;
63310
- else if(refnum >= 1300 && refnum < 1400) return "A*" + oriRefnum;
63338
+ //else if(refnum >= 1300 && refnum < 1400) return "A*" + oriRefnum;
63339
+ else if(refnum >= 1300 && refnum < 1400) return "A+" + oriRefnum;
63311
63340
  else if(refnum >= 1400 && refnum < 2000) {
63312
63341
  if(prevStrand && prevStrand.substr(0, 1) == 'A') {
63313
63342
  return prevStrand + oriRefnum;
@@ -63324,7 +63353,8 @@ if(!me.bNode) {
63324
63353
  else if(refnum >= 7000 && refnum < 8000) return "E" + oriRefnum;
63325
63354
  else if(refnum >= 8000 && refnum < 9000) return "F" + oriRefnum;
63326
63355
  else if(refnum >= 9000 && refnum < 9400) return "G" + oriRefnum;
63327
- else if(refnum >= 9400 && refnum < 9500) return "G*" + oriRefnum;
63356
+ //else if(refnum >= 9400 && refnum < 9500) return "G*" + oriRefnum;
63357
+ else if(refnum >= 9400 && refnum < 9500) return "G+" + oriRefnum;
63328
63358
  else if(refnum >= 9500) return "G" + oriRefnum;
63329
63359
  }
63330
63360
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icn3d",
3
- "version": "3.25.8",
3
+ "version": "3.25.10",
4
4
  "main": "./icn3d.js",
5
5
  "exports": {
6
6
  ".": {