icn3d 3.31.10 → 3.31.11

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
@@ -46964,6 +46964,7 @@ class ShowAnno {
46964
46964
  // the missing residues at the end of the seq will be filled up in the API showNewTrack()
46965
46965
  let nGap = 0;
46966
46966
  ic.alnChainsSeq[chnid] = [];
46967
+
46967
46968
  //let offset =(ic.chainid2offset[chnid]) ? ic.chainid2offset[chnid] : 0;
46968
46969
  for(let i = 0, il = targetSeq.length; i < il; ++i) {
46969
46970
  //text += ic.showSeqCls.insertGap(chnid, i, '-', true);
@@ -57057,8 +57058,9 @@ class RealignParser {
57057
57058
  }
57058
57059
 
57059
57060
  // If rmsd from vastsrv is too large, realign the chains
57060
- //if(me.cfg.chainalign && !me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5) {
57061
- if(!me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5) {
57061
+ //if(me.cfg.chainalign && !me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5) {
57062
+ // redo algnment only for VAST serv page
57063
+ if(!me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5) {
57062
57064
  console.log("RMSD from VAST is larger than 5. Realign the chains with TM-align.");
57063
57065
  //let nameArray = me.cfg.chainalign.split(',');
57064
57066
  let nameArray = Object.keys(chainidHash);
@@ -71640,7 +71642,7 @@ class Dssp {
71640
71642
  }
71641
71643
 
71642
71644
  rmStrandFromRefnumlabel(refnumLabel) { let ic = this.icn3d; ic.icn3dui;
71643
- if(isNaN(refnumLabel.substr(0,1))) {
71645
+ if(refnumLabel && isNaN(refnumLabel.substr(0,1))) {
71644
71646
  return (!refnumLabel) ? refnumLabel : refnumLabel.replace(/'/g, '').replace(/\*/g, '').replace(/\^/g, '').replace(/\+/g, '').replace(/\-/g, '').substr(1); // C', C''
71645
71647
  }
71646
71648
  else { // custom ref numbers
@@ -71693,25 +71695,15 @@ class Dssp {
71693
71695
  }
71694
71696
  }
71695
71697
 
71696
- // let bIgDomain = (ic.domainid2info && Object.keys(ic.domainid2info).length > 0) ? 1 : 0;
71697
- let stru2bIgDomain = {};
71698
- for(let domainid in ic.domainid2info) {
71699
- let stru = domainid.split('_')[0];
71700
- stru2bIgDomain[stru] = 1;
71701
- }
71702
-
71703
71698
  // if(bIgDomain) {
71704
71699
  for(let structure in ic.structures) {
71705
- let bIgDomain = stru2bIgDomain.hasOwnProperty(structure) ? 1 : 0;
71706
-
71707
- refData += '{"' + structure + '": {"Ig domain" : ' + bIgDomain + ', "igs": [\n';
71708
-
71700
+ let refDataTmp = '';
71709
71701
  for(let m = 0, ml = ic.structures[structure].length; ic.bShowRefnum && m < ml; ++m) {
71710
71702
  let chnid = ic.structures[structure][m];
71711
71703
  let igArray = ic.chain2igArray[chnid];
71712
71704
 
71713
71705
  if(igArray && igArray.length > 0) {
71714
- refData += '{"' + chnid + '": {\n';
71706
+ refDataTmp += '{"' + chnid + '": {\n';
71715
71707
 
71716
71708
  for(let i = 0, il = igArray.length; i < il; ++i) {
71717
71709
  let startPosArray = igArray[i].startPosArray;
@@ -71720,26 +71712,32 @@ class Dssp {
71720
71712
  let info = ic.domainid2info[domainid];
71721
71713
  if(!info) continue;
71722
71714
 
71723
- refData += '"' + domainid + '": {\n';
71715
+ refDataTmp += '"' + domainid + '": {\n';
71724
71716
 
71725
- refData += '"refpdbname":"' + info.refpdbname + '", "score":' + info.score + ', "seqid":' + info.seqid + ', "nresAlign":' + info.nresAlign + ', "data": [';
71717
+ refDataTmp += '"refpdbname":"' + info.refpdbname + '", "score":' + info.score + ', "seqid":' + info.seqid + ', "nresAlign":' + info.nresAlign + ', "data": [';
71726
71718
  for(let j = 0, jl = startPosArray.length; j < jl; ++j) {
71727
71719
  let startPos = startPosArray[j];
71728
71720
  let endPos = endPosArray[j];
71729
71721
  for(let k = startPos; k <= endPos; ++k) {
71730
71722
  const resid = chnid + '_' + ic.chainsSeq[chnid][k].resi + '_' + ic.chainsSeq[chnid][k].name;
71731
- refData += '{"' + resid + '": "' + resid2refnum[resid] + '"},\n';
71723
+ refDataTmp += '{"' + resid + '": "' + resid2refnum[resid] + '"},\n';
71732
71724
  }
71733
71725
  }
71734
- refData += '],\n';
71726
+ refDataTmp += '],\n';
71735
71727
 
71736
- refData += '},\n';
71728
+ refDataTmp += '},\n';
71737
71729
  }
71738
71730
 
71739
- refData += '}},\n';
71731
+ refDataTmp += '}},\n';
71740
71732
  }
71741
71733
  }
71742
71734
 
71735
+ let bIgDomain = (refDataTmp) ? 1 : 0;
71736
+
71737
+ refData += '{"' + structure + '": {"Ig domain" : ' + bIgDomain + ', "igs": [\n';
71738
+
71739
+ refData += refDataTmp;
71740
+
71743
71741
  refData += ']}},\n';
71744
71742
  }
71745
71743
  // }
@@ -72104,7 +72102,7 @@ class Dssp {
72104
72102
  let strandTmp = strandArray[i].strand;
72105
72103
 
72106
72104
  if(strandTmp != 'G' && strandArray[i].endRefnum - strandArray[i].startRefnum + 1 < 3) { // remove the strand
72107
- if(i != il - 1) { // modify
72105
+ if(strandArray[i + 1]) { // modify
72108
72106
  strandArray[i + 1].loopResCnt += strandArray[i].loopResCnt + parseInt(strandArray[i].endResi) - parseInt(strandArray[i].startResi) + 1;
72109
72107
  }
72110
72108