icn3d 3.25.12 → 3.25.13
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 +96 -64
- package/icn3d.min.js +3 -3
- package/icn3d.module.js +96 -64
- package/package.json +1 -1
package/icn3d.js
CHANGED
|
@@ -6235,19 +6235,19 @@ class ClickMenu {
|
|
|
6235
6235
|
});
|
|
6236
6236
|
|
|
6237
6237
|
me.myEventCls.onIds("#" + me.pre + "mn1_link_bind", "click", function(e) { let ic = me.icn3d; e.preventDefault();
|
|
6238
|
-
url = "https://www.ncbi.nlm.nih.gov/pccompound?LinkName=pccompound_structure&from_uid=" + ic.inputid;
|
|
6238
|
+
let url = "https://www.ncbi.nlm.nih.gov/pccompound?LinkName=pccompound_structure&from_uid=" + ic.inputid;
|
|
6239
6239
|
thisClass.setLogCmd("link to 3D protein structures bound to CID " + ic.inputid + ": " + url, false);
|
|
6240
6240
|
let urlTarget = (ic.structures && Object.keys(ic.structures).length > 0) ? '_blank' : '_self';
|
|
6241
6241
|
window.open(url, urlTarget);
|
|
6242
6242
|
});
|
|
6243
6243
|
|
|
6244
6244
|
me.myEventCls.onIds("#" + me.pre + "mn1_link_vast", "click", function(e) { let ic = me.icn3d; e.preventDefault();
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6245
|
+
let url;
|
|
6246
|
+
if(ic.inputid === undefined) {
|
|
6247
|
+
url = "https://www.ncbi.nlm.nih.gov/pccompound?term=" + ic.molTitle;
|
|
6248
|
+
thisClass.setLogCmd("link to compounds " + ic.molTitle + ": " + url, false);
|
|
6248
6249
|
}
|
|
6249
6250
|
else {
|
|
6250
|
-
let url;
|
|
6251
6251
|
if(me.cfg.cid !== undefined) {
|
|
6252
6252
|
url = "https://www.ncbi.nlm.nih.gov/pccompound?LinkName=pccompound_pccompound_3d&from_uid=" + ic.inputid;
|
|
6253
6253
|
thisClass.setLogCmd("link to compounds with structure similar to CID " + ic.inputid + ": " + url, false);
|
|
@@ -6271,8 +6271,8 @@ class ClickMenu {
|
|
|
6271
6271
|
});
|
|
6272
6272
|
|
|
6273
6273
|
me.myEventCls.onIds("#" + me.pre + "mn1_link_pubmed", "click", function(e) { let ic = me.icn3d; e.preventDefault();
|
|
6274
|
+
let url;
|
|
6274
6275
|
if(ic.inputid === undefined) {
|
|
6275
|
-
let url;
|
|
6276
6276
|
url = "https://www.ncbi.nlm.nih.gov/pubmed/?term=" + ic.molTitle;
|
|
6277
6277
|
thisClass.setLogCmd("link to literature about " + ic.molTitle + ": " + url, false);
|
|
6278
6278
|
let urlTarget = (ic.structures && Object.keys(ic.structures).length > 0) ? '_blank' : '_self';
|
|
@@ -6280,7 +6280,6 @@ class ClickMenu {
|
|
|
6280
6280
|
}
|
|
6281
6281
|
else if(ic.pmid) {
|
|
6282
6282
|
let idArray = ic.pmid.toString().split('_');
|
|
6283
|
-
let url;
|
|
6284
6283
|
if(idArray.length === 1) {
|
|
6285
6284
|
url = "https://www.ncbi.nlm.nih.gov/pubmed/" + ic.pmid;
|
|
6286
6285
|
thisClass.setLogCmd("link to PubMed ID " + ic.pmid + ": " + url, false);
|
|
@@ -6294,7 +6293,6 @@ class ClickMenu {
|
|
|
6294
6293
|
}
|
|
6295
6294
|
else if(isNaN(ic.inputid)) {
|
|
6296
6295
|
let idArray = ic.inputid.toString().split('_');
|
|
6297
|
-
let url;
|
|
6298
6296
|
if(idArray.length === 1) {
|
|
6299
6297
|
url = "https://www.ncbi.nlm.nih.gov/pubmed/?term=" + ic.inputid;
|
|
6300
6298
|
thisClass.setLogCmd("link to literature about PDB " + ic.inputid + ": " + url, false);
|
|
@@ -11008,11 +11006,11 @@ class SetDialog {
|
|
|
11008
11006
|
|
|
11009
11007
|
html += "<div>4. " + me.htmlCls.buttonStr + "applyhbonds'>3D Display Interactions</button></div><br>";
|
|
11010
11008
|
|
|
11011
|
-
html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondWindow'>Highlight Interactions in Table</button><span style='margin-left:30px; font-wieght:bold'>Sort Interactions on</span>: " + me.htmlCls.buttonStr + "sortSet1'> Set 1</button>" + me.htmlCls.buttonStr + "sortSet2' style='margin-left:
|
|
11009
|
+
html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondWindow'>Highlight Interactions in Table</button><span style='margin-left:30px; font-wieght:bold'>Sort Interactions on</span>: " + me.htmlCls.buttonStr + "sortSet1'> Set 1</button>" + me.htmlCls.buttonStr + "sortSet2' style='margin-left:12px'>Set 2</button></div><br>";
|
|
11012
11010
|
|
|
11013
|
-
html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondLineGraph'>2D Interaction Network</button> to show
|
|
11011
|
+
html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondLineGraph'>2D Interaction Network</button> " + me.htmlCls.buttonStr + "hbondLineGraph2' style='margin-left:12px'>2D Network with Reference Numbers</button> to show two lines of residue nodes</div><br>";
|
|
11014
11012
|
|
|
11015
|
-
html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondScatterplot'>2D Interaction Map</button> to show
|
|
11013
|
+
html += "<div style='text-indent:1.1em'>" + me.htmlCls.buttonStr + "hbondScatterplot'>2D Interaction Map</button> " + me.htmlCls.buttonStr + "hbondScatterplot2' style='margin-left:12px'>2D Map with Reference Numbers</button> to show map</div><br>";
|
|
11016
11014
|
|
|
11017
11015
|
tmpStr = ': </td><td><input style="margin-left:-12px" type="text" id="';
|
|
11018
11016
|
|
|
@@ -13425,11 +13423,29 @@ class Events {
|
|
|
13425
13423
|
me.myEventCls.onIds("#" + me.pre + "hbondLineGraph", "click", async function(e) { let ic = me.icn3d;
|
|
13426
13424
|
e.preventDefault();
|
|
13427
13425
|
|
|
13426
|
+
ic.bShownRefnum = false;
|
|
13427
|
+
thisClass.setLogCmd("hide ref number", true);
|
|
13428
13428
|
await ic.showInterCls.showInteractions('linegraph');
|
|
13429
13429
|
});
|
|
13430
|
+
me.myEventCls.onIds("#" + me.pre + "hbondLineGraph2", "click", async function(e) { let ic = me.icn3d;
|
|
13431
|
+
e.preventDefault();
|
|
13432
|
+
|
|
13433
|
+
ic.bShownRefnum = true;
|
|
13434
|
+
thisClass.setLogCmd("show ref number", true);
|
|
13435
|
+
await ic.showInterCls.showInteractions('linegraph');
|
|
13436
|
+
});
|
|
13430
13437
|
me.myEventCls.onIds("#" + me.pre + "hbondScatterplot", "click", async function(e) { let ic = me.icn3d;
|
|
13438
|
+
e.preventDefault();
|
|
13439
|
+
|
|
13440
|
+
ic.bShownRefnum = false;
|
|
13441
|
+
thisClass.setLogCmd("hide ref number", true);
|
|
13442
|
+
await ic.showInterCls.showInteractions('scatterplot');
|
|
13443
|
+
});
|
|
13444
|
+
me.myEventCls.onIds("#" + me.pre + "hbondScatterplot2", "click", async function(e) { let ic = me.icn3d;
|
|
13431
13445
|
e.preventDefault();
|
|
13432
13446
|
|
|
13447
|
+
ic.bShownRefnum = true;
|
|
13448
|
+
thisClass.setLogCmd("show ref number", true);
|
|
13433
13449
|
await ic.showInterCls.showInteractions('scatterplot');
|
|
13434
13450
|
});
|
|
13435
13451
|
// select residues
|
|
@@ -41093,7 +41109,7 @@ class ShowAnno {
|
|
|
41093
41109
|
}
|
|
41094
41110
|
catch(err) {
|
|
41095
41111
|
thisClass.enableHlSeq();
|
|
41096
|
-
if(!me.bNode) console.log( "No data were found for the protein " + chnidBaseArray + "..." );
|
|
41112
|
+
if(!me.bNode) console.log( "No sequence data were found for the protein " + chnidBaseArray + "..." );
|
|
41097
41113
|
for(let chnid in ic.protein_chainid) {
|
|
41098
41114
|
let chnidBase = ic.protein_chainid[chnid];
|
|
41099
41115
|
ic.showSeqCls.setAlternativeSeq(chnid, chnidBase);
|
|
@@ -41219,7 +41235,7 @@ class ShowAnno {
|
|
|
41219
41235
|
}
|
|
41220
41236
|
}
|
|
41221
41237
|
else {
|
|
41222
|
-
if(!me.bNode) console.log( "No data were found for the chain " + chnid + "..." );
|
|
41238
|
+
if(!me.bNode) console.log( "No sequence data were found for the chain " + chnid + "..." );
|
|
41223
41239
|
ic.showSeqCls.setAlternativeSeq(chnid, chnidBase);
|
|
41224
41240
|
}
|
|
41225
41241
|
|
|
@@ -44301,6 +44317,11 @@ class GetGraph {
|
|
|
44301
44317
|
if(!bVertical) adjusty += 4 * r;
|
|
44302
44318
|
}
|
|
44303
44319
|
|
|
44320
|
+
// show reference numbers
|
|
44321
|
+
if(ic.bShownRefnum && ic.resid2refnum[resid]) {
|
|
44322
|
+
nodeName = ic.resid2refnum[resid];
|
|
44323
|
+
}
|
|
44324
|
+
|
|
44304
44325
|
let strokecolor = '#000';
|
|
44305
44326
|
let strokewidth = '1';
|
|
44306
44327
|
let textcolor = '#000';
|
|
@@ -53943,7 +53964,9 @@ class SetSeqAlign {
|
|
|
53943
53964
|
if(!ic.chainsMapping[chainid2]) ic.chainsMapping[chainid2] = {};
|
|
53944
53965
|
|
|
53945
53966
|
let posChain1 = {}, posChain2 = {};
|
|
53946
|
-
|
|
53967
|
+
console.log("###bRealign: " + bRealign);
|
|
53968
|
+
console.log(ic.qt_start_end[chainIndex]);
|
|
53969
|
+
|
|
53947
53970
|
for(let i = 0, il = ic.qt_start_end[chainIndex].length; i < il; ++i) {
|
|
53948
53971
|
let start1, start2, end1, end2;
|
|
53949
53972
|
if(bRealign) { // real residue numbers are stored, could be "100a"
|
|
@@ -54058,10 +54081,14 @@ class SetSeqAlign {
|
|
|
54058
54081
|
|
|
54059
54082
|
let resi1, resi2, resn1, resn2;
|
|
54060
54083
|
if(bRealign) { // tmalign: just one residue in this for loop
|
|
54061
|
-
|
|
54062
|
-
|
|
54063
|
-
|
|
54064
|
-
|
|
54084
|
+
if(me.cfg.aligntool == 'tmalign') {
|
|
54085
|
+
resi1 = ic.qt_start_end[chainIndex][i].t_start;
|
|
54086
|
+
resi2 = ic.qt_start_end[chainIndex][i].q_start;
|
|
54087
|
+
}
|
|
54088
|
+
else {
|
|
54089
|
+
resi1 = j + start1;
|
|
54090
|
+
resi2 = j + start2;
|
|
54091
|
+
}
|
|
54065
54092
|
|
|
54066
54093
|
resn1 = this.getResnFromResi(chainid1, resi1).toUpperCase();
|
|
54067
54094
|
resn2 = this.getResnFromResi(chainid2, resi2).toUpperCase();
|
|
@@ -54338,7 +54365,12 @@ class SetSeqAlign {
|
|
|
54338
54365
|
resObject.mmdbid = chainid.substr(0, pos);
|
|
54339
54366
|
resObject.chain = chainid.substr(pos+1);
|
|
54340
54367
|
resObject.resi = (bGap) ? '' : resi; // resi will be empty if there is no coordinates
|
|
54341
|
-
|
|
54368
|
+
if(!resn) {
|
|
54369
|
+
resObject.resn = '-';
|
|
54370
|
+
}
|
|
54371
|
+
else {
|
|
54372
|
+
resObject.resn = (bGap) ? '-' : ((bAligned) ? resn.toUpperCase() : resn.toLowerCase());
|
|
54373
|
+
}
|
|
54342
54374
|
resObject.aligned = (bGap) ? false : bAligned;
|
|
54343
54375
|
resObject.color = (bGap || !bAligned) ? me.htmlCls.GREYC : ((resn == resn_t) ? "#FF0000" : "#0000FF"); // color by identity
|
|
54344
54376
|
resObject.color2 = (bGap || !bAligned) ? me.htmlCls.GREYC : '#' + ic.showAnnoCls.getColorhexFromBlosum62(resn, resn_t); // color by conservation
|
|
@@ -57819,6 +57851,12 @@ class ApplyCommand {
|
|
|
57819
57851
|
let dataStr = paraArray[1].replace(/\\n/g, '\n');
|
|
57820
57852
|
await ic.refnumCls.parseCustomRefFile(dataStr);
|
|
57821
57853
|
}
|
|
57854
|
+
else if(command.indexOf('show ref number') == 0) {
|
|
57855
|
+
ic.bShownRefnum = true;
|
|
57856
|
+
}
|
|
57857
|
+
else if(command.indexOf('hide ref number') == 0) {
|
|
57858
|
+
ic.bShownRefnum = false;
|
|
57859
|
+
}
|
|
57822
57860
|
|
|
57823
57861
|
// special, select ==========
|
|
57824
57862
|
|
|
@@ -59853,7 +59891,7 @@ class SelectByCommand {
|
|
|
59853
59891
|
// $1,2,3: Structure
|
|
59854
59892
|
// .A,B,C: chain
|
|
59855
59893
|
// :5-10,K,chemicals: residues, could be 'proteins', 'nucleotides', 'chemicals', 'ions', and 'water'
|
|
59856
|
-
// :
|
|
59894
|
+
// :ref_1250,anchors,strands,loops: reference numbers 1250, anchor residues (e.g., 2250), residues in strands, residues in loops
|
|
59857
59895
|
// @CA,C,C*: atoms
|
|
59858
59896
|
// wild card * can be used to select all
|
|
59859
59897
|
//var currHighlightAtoms = {}
|
|
@@ -62255,40 +62293,27 @@ class Dssp {
|
|
|
62255
62293
|
ic.refpdbHash['LaminAC_1ifrA_human'] = ['LaminAC_1ifrA_human', 'MPT63_1lmiA_bacteria'];
|
|
62256
62294
|
ic.refpdbHash['CD19_6al5A_human_C2orV-n1'] = ['CD19_6al5A_human_C2orV-n1'];
|
|
62257
62295
|
*/
|
|
62258
|
-
// round 1
|
|
62259
|
-
ic.refpdbArray = ['
|
|
62296
|
+
// round 1, 16 templates
|
|
62297
|
+
ic.refpdbArray = ['1InsulinR_8guyE_human_FN3-n1', '1Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', '1CoAtomerGamma1_1r4xA_human', '1C3_2qkiD_human_n1', '1CuZnSuperoxideDismutase_1hl5C_human', '1ASF1A_2iijA_human', '1FAB-LIGHT_5esv_C1-n2', '1CD2_1hnfA_human_C2-n2', '1NaCaExchanger_2fwuA_dog_n2', '1FAB-HEAVY_5esv_V-n1', '1PDL1_4z18B_human_V-n1', '1BTLA_2aw2A_human_Iset', '1LaminAC_1ifrA_human', '1IsdA_2iteA_bacteria', '1TCRa_6jxrm_human_C1-n2', '1CD19_6al5A_human_C2orV-n1'];
|
|
62260
62298
|
|
|
62261
62299
|
// round 2
|
|
62262
62300
|
ic.refpdbHash = {};
|
|
62263
|
-
ic.refpdbHash['
|
|
62264
|
-
ic.refpdbHash['
|
|
62265
|
-
ic.refpdbHash['
|
|
62266
|
-
ic.refpdbHash['
|
|
62267
|
-
ic.refpdbHash['1JAM1_1nbqA_human_VorIset-n2'] = ['JAM1_1nbqA_human_VorIset-n2', 'PDL1_4z18B_human_V-n1'];
|
|
62268
|
-
ic.refpdbHash['1Palladin_2dm3A_human_Iset-n1'] = ['Palladin_2dm3A_human_Iset-n1', 'Titin_4uowM_human_Unk-n152', 'VISTA_6oilA_human_V'];
|
|
62269
|
-
ic.refpdbHash['1FAB-HEAVY_5esv_C1-n2'] = ['FAB-HEAVY_5esv_C1-n2', 'B2Microglobulin_7phrL_human_C1', 'MHCIa_7phrH_human_C1'];
|
|
62270
|
-
ic.refpdbHash['1FAB-LIGHT_5esv_C1-n2'] = ['FAB-LIGHT_5esv_C1-n2', 'VTCN1_Q7Z7D3_human_V-n2'];
|
|
62271
|
-
ic.refpdbHash['1BArrestin1_4jqiA_rat_n1'] = ['BArrestin1_4jqiA_rat_n1', 'C3_2qkiD_human_n1', 'RBPJ_6py8C_human_Unk-n1'];
|
|
62272
|
-
ic.refpdbHash['1IL6Rb_1bquB_human_FN3-n3'] = ['IL6Rb_1bquB_human_FN3-n3', 'Sidekick2_1wf5A_human_FN3-n7'];
|
|
62273
|
-
ic.refpdbHash['1Contactin1_2ee2A_human_FN3-n9'] = ['Contactin1_2ee2A_human_FN3-n9', 'IL6Rb_1bquB_human_FN3-n2'];
|
|
62274
|
-
ic.refpdbHash['1InsulinR_8guyE_human_FN3-n1'] = ['InsulinR_8guyE_human_FN3-n1', 'InsulinR_8guyE_human_FN3-n2'];
|
|
62275
|
-
ic.refpdbHash['1NaCaExchanger_2fwuA_dog_n2'] = ['NaCaExchanger_2fwuA_dog_n2', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
62301
|
+
ic.refpdbHash['1InsulinR_8guyE_human_FN3-n1'] = ['InsulinR_8guyE_human_FN3-n1', 'IL6Rb_1bquB_human_FN3-n3', 'Sidekick2_1wf5A_human_FN3-n7', 'InsulinR_8guyE_human_FN3-n2', 'Contactin1_2ee2A_human_FN3-n9', 'IL6Rb_1bquB_human_FN3-n2'];
|
|
62302
|
+
ic.refpdbHash['1Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = ['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'ICOS_6x4gA_human_V'];
|
|
62303
|
+
ic.refpdbHash['1CoAtomerGamma1_1r4xA_human'] = ['CoAtomerGamma1_1r4xA_human', 'TP34_2o6cA_bacteria', 'RBPJ_6py8C_human_Unk-n2', 'TP47_1o75A_bacteria'];
|
|
62304
|
+
ic.refpdbHash['1C3_2qkiD_human_n1'] = ['C3_2qkiD_human_n1', 'BArrestin1_4jqiA_rat_n1', 'RBPJ_6py8C_human_Unk-n1'];
|
|
62276
62305
|
ic.refpdbHash['1CuZnSuperoxideDismutase_1hl5C_human'] = ['CuZnSuperoxideDismutase_1hl5C_human', 'TEAD1_3kysC_human'];
|
|
62277
|
-
ic.refpdbHash['
|
|
62278
|
-
ic.refpdbHash['
|
|
62279
|
-
|
|
62280
|
-
ic.refpdbHash['
|
|
62281
|
-
ic.refpdbHash['
|
|
62282
|
-
ic.refpdbHash['
|
|
62283
|
-
ic.refpdbHash['
|
|
62284
|
-
ic.refpdbHash['1TCRa_6jxrm_human_C1-n2'] = ['TCRa_6jxrm_human_C1-n2'];
|
|
62306
|
+
ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human', 'MPT63_1lmiA_bacteria'];
|
|
62307
|
+
ic.refpdbHash['1FAB-LIGHT_5esv_C1-n2'] = ['FAB-LIGHT_5esv_C1-n2', 'GHR_1axiB_human_FN3-n1', 'VTCN1_Q7Z7D3_human_V-n2', 'B2Microglobulin_7phrL_human_C1', 'FAB-HEAVY_5esv_C1-n2', 'MHCIa_7phrH_human_C1'];
|
|
62308
|
+
ic.refpdbHash['1CD2_1hnfA_human_C2-n2'] = ['CD2_1hnfA_human_C2-n2', 'Siglec3_5j0bB_human_C2-n2'];
|
|
62309
|
+
ic.refpdbHash['1NaCaExchanger_2fwuA_dog_n2'] = ['NaCaExchanger_2fwuA_dog_n2', 'ORF7a_1xakA_virus', 'ECadherin_4zt1A_human_n2', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
62310
|
+
ic.refpdbHash['1FAB-HEAVY_5esv_V-n1'] = ['FAB-HEAVY_5esv_V-n1', 'FAB-LIGHT_5esv_V-n1', 'VNAR_1t6vN_shark_V', 'TCRa_6jxrm_human_V-n1', 'VISTA_6oilA_human_V', 'CD8a_1cd8A_human_V', 'PD1_4zqkB_human_V'];
|
|
62311
|
+
ic.refpdbHash['1PDL1_4z18B_human_V-n1'] = ['PDL1_4z18B_human_V-n1', 'CD2_1hnfA_human_V-n1', 'LAG3_7tzgD_human_V-n1'];
|
|
62312
|
+
ic.refpdbHash['1BTLA_2aw2A_human_Iset'] = ['BTLA_2aw2A_human_Iset', 'Palladin_2dm3A_human_Iset-n1', 'Titin_4uowM_human_Unk-n152', 'LAG3_7tzgD_human_C2-n2', 'JAM1_1nbqA_human_VorIset-n2', 'Contactin1_3s97C_human_C2-n2'];
|
|
62285
62313
|
ic.refpdbHash['1LaminAC_1ifrA_human'] = ['LaminAC_1ifrA_human'];
|
|
62286
62314
|
ic.refpdbHash['1IsdA_2iteA_bacteria'] = ['IsdA_2iteA_bacteria'];
|
|
62287
|
-
ic.refpdbHash['
|
|
62288
|
-
ic.refpdbHash['1CD19_6al5A_human_C2orV-n1'] = ['CD19_6al5A_human_C2orV-n1'];
|
|
62289
|
-
ic.refpdbHash['1ORF7a_1xakA_virus'] = ['ORF7a_1xakA_virus'];
|
|
62290
|
-
ic.refpdbHash['1ECadherin_4zt1A_human_n2'] = ['ECadherin_4zt1A_human_n2'];
|
|
62291
|
-
ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human'];
|
|
62315
|
+
ic.refpdbHash['1TCRa_6jxrm_human_C1-n2'] = ['TCRa_6jxrm_human_C1-n2'];
|
|
62316
|
+
ic.refpdbHash['1CD19_6al5A_human_C2orV-n1'] = ['CD19_6al5A_human_C2orV-n1'];
|
|
62292
62317
|
|
|
62293
62318
|
// use known ref structure
|
|
62294
62319
|
ic.refpdbHash['5ESV'] = ['FAB-HEAVY_5esv_V-n1', 'FAB-LIGHT_5esv_V-n1', 'FAB-HEAVY_5esv_C1-n2', 'FAB-LIGHT_5esv_C1-n2'];
|
|
@@ -62432,7 +62457,7 @@ class Dssp {
|
|
|
62432
62457
|
domainAtomsArray.push(domainAtoms);
|
|
62433
62458
|
}
|
|
62434
62459
|
}
|
|
62435
|
-
|
|
62460
|
+
console.log("###subdomains.length: " + subdomains.length + " domainAtomsArray.length: " + domainAtomsArray.length);
|
|
62436
62461
|
for(let k = 0, kl = domainAtomsArray.length; k < kl; ++k) {
|
|
62437
62462
|
let pdb_target = ic.saveFileCls.getAtomPDB(domainAtomsArray[k], undefined, undefined, undefined, undefined, struct);
|
|
62438
62463
|
let domainid = chainid + '-' + k;
|
|
@@ -62448,7 +62473,7 @@ class Dssp {
|
|
|
62448
62473
|
let alignAjax = me.getAjaxPostPromise(urltmalign, dataObj);
|
|
62449
62474
|
ajaxArray.push(alignAjax);
|
|
62450
62475
|
|
|
62451
|
-
domainidpairArray.push(domainid + "
|
|
62476
|
+
domainidpairArray.push(domainid + "|" + ic.refpdbArray[index]);
|
|
62452
62477
|
}
|
|
62453
62478
|
}
|
|
62454
62479
|
}
|
|
@@ -62474,20 +62499,20 @@ class Dssp {
|
|
|
62474
62499
|
async parseAlignData(dataArray, domainidpairArray, bRound1) { let ic = this.icn3d, me = ic.icn3dui;
|
|
62475
62500
|
let thisClass = this;
|
|
62476
62501
|
|
|
62477
|
-
let tmscoreThreshold = 0.4; //0.5;
|
|
62502
|
+
let tmscoreThreshold = 0.4; // 0.4; //0.5;
|
|
62478
62503
|
|
|
62479
62504
|
// find the best alignment for each chain
|
|
62480
62505
|
let domainid2score = {}, domainid2segs = {}, chainid2segs = {};
|
|
62481
62506
|
|
|
62482
|
-
if(!ic.chainid2refpdbname) ic.chainid2refpdbname = {};
|
|
62483
|
-
if(!ic.domainid2refpdbname) ic.domainid2refpdbname = {};
|
|
62484
|
-
if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
|
|
62485
|
-
if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
|
|
62507
|
+
// if(!ic.chainid2refpdbname) ic.chainid2refpdbname = {};
|
|
62508
|
+
// if(!ic.domainid2refpdbname) ic.domainid2refpdbname = {};
|
|
62509
|
+
// if(!ic.domainid2ig2kabat) ic.domainid2ig2kabat = {};
|
|
62510
|
+
// if(!ic.domainid2ig2imgt) ic.domainid2ig2imgt = {};
|
|
62486
62511
|
|
|
62487
|
-
|
|
62488
|
-
|
|
62489
|
-
|
|
62490
|
-
|
|
62512
|
+
ic.chainid2refpdbname = {};
|
|
62513
|
+
ic.domainid2refpdbname = {};
|
|
62514
|
+
ic.domainid2ig2kabat = {};
|
|
62515
|
+
ic.domainid2ig2imgt = {};
|
|
62491
62516
|
|
|
62492
62517
|
let minResidues = 20;
|
|
62493
62518
|
|
|
@@ -62501,12 +62526,14 @@ class Dssp {
|
|
|
62501
62526
|
|
|
62502
62527
|
if(queryData.length == 0) continue;
|
|
62503
62528
|
|
|
62504
|
-
if(queryData[0].score < tmscoreThreshold || queryData[0].num_res < minResidues)
|
|
62529
|
+
if(queryData[0].score < tmscoreThreshold || queryData[0].num_res < minResidues) {
|
|
62530
|
+
continue;
|
|
62531
|
+
}
|
|
62505
62532
|
|
|
62506
62533
|
//let domainid_index = domainidpairArray[i].split(',');
|
|
62507
62534
|
//let domainid = domainid_index[0];
|
|
62508
|
-
let domainid = domainidpairArray[i].substr(0, domainidpairArray[i].indexOf('
|
|
62509
|
-
let refpdbname = domainidpairArray[i].substr(domainidpairArray[i].indexOf('
|
|
62535
|
+
let domainid = domainidpairArray[i].substr(0, domainidpairArray[i].indexOf('|'));
|
|
62536
|
+
let refpdbname = domainidpairArray[i].substr(domainidpairArray[i].indexOf('|') + 1);
|
|
62510
62537
|
//let chainid = domainid.split('-')[0];
|
|
62511
62538
|
|
|
62512
62539
|
// Ig-like domains: B (2150, 2150a, 2150b), C (3150, 3250), E (7150, 7250), F (8150, 8250) strands
|
|
@@ -62564,6 +62591,11 @@ class Dssp {
|
|
|
62564
62591
|
if(!me.bNode) console.log("Adjusted refpdbname for domainid " + domainid + ": " + refpdbname);
|
|
62565
62592
|
}
|
|
62566
62593
|
|
|
62594
|
+
if(!ic.refpdbHash[refpdbname]) {
|
|
62595
|
+
console.log("### refpdbname: " + refpdbname);
|
|
62596
|
+
continue;
|
|
62597
|
+
}
|
|
62598
|
+
|
|
62567
62599
|
for(let k = 0, kl = ic.refpdbHash[refpdbname].length; k < kl; ++k) {
|
|
62568
62600
|
let urlpdb = me.htmlCls.baseUrl + "mmcifparser/mmcifparser.cgi?refpdbid=" + ic.refpdbHash[refpdbname][k];
|
|
62569
62601
|
|
|
@@ -62587,7 +62619,7 @@ class Dssp {
|
|
|
62587
62619
|
ajaxArray.push(alignAjax);
|
|
62588
62620
|
|
|
62589
62621
|
//domainidpairArray3.push(domainid + "," + refpdbname);
|
|
62590
|
-
domainidpairArray3.push(domainid + "
|
|
62622
|
+
domainidpairArray3.push(domainid + "|" + ic.refpdbHash[refpdbname][index]);
|
|
62591
62623
|
}
|
|
62592
62624
|
}
|
|
62593
62625
|
|
|
@@ -70785,7 +70817,7 @@ class iCn3DUI {
|
|
|
70785
70817
|
//even when multiple iCn3D viewers are shown together.
|
|
70786
70818
|
this.pre = this.cfg.divid + "_";
|
|
70787
70819
|
|
|
70788
|
-
this.REVISION = '3.25.
|
|
70820
|
+
this.REVISION = '3.25.2';
|
|
70789
70821
|
|
|
70790
70822
|
// In nodejs, iCn3D defines "window = {navigator: {}}"
|
|
70791
70823
|
this.bNode = (Object.keys(window).length < 2) ? true : false;
|