icn3d 3.25.14 → 3.25.16
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 +80 -50
- package/icn3d.min.js +2 -2
- package/icn3d.module.js +80 -50
- package/package.json +1 -1
package/icn3d.js
CHANGED
|
@@ -35855,6 +35855,7 @@ class AnnoCddSite {
|
|
|
35855
35855
|
|
|
35856
35856
|
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
35857
35857
|
//let data = (bSeq) ? dataArray[i][0] : dataArray[i];
|
|
35858
|
+
// somehow Node.js returned data in dataArray[i]
|
|
35858
35859
|
let data = (me.bNode) ? dataArray[i] : dataArray[i].value;
|
|
35859
35860
|
|
|
35860
35861
|
if(!data) continue;
|
|
@@ -46832,8 +46833,10 @@ class AlignParser {
|
|
|
46832
46833
|
let dataArray = await allPromise;
|
|
46833
46834
|
|
|
46834
46835
|
let data2 = data;
|
|
46835
|
-
let data3 = (me.bNode) ? dataArray[0] : dataArray[0].value; //v3[0];
|
|
46836
|
-
let data4 = (me.bNode) ? dataArray[1] : dataArray[1].value; //v4[0];
|
|
46836
|
+
// let data3 = (me.bNode) ? dataArray[0] : dataArray[0].value; //v3[0];
|
|
46837
|
+
// let data4 = (me.bNode) ? dataArray[1] : dataArray[1].value; //v4[0];
|
|
46838
|
+
let data3 = dataArray[0].value; //v3[0];
|
|
46839
|
+
let data4 = dataArray[1].value; //v4[0];
|
|
46837
46840
|
|
|
46838
46841
|
if(data3.atoms !== undefined && data4.atoms !== undefined) {
|
|
46839
46842
|
// ic.deferredOpm = $.Deferred(function() {
|
|
@@ -46995,7 +46998,8 @@ class AlignParser {
|
|
|
46995
46998
|
|
|
46996
46999
|
let bFound = false;
|
|
46997
47000
|
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
46998
|
-
let opmdata = (me.bNode) ? dataArray[i] : dataArray[i].value;
|
|
47001
|
+
//let opmdata = (me.bNode) ? dataArray[i] : dataArray[i].value;
|
|
47002
|
+
let opmdata = dataArray[i].value;
|
|
46999
47003
|
|
|
47000
47004
|
if(!opmdata) continue;
|
|
47001
47005
|
|
|
@@ -47155,7 +47159,8 @@ class ChainalignParser {
|
|
|
47155
47159
|
|
|
47156
47160
|
// modify the previous trans and rotation matrix
|
|
47157
47161
|
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
47158
|
-
let align = (me.bNode) ? dataArray[i] : dataArray[i].value;//[0];
|
|
47162
|
+
// let align = (me.bNode) ? dataArray[i] : dataArray[i].value;//[0];
|
|
47163
|
+
let align = dataArray[i].value;//[0];
|
|
47159
47164
|
|
|
47160
47165
|
let mmdbid_q = struArray[i];
|
|
47161
47166
|
let index = indexArray[i];
|
|
@@ -47247,7 +47252,8 @@ class ChainalignParser {
|
|
|
47247
47252
|
|
|
47248
47253
|
let bFoundAlignment = false;
|
|
47249
47254
|
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
47250
|
-
let align = (me.bNode) ? dataArray[i] : dataArray[i].value;//[0];
|
|
47255
|
+
// let align = (me.bNode) ? dataArray[i] : dataArray[i].value;//[0];
|
|
47256
|
+
let align = dataArray[i].value;//[0];
|
|
47251
47257
|
|
|
47252
47258
|
let bEqualMmdbid = false;
|
|
47253
47259
|
let bEqualChain = false;
|
|
@@ -47639,7 +47645,8 @@ class ChainalignParser {
|
|
|
47639
47645
|
// Each argument is an array with the following structure: [ data, statusText, jqXHR ]
|
|
47640
47646
|
//var data2 = v2[0];
|
|
47641
47647
|
// index = 0: the mmdb data of target
|
|
47642
|
-
let targetData = (me.bNode) ? dataArray[0] : dataArray[0].value; //[0];
|
|
47648
|
+
// let targetData = (me.bNode) ? dataArray[0] : dataArray[0].value; //[0];
|
|
47649
|
+
let targetData = dataArray[0].value; //[0];
|
|
47643
47650
|
let header = 'HEADER ' + mmdbid_t + '\n';
|
|
47644
47651
|
if(isNaN(mmdbid_t) && mmdbid_t.length > 5) targetData = header + targetData;
|
|
47645
47652
|
|
|
@@ -47657,7 +47664,8 @@ class ChainalignParser {
|
|
|
47657
47664
|
let queryDataArray = [];
|
|
47658
47665
|
|
|
47659
47666
|
for(let index = 1, indexl = chainidArray.length; index < indexl; ++index) {
|
|
47660
|
-
let queryData = (me.bNode) ? dataArray[index] : dataArray[index].value;//[0];
|
|
47667
|
+
// let queryData = (me.bNode) ? dataArray[index] : dataArray[index].value;//[0];
|
|
47668
|
+
let queryData = dataArray[index].value;//[0];
|
|
47661
47669
|
|
|
47662
47670
|
let pos = chainidArray[index].indexOf('_');
|
|
47663
47671
|
let mmdbid_q = chainidArray[index].substr(0, pos).toUpperCase();
|
|
@@ -47703,7 +47711,8 @@ class ChainalignParser {
|
|
|
47703
47711
|
ic.qt_start_end[index-1] = undefined;
|
|
47704
47712
|
}
|
|
47705
47713
|
else {
|
|
47706
|
-
let align = (me.bNode) ? dataArray[index2 - missedChainCnt] : dataArray[index2 - missedChainCnt].value;//[0];
|
|
47714
|
+
// let align = (me.bNode) ? dataArray[index2 - missedChainCnt] : dataArray[index2 - missedChainCnt].value;//[0];
|
|
47715
|
+
let align = dataArray[index2 - missedChainCnt].value;//[0];
|
|
47707
47716
|
|
|
47708
47717
|
let bEqualMmdbid = (mmdbid_q == mmdbid_t);
|
|
47709
47718
|
let bEqualChain = (chain_q == chain_t);
|
|
@@ -47921,7 +47930,8 @@ class ChainalignParser {
|
|
|
47921
47930
|
|
|
47922
47931
|
let queryDataArray = [];
|
|
47923
47932
|
for(let index = 0, indexl = structArray.length; index < indexl; ++index) {
|
|
47924
|
-
let queryData = (me.bNode) ? dataArray[index] : dataArray[index].value;//[0];
|
|
47933
|
+
// let queryData = (me.bNode) ? dataArray[index] : dataArray[index].value;//[0];
|
|
47934
|
+
let queryData = dataArray[index].value;//[0];
|
|
47925
47935
|
let header = 'HEADER ' + structArray[index] + '\n';
|
|
47926
47936
|
if(isNaN(structArray[index]) && structArray[index].length > 5) queryData = header + queryData;
|
|
47927
47937
|
|
|
@@ -50373,7 +50383,8 @@ class RealignParser {
|
|
|
50373
50383
|
//var data2 = v2[0];
|
|
50374
50384
|
for(let index = 0, indexl = dataArray.length; index < indexl; ++index) {
|
|
50375
50385
|
// for(let index = 1, indexl = dataArray.length; index < indexl; ++index) {
|
|
50376
|
-
|
|
50386
|
+
// let data = (me.bNode) ? dataArray[index] : dataArray[index].value;//[0];
|
|
50387
|
+
let data = dataArray[index].value;//[0];
|
|
50377
50388
|
if(!data) continue;
|
|
50378
50389
|
|
|
50379
50390
|
let fromStruct = chainidArray[index + 1].substr(0, chainidArray[index + 1].indexOf('_')); //.toUpperCase();
|
|
@@ -52223,13 +52234,15 @@ class ParserUtils {
|
|
|
52223
52234
|
let allPromise = Promise.allSettled([prms1, prms2]);
|
|
52224
52235
|
let dataArray = await allPromise;
|
|
52225
52236
|
|
|
52226
|
-
ic.interactionData1 = (me.bNode) ? dataArray[0] : dataArray[0].value;
|
|
52237
|
+
// ic.interactionData1 = (me.bNode) ? dataArray[0] : dataArray[0].value;
|
|
52238
|
+
ic.interactionData1 = dataArray[0].value;
|
|
52227
52239
|
ic.html2ddgm = '';
|
|
52228
52240
|
ic.diagram2dCls.draw2Ddgm(ic.interactionData1, mmdbid1, 0);
|
|
52229
52241
|
if(me.cfg.show2d) me.htmlCls.dialogCls.openDlg('dl_2ddgm', 'Interactions');
|
|
52230
52242
|
|
|
52231
52243
|
|
|
52232
|
-
ic.interactionData2 = (me.bNode) ? dataArray[1] : dataArray[1].value;
|
|
52244
|
+
// ic.interactionData2 = (me.bNode) ? dataArray[1] : dataArray[1].value;
|
|
52245
|
+
ic.interactionData2 = dataArray[1].value;
|
|
52233
52246
|
ic.diagram2dCls.draw2Ddgm(ic.interactionData2, mmdbid2, 1);
|
|
52234
52247
|
|
|
52235
52248
|
ic.html2ddgm += "<br>" + ic.diagram2dCls.set2DdgmNote(true);
|
|
@@ -52277,7 +52290,8 @@ class ParserUtils {
|
|
|
52277
52290
|
// Each argument is an array with the following structure: [ data, statusText, jqXHR ]
|
|
52278
52291
|
//var data2 = v2[0];
|
|
52279
52292
|
for(let index = 0, indexl = chainidArray.length; index < indexl; ++index) {
|
|
52280
|
-
let data = (me.bNode) ? dataArray[index] : dataArray[index].value;//[0];
|
|
52293
|
+
// let data = (me.bNode) ? dataArray[index] : dataArray[index].value;//[0];
|
|
52294
|
+
let data = dataArray[index].value;//[0];
|
|
52281
52295
|
let mmdbid = chainidArray[index].substr(0, chainidArray[index].indexOf('_'));
|
|
52282
52296
|
|
|
52283
52297
|
ic.diagram2dCls.draw2Ddgm(data, mmdbid, 0);
|
|
@@ -55969,7 +55983,8 @@ class Vastplus {
|
|
|
55969
55983
|
|
|
55970
55984
|
let queryDataArray = [];
|
|
55971
55985
|
for(let index = 0, indexl = chainidpairArray.length; index < indexl; ++index) {
|
|
55972
|
-
let queryData = (me.bNode) ? dataArray[index] : dataArray[index].value; //[0];
|
|
55986
|
+
// let queryData = (me.bNode) ? dataArray[index] : dataArray[index].value; //[0];
|
|
55987
|
+
let queryData = dataArray[index].value; //[0];
|
|
55973
55988
|
|
|
55974
55989
|
queryDataArray.push(queryData);
|
|
55975
55990
|
/*
|
|
@@ -62183,14 +62198,15 @@ class Dssp {
|
|
|
62183
62198
|
}
|
|
62184
62199
|
}
|
|
62185
62200
|
|
|
62186
|
-
async parseDsspData(dataArray, struArray, bAppend) { let ic = this.icn3d
|
|
62201
|
+
async parseDsspData(dataArray, struArray, bAppend) { let ic = this.icn3d; ic.icn3dui;
|
|
62187
62202
|
//var dataArray =(struArray.length == 1) ? [data] : data;
|
|
62188
62203
|
|
|
62189
62204
|
// Each argument is an array with the following structure: [ data, statusText, jqXHR ]
|
|
62190
62205
|
//var data2 = v2[0];
|
|
62191
62206
|
for(let index = 0, indexl = dataArray.length; index < indexl; ++index) {
|
|
62192
62207
|
//let ssHash = dataArray[index][0];
|
|
62193
|
-
let ssHash = (me.bNode) ? dataArray[index] : dataArray[index].value;
|
|
62208
|
+
//let ssHash = (me.bNode) ? dataArray[index] : dataArray[index].value;
|
|
62209
|
+
let ssHash = dataArray[index].value;
|
|
62194
62210
|
|
|
62195
62211
|
if(ssHash !== undefined && JSON.stringify(ssHash).indexOf('Oops there was a problem') === -1) {
|
|
62196
62212
|
for(let chainNum in ic.chainsSeq) {
|
|
@@ -62472,16 +62488,17 @@ class Dssp {
|
|
|
62472
62488
|
pdbAjaxArray.push(pdbAjax);
|
|
62473
62489
|
}
|
|
62474
62490
|
|
|
62475
|
-
|
|
62491
|
+
try {
|
|
62476
62492
|
let allPromise = Promise.allSettled(pdbAjaxArray);
|
|
62477
62493
|
ic.pdbDataArray = await allPromise;
|
|
62478
62494
|
await thisClass.parseRefPdbData(ic.pdbDataArray);
|
|
62479
|
-
|
|
62480
|
-
|
|
62481
|
-
|
|
62482
|
-
|
|
62483
|
-
|
|
62484
|
-
|
|
62495
|
+
}
|
|
62496
|
+
catch(err) {
|
|
62497
|
+
if(!me.bNode) var aaa = 1; //alert("Error in retrieveing reference PDB data...");
|
|
62498
|
+
//var aaa = 1; //alert("Error in retrieveing reference PDB data...");
|
|
62499
|
+
return;
|
|
62500
|
+
}
|
|
62501
|
+
|
|
62485
62502
|
// }
|
|
62486
62503
|
// }
|
|
62487
62504
|
}
|
|
@@ -62558,12 +62575,13 @@ class Dssp {
|
|
|
62558
62575
|
for(let k = 0, kl = domainAtomsArray.length; k < kl; ++k) {
|
|
62559
62576
|
let pdb_target = ic.saveFileCls.getAtomPDB(domainAtomsArray[k], undefined, undefined, undefined, undefined, struct);
|
|
62560
62577
|
// ig strand for any subset will have the same k, use the number of residue to separate them
|
|
62561
|
-
let domainid = chainid + '-' + k + '_' + domainAtomsArray[k].length;
|
|
62578
|
+
let domainid = chainid + '-' + k + '_' + Object.keys(domainAtomsArray[k]).length;
|
|
62562
62579
|
ic.domainid2pdb[domainid] = pdb_target;
|
|
62563
62580
|
|
|
62564
62581
|
for(let index = 0, indexl = dataArray.length; index < indexl; ++index) {
|
|
62565
62582
|
let struct2 = ic.defaultPdbId + index;
|
|
62566
|
-
let pdb_query = (me.bNode) ? dataArray[index] : dataArray[index].value; //[0];
|
|
62583
|
+
//let pdb_query = (me.bNode) ? dataArray[index] : dataArray[index].value; //[0];
|
|
62584
|
+
let pdb_query = dataArray[index].value; //[0];
|
|
62567
62585
|
let header = 'HEADER ' + struct2 + '\n';
|
|
62568
62586
|
pdb_query = header + pdb_query;
|
|
62569
62587
|
|
|
@@ -62577,7 +62595,7 @@ class Dssp {
|
|
|
62577
62595
|
}
|
|
62578
62596
|
}
|
|
62579
62597
|
|
|
62580
|
-
|
|
62598
|
+
try {
|
|
62581
62599
|
let dataArray2 = [];
|
|
62582
62600
|
let allPromise = Promise.allSettled(ajaxArray);
|
|
62583
62601
|
dataArray2 = await allPromise;
|
|
@@ -62586,12 +62604,12 @@ class Dssp {
|
|
|
62586
62604
|
await thisClass.parseAlignData(dataArray2, domainidpairArray, bRound1);
|
|
62587
62605
|
|
|
62588
62606
|
/// if(ic.deferredRefnum !== undefined) ic.deferredRefnum.resolve();
|
|
62589
|
-
|
|
62590
|
-
|
|
62591
|
-
|
|
62592
|
-
|
|
62593
|
-
|
|
62594
|
-
|
|
62607
|
+
}
|
|
62608
|
+
catch(err) {
|
|
62609
|
+
if(!me.bNode) console.log("Error in aligning with TM-align...");
|
|
62610
|
+
//console.log("Error in aligning with TM-align...");
|
|
62611
|
+
return;
|
|
62612
|
+
}
|
|
62595
62613
|
}
|
|
62596
62614
|
|
|
62597
62615
|
async parseAlignData(dataArray, domainidpairArray, bRound1) { let ic = this.icn3d, me = ic.icn3dui;
|
|
@@ -62615,7 +62633,8 @@ class Dssp {
|
|
|
62615
62633
|
let minResidues = 20;
|
|
62616
62634
|
|
|
62617
62635
|
for(let i = 0, il = domainidpairArray.length; i < il; ++i) {
|
|
62618
|
-
let queryData = (me.bNode) ? dataArray[i] : dataArray[i].value; //[0];
|
|
62636
|
+
//let queryData = (me.bNode) ? dataArray[i] : dataArray[i].value; //[0];
|
|
62637
|
+
let queryData = dataArray[i].value; //[0];
|
|
62619
62638
|
|
|
62620
62639
|
if(!queryData) {
|
|
62621
62640
|
if(!me.bNode) console.log("The alignment data for " + domainidpairArray[i] + " is unavailable...");
|
|
@@ -62707,7 +62726,8 @@ class Dssp {
|
|
|
62707
62726
|
let pdb_target = ic.domainid2pdb[domainid];
|
|
62708
62727
|
for(let index = 0, indexl = ic.pdbDataArray.length; index < indexl; ++index) {
|
|
62709
62728
|
let struct2 = ic.defaultPdbId + index;
|
|
62710
|
-
let pdb_query = (me.bNode) ? ic.pdbDataArray[index] : ic.pdbDataArray[index].value; //[0];
|
|
62729
|
+
//let pdb_query = (me.bNode) ? ic.pdbDataArray[index] : ic.pdbDataArray[index].value; //[0];
|
|
62730
|
+
let pdb_query = ic.pdbDataArray[index].value; //[0];
|
|
62711
62731
|
let header = 'HEADER ' + struct2 + '\n';
|
|
62712
62732
|
pdb_query = header + pdb_query;
|
|
62713
62733
|
|
|
@@ -71253,25 +71273,35 @@ iCn3DUI.prototype.show3DStructure = async function(pdbStr) { let me = this;
|
|
|
71253
71273
|
let data = await me.getAjaxPromise(url, 'json', false, 'The RID ' + me.cfg.rid + ' may have expired...');
|
|
71254
71274
|
|
|
71255
71275
|
for(let q = 0, ql = data.BlastOutput2.length; q < ql; ++q) {
|
|
71256
|
-
|
|
71257
|
-
let hitArray
|
|
71276
|
+
|
|
71277
|
+
let hitArray;
|
|
71278
|
+
if(data.BlastOutput2[q].report.results.iterations) { // psi-blast may have "iterations". Use the last iteration.
|
|
71279
|
+
let nIterations = data.BlastOutput2[q].report.results.iterations.length;
|
|
71280
|
+
if(data.BlastOutput2[q].report.results.iterations[nIterations - 1].search.query_id != me.cfg.query_id) continue;
|
|
71281
|
+
hitArray = data.BlastOutput2[q].report.results.iterations[nIterations - 1].search.hits;
|
|
71282
|
+
}
|
|
71283
|
+
else { // blastp may not have "iterations"
|
|
71284
|
+
if(data.BlastOutput2[q].report.results.search.query_id != me.cfg.query_id) continue;
|
|
71285
|
+
hitArray = data.BlastOutput2[q].report.results.search.hits;
|
|
71286
|
+
}
|
|
71287
|
+
|
|
71258
71288
|
let qseq = undefined;
|
|
71259
71289
|
for(let i = 0, il = hitArray.length; i < il; ++i) {
|
|
71260
|
-
|
|
71261
|
-
|
|
71262
|
-
|
|
71263
|
-
|
|
71264
|
-
|
|
71265
|
-
|
|
71266
|
-
|
|
71290
|
+
let hit = hitArray[i];
|
|
71291
|
+
let bFound = false;
|
|
71292
|
+
for(let j = 0, jl = hit.description.length; j < jl; ++j) {
|
|
71293
|
+
let acc = hit.description[j].accession;
|
|
71294
|
+
if(acc == me.cfg.blast_rep_id) {
|
|
71295
|
+
bFound = true;
|
|
71296
|
+
break;
|
|
71297
|
+
}
|
|
71298
|
+
}
|
|
71299
|
+
if(bFound) {
|
|
71300
|
+
qseq = hit.hsps[0].qseq;
|
|
71301
|
+
//remove gap '-'
|
|
71302
|
+
qseq = qseq.replace(/-/g, '');
|
|
71303
|
+
break;
|
|
71267
71304
|
}
|
|
71268
|
-
}
|
|
71269
|
-
if(bFound) {
|
|
71270
|
-
qseq = hit.hsps[0].qseq;
|
|
71271
|
-
//remove gap '-'
|
|
71272
|
-
qseq = qseq.replace(/-/g, '');
|
|
71273
|
-
break;
|
|
71274
|
-
}
|
|
71275
71305
|
}
|
|
71276
71306
|
if(qseq !== undefined) me.cfg.query_id = qseq;
|
|
71277
71307
|
ic.inputid = me.cfg.query_id + '_' + me.cfg.blast_rep_id;
|