icn3d 3.29.16 → 3.29.17

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
@@ -37782,8 +37782,9 @@ class AnnoCddSite {
37782
37782
  if(ic.seqStartLen && ic.seqStartLen[chnid]) html2 += ic.showSeqCls.insertMulGapOverview(chnid, ic.seqStartLen[chnid]);
37783
37783
 
37784
37784
  if(me.cfg.blast_rep_id != chnid) { // regular
37785
+ let color;
37785
37786
  for(let i = 0, il = fromArray.length; i < il; ++i) {
37786
- let color = this.getColorFromPos(chnid, fromArray[i], titleArray);
37787
+ if(i == 0) color = this.getColorFromPos(chnid, fromArray[i], titleArray);
37787
37788
 
37788
37789
  let emptyWidth;
37789
37790
  // if(titleArray) {
@@ -38820,19 +38821,24 @@ class AnnoIg {
38820
38821
  html2 += htmlTitle;
38821
38822
  html2 += htmlCnt + '<span class="icn3d-seqLine">';
38822
38823
 
38824
+ let prevDomainindex, color;
38823
38825
  for(let i = 0, il = fromArray.length; i < il; ++i) {
38824
38826
  let resi = ic.ParserUtilsCls.getResi(chnid, fromArray[i]);
38825
38827
  let resid = chnid + "_" + resi;
38826
- let atom = ic.firstAtomObjCls.getFirstAtomObj(ic.residues[resid]);
38827
- let colorStr =(!atom || atom.color === undefined || atom.color.getHexString() === 'FFFFFF') ? 'DDDDDD' : atom.color.getHexString();
38828
- let color =(atom && atom.color !== undefined) ? colorStr : "CCCCCC";
38829
38828
 
38830
38829
  let domainindex = posindex2domainindex[fromArray[i]];
38830
+ if(domainindex != prevDomainindex) {
38831
+ let atom = ic.firstAtomObjCls.getFirstAtomObj(ic.residues[resid]);
38832
+ let colorStr =(!atom || atom.color === undefined || atom.color.getHexString() === 'FFFFFF') ? 'DDDDDD' : atom.color.getHexString();
38833
+ color =(atom && atom.color !== undefined) ? colorStr : "CCCCCC";
38834
+ }
38831
38835
 
38832
38836
  let emptyWidth =(i == 0) ? Math.round(ic.seqAnnWidth *(fromArray[i]) / ic.maxAnnoLength) :
38833
38837
  Math.round(ic.seqAnnWidth *(fromArray[i] - toArray[i-1] - 1) / ic.maxAnnoLength);
38834
38838
  html2 += '<div style="display:inline-block; width:' + emptyWidth + 'px;">&nbsp;</div>';
38835
38839
  html2 += '<div style="display:inline-block; color:white!important; font-weight:bold; background-color:#' + color + '; width:' + Math.round(ic.seqAnnWidth *(toArray[i] - fromArray[i] + 1) / ic.maxAnnoLength) + 'px;" class="icn3d-seqTitle ' + linkStr + '" ig="0" from="' + fromArray + '" to="' + toArray + '" shorttitle="' + domainArray[domainindex] + '" index="0" setname="' + chnid + '_igs" id="' + chnid + '_igs" anno="sequence" chain="' + chnid + '" title="' + domainArray[domainindex] + '">' + domainArray[domainindex] + ' </div>';
38840
+
38841
+ prevDomainindex = domainindex;
38836
38842
  }
38837
38843
 
38838
38844
  html2 += htmlCnt;
@@ -66925,9 +66931,9 @@ class Dssp {
66925
66931
 
66926
66932
  if(bRerunDomain) {
66927
66933
  let atomsAssigned = {};
66928
- //ic.resid2refnum_ori should be used
66929
- for(let resid in ic.resid2refnum_ori) {
66930
- atomsAssigned = me.hashUtilsCls.unionHash(atomsAssigned, ic.residues[resid]);
66934
+ // for(let resid in ic.resid2refnum_ori) {
66935
+ for(let resid in ic.resid2domainid) {
66936
+ if(ic.resid2domainid[resid]) atomsAssigned = me.hashUtilsCls.unionHash(atomsAssigned, ic.residues[resid]);
66931
66937
  }
66932
66938
 
66933
66939
  currAtoms = me.hashUtilsCls.exclHash(currAtoms, atomsAssigned);
@@ -67184,11 +67190,10 @@ class Dssp {
67184
67190
  }
67185
67191
 
67186
67192
  //!!!
67187
- /*
67188
- // combine the top three clusters for the 2nd round alignment
67193
+
67194
+ // combine the top four clusters for the 2nd round alignment
67189
67195
  if(bRound1) {
67190
67196
  for(let domainid in domainid2refpdbnamelist) {
67191
- if(!me.bNode) console.log("###score " + ic.domainid2score[domainid].split('_')[0] + " ic.domainid2refpdbname[domainid][0] " + ic.domainid2refpdbname[domainid][0])
67192
67197
  if(!me.bNode && ic.domainid2refpdbname[domainid][0] == 'all_templates') {
67193
67198
  let refpdbname2score = domainid2refpdbnamelist[domainid];
67194
67199
  let refpdbnameList = Object.keys(refpdbname2score);
@@ -67196,12 +67201,11 @@ class Dssp {
67196
67201
  return refpdbname2score[b] - refpdbname2score[a]
67197
67202
  });
67198
67203
  // top 3 templates
67199
- ic.domainid2refpdbname[domainid] = refpdbnameList.slice(0,3);
67204
+ ic.domainid2refpdbname[domainid] = refpdbnameList.slice(0,4);
67200
67205
  }
67201
- if(!me.bNode) console.log("###bb ic.domainid2refpdbname[domainid] " + ic.domainid2refpdbname[domainid])
67202
67206
  }
67203
67207
  }
67204
- */
67208
+
67205
67209
  return domainid2segs; // only used in round 2
67206
67210
  }
67207
67211
 
@@ -68068,6 +68072,7 @@ class Dssp {
68068
68072
  let currResid = chnid + '_' + currResi;
68069
68073
  delete ic.residIgLoop[currResid];
68070
68074
  ic.resid2domainid[currResid] = domainid;
68075
+ ic.resid2refnum_ori[currResid] = 1; // a hash to check which residues were assigned
68071
68076
  }
68072
68077
 
68073
68078
  break;
@@ -68101,6 +68106,7 @@ class Dssp {
68101
68106
  let currResid = chnid + '_' + currResi;
68102
68107
  delete ic.residIgLoop[currResid];
68103
68108
  ic.resid2domainid[currResid] = domainid;
68109
+ ic.resid2refnum_ori[currResid] = 1; // a hash to check which residues were assigned
68104
68110
  }
68105
68111
 
68106
68112
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icn3d",
3
- "version": "3.29.16",
3
+ "version": "3.29.17",
4
4
  "main": "./icn3d.js",
5
5
  "exports": {
6
6
  ".": {