icn3d 3.25.6 → 3.25.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/icn3d.js CHANGED
@@ -38626,12 +38626,12 @@ class Domain3d {
38626
38626
 
38627
38627
  if (nsse <= 3)
38628
38628
  // too small, can't split or trim
38629
- return {subdomains: subdomains, substruct: substruct};
38629
+ return {subdomains: subdomains, substruct: substruct, pos2resi: pos2resi};
38630
38630
 
38631
38631
  if (nsse > this.MAX_SSE) {
38632
38632
  // we have a problem...
38633
38633
 
38634
- return {subdomains: subdomains, substruct: substruct};
38634
+ return {subdomains: subdomains, substruct: substruct, pos2resi: pos2resi};
38635
38635
  }
38636
38636
 
38637
38637
  let seqLen = residueArray.length; // + resiOffset;
@@ -38903,7 +38903,7 @@ class Domain3d {
38903
38903
  let k = prts[i] - 1;
38904
38904
 
38905
38905
  if ((k < 0) || (k >= substruct.length)) {
38906
- return {subdomains: subdomains, substruct: substruct};
38906
+ return {subdomains: subdomains, substruct: substruct, pos2resi: pos2resi};
38907
38907
  }
38908
38908
 
38909
38909
  //SSE_Rec sserec = substruct[k];
@@ -39020,7 +39020,7 @@ class Domain3d {
39020
39020
  }
39021
39021
  }
39022
39022
 
39023
- return {subdomains: subdomains, substruct: substruct, pos2resi:pos2resi };
39023
+ return {subdomains: subdomains, substruct: substruct, pos2resi: pos2resi };
39024
39024
  } // end c2b_NewSplitChain
39025
39025
 
39026
39026
  getDomainJsonForAlign(atoms) { let ic = this.icn3d, me = ic.icn3dui;
@@ -41923,9 +41923,9 @@ class ShowSeq {
41923
41923
  let index = 1, bStart = false;
41924
41924
 
41925
41925
  // 1. get the range of each strand excluding loops
41926
- let strandArray = [], strandHash = {}, strandCnt = 0, resCnt = 0, resCntBfAnchor = 0;
41926
+ let strandArray = [], strandHash = {}, strandCnt = 0, resCnt = 0, resCntBfAnchor = 0, resCntAtAnchor = 0;
41927
41927
  if(!bCustom && !kabat_or_imgt) {
41928
- for(let i = 0, il = giSeq.length; i < il; ++i, ++resCnt, ++resCntBfAnchor) {
41928
+ for(let i = 0, il = giSeq.length; i < il; ++i, ++resCnt, ++resCntBfAnchor, ++resCntAtAnchor) {
41929
41929
  let currResi = ic.ParserUtilsCls.getResi(chnid, i);
41930
41930
  let residueid = chnid + '_' + currResi;
41931
41931
  refnumLabel = ic.resid2refnum[residueid];
@@ -41976,6 +41976,8 @@ class ShowSeq {
41976
41976
  if(lastTwo == 50) {
41977
41977
  strandArray[strandCnt].anchorRefnum = refnum;
41978
41978
  strandArray[strandCnt].resCntBfAnchor = resCntBfAnchor;
41979
+
41980
+ resCntAtAnchor = 0;
41979
41981
  }
41980
41982
 
41981
41983
  strandArray[strandCnt].strandPostfix = strandPostfix; // a in A1250a
@@ -41990,12 +41992,22 @@ class ShowSeq {
41990
41992
  }
41991
41993
  else {
41992
41994
  if(strandHash[currStrand + postfix]) {
41993
- strandArray[strandCnt - 1].endResi = currResi;
41994
- strandArray[strandCnt - 1].endRefnum = refnum; // 1250a
41995
-
41996
41995
  if(lastTwo == 50) {
41997
41996
  strandArray[strandCnt - 1].anchorRefnum = refnum;
41998
41997
  strandArray[strandCnt - 1].resCntBfAnchor = resCntBfAnchor;
41998
+
41999
+ // update
42000
+ strandArray[strandCnt - 1].startRefnum = strandArray[strandCnt - 1].anchorRefnum - strandArray[strandCnt - 1].resCntBfAnchor;
42001
+
42002
+ resCntAtAnchor = 0;
42003
+ }
42004
+
42005
+ strandArray[strandCnt - 1].endResi = currResi;
42006
+ strandArray[strandCnt - 1].endRefnum = refnum; // 1250a
42007
+ strandArray[strandCnt - 1].resCntAtAnchor = resCntAtAnchor;
42008
+
42009
+ if(strandArray[strandCnt - 1].anchorRefnum) {
42010
+ strandArray[strandCnt - 1].endRefnum = strandArray[strandCnt - 1].anchorRefnum + strandArray[strandCnt - 1].resCntAtAnchor;
41999
42011
  }
42000
42012
 
42001
42013
  resCnt = 0;
@@ -42018,12 +42030,12 @@ class ShowSeq {
42018
42030
  strandArray.splice(i, 1);
42019
42031
  }
42020
42032
  }
42021
-
42033
+
42022
42034
  // 3. assign refnumLabel for each resid
42023
42035
  strandCnt = 0;
42024
42036
  let loopCnt = 0;
42025
42037
 
42026
- let bNterminal = true, refnumLabelNoPostfix, prevStrandCnt = 0, currRefnum;
42038
+ let bNterminal = true, bCterminal = true, refnumLabelNoPostfix, prevStrandCnt = 0, currRefnum;
42027
42039
  bStart = false;
42028
42040
  let refnumInStrand = 0;
42029
42041
  if(strandArray.length > 0) {
@@ -42098,6 +42110,7 @@ class ShowSeq {
42098
42110
  }
42099
42111
  else if(parseInt(currResi) >= parseInt(strandArray[strandCnt].startResi) && parseInt(currResi) <= parseInt(strandArray[strandCnt].endResi)) {
42100
42112
  bNterminal = false;
42113
+ //bCterminal = true; // The next will be C-terminal
42101
42114
 
42102
42115
  if(strandArray[strandCnt].anchorRefnum) { // use anchor to name refnum
42103
42116
  if(currResi == strandArray[strandCnt].startResi) {
@@ -42124,14 +42137,28 @@ class ShowSeq {
42124
42137
  else if(parseInt(currResi) > parseInt(strandArray[strandCnt].endResi)) {
42125
42138
  ic.residIgLoop[residueid] = 1;
42126
42139
 
42127
- // C-terminal
42128
- if(!ic.resid2refnum[residueid]) {
42129
- break;
42140
+ if(!bCterminal) {
42141
+ refnumLabelNoPostfix = undefined;
42142
+ refnumLabel = undefined;
42130
42143
  }
42131
42144
  else {
42132
- currRefnum = strandArray[strandCnt].endRefnum + loopCnt;
42133
- refnumLabelNoPostfix = strandArray[strandCnt].strand + currRefnum;
42134
- refnumLabel = refnumLabelNoPostfix + strandArray[strandCnt].strandPostfix;
42145
+ // C-terminal
42146
+ if(!ic.resid2refnum[residueid]) {
42147
+ //break;
42148
+
42149
+ bCterminal = false;
42150
+ //bNterminal = true; // The next will be N-terminal
42151
+
42152
+ refnumLabelNoPostfix = undefined;
42153
+ refnumLabel = undefined;
42154
+ }
42155
+ else {
42156
+ bCterminal = true;
42157
+
42158
+ currRefnum = strandArray[strandCnt].endRefnum + loopCnt;
42159
+ refnumLabelNoPostfix = strandArray[strandCnt].strand + currRefnum;
42160
+ refnumLabel = refnumLabelNoPostfix + strandArray[strandCnt].strandPostfix;
42161
+ }
42135
42162
  }
42136
42163
  }
42137
42164
  }
@@ -62320,7 +62347,7 @@ if(!me.bNode) {
62320
62347
  prevStrand = (refnumLabel) ? refnumLabel.replace(new RegExp(refnum,'g'), '') : undefined;
62321
62348
 
62322
62349
  ic.resid2refnum[resid] = refnumLabel;
62323
- console.log(resid + " " + refnumLabel);
62350
+
62324
62351
  // final reference numbers will be assign in ic.showSeqCls.showRefNum()
62325
62352
 
62326
62353
  // if(!ic.refnum2residArray.hasOwnProperty(refnum)) {
@@ -70430,7 +70457,7 @@ class iCn3DUI {
70430
70457
  //even when multiple iCn3D viewers are shown together.
70431
70458
  this.pre = this.cfg.divid + "_";
70432
70459
 
70433
- this.REVISION = '3.25.0';
70460
+ this.REVISION = '3.25.1';
70434
70461
 
70435
70462
  // In nodejs, iCn3D defines "window = {navigator: {}}"
70436
70463
  this.bNode = (Object.keys(window).length < 2) ? true : false;