icn3d 3.8.2 → 3.8.3
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 +94 -45
- package/package.json +1 -1
package/icn3d.js
CHANGED
|
@@ -6862,10 +6862,11 @@ class Tube {
|
|
|
6862
6862
|
firstAtom = atom;
|
|
6863
6863
|
}
|
|
6864
6864
|
|
|
6865
|
-
|
|
6866
|
-
|
|
6865
|
+
atom.structure + '_' + atom.chain + '_' + (parseInt(atom.resi) - 1).toString();
|
|
6866
|
+
|
|
6867
6867
|
if (index > 0 && (currentChain !== atom.chain || Math.abs(atom.coord.x - prevAtom.coord.x) > maxDist || Math.abs(atom.coord.y - prevAtom.coord.y) > maxDist || Math.abs(atom.coord.z - prevAtom.coord.z) > maxDist
|
|
6868
|
-
|| (parseInt(currentResi) + 1 < parseInt(atom.resi) && (Math.abs(atom.coord.x - prevAtom.coord.x) > maxDist2 || Math.abs(atom.coord.y - prevAtom.coord.y) > maxDist2 || Math.abs(atom.coord.z - prevAtom.coord.z) > maxDist2) )
|
|
6868
|
+
// || (parseInt(currentResi) + 1 < parseInt(atom.resi) && (Math.abs(atom.coord.x - prevAtom.coord.x) > maxDist2 || Math.abs(atom.coord.y - prevAtom.coord.y) > maxDist2 || Math.abs(atom.coord.z - prevAtom.coord.z) > maxDist2) && ic.firstAtomObjCls.getFirstCalphaAtomObj(ic.residues[resid]) && ic.firstAtomObjCls.getFirstCalphaAtomObj(ic.residues[resid]).ss == 'helix')
|
|
6869
|
+
|| (parseInt(currentResi) + 1 < parseInt(atom.resi) && (Math.abs(atom.coord.x - prevAtom.coord.x) > maxDist2 || Math.abs(atom.coord.y - prevAtom.coord.y) > maxDist2 || Math.abs(atom.coord.z - prevAtom.coord.z) > maxDist2))
|
|
6869
6870
|
) ) {
|
|
6870
6871
|
if(bHighlight !== 2) {
|
|
6871
6872
|
if(!isNaN(firstAtom.resi) && !isNaN(prevAtom.resi)) {
|
|
@@ -14360,9 +14361,7 @@ class HBond {
|
|
|
14360
14361
|
}
|
|
14361
14362
|
|
|
14362
14363
|
//if(result > kMaxHBondEnergy) {
|
|
14363
|
-
if(atom.ss == 'helix' && atomHbond[j].ss == 'helix' && result > kMaxHBondEnergy)
|
|
14364
|
-
continue;
|
|
14365
|
-
}
|
|
14364
|
+
if(atom.ss == 'helix' && atomHbond[j].ss == 'helix' && result > kMaxHBondEnergy) ;
|
|
14366
14365
|
}
|
|
14367
14366
|
}
|
|
14368
14367
|
else {
|
|
@@ -15511,7 +15510,8 @@ class GetGraph {
|
|
|
15511
15510
|
let strokewidth = '1';
|
|
15512
15511
|
let textcolor = '#000';
|
|
15513
15512
|
let fontsize = '6px'; // '6';
|
|
15514
|
-
let html = (bAfMap) ? "<g>" : "<g class='icn3d-node' resid='" + resid + "' >";
|
|
15513
|
+
//let html = (bAfMap) ? "<g>" : "<g class='icn3d-node' resid='" + resid + "' >";
|
|
15514
|
+
let html = "<g class='icn3d-node' resid='" + resid + "' >";
|
|
15515
15515
|
html += "<title>" + node.id + "</title>";
|
|
15516
15516
|
if(bVertical) {
|
|
15517
15517
|
html += "<circle cx='" + y + "' cy='" + x + "' r='" + r + "' fill='" + color + "' stroke-width='" + strokewidth + "' stroke='" + strokecolor + "' resid='" + resid + "' />";
|
|
@@ -15554,10 +15554,10 @@ class GetGraph {
|
|
|
15554
15554
|
else if(node.s == 'b') {
|
|
15555
15555
|
nodeArray2.push(node);
|
|
15556
15556
|
}
|
|
15557
|
-
|
|
15558
|
-
|
|
15559
|
-
|
|
15560
|
-
|
|
15557
|
+
else if(node.s == 'ab') {
|
|
15558
|
+
nodeArray1.push(node);
|
|
15559
|
+
nodeArray2.push(node);
|
|
15560
|
+
}
|
|
15561
15561
|
}
|
|
15562
15562
|
// sort array
|
|
15563
15563
|
nodeArray1.sort(function(a,b) {
|
|
@@ -15614,9 +15614,12 @@ class GetGraph {
|
|
|
15614
15614
|
}
|
|
15615
15615
|
ic.graphStr = JSON.stringify(graphJson);
|
|
15616
15616
|
}
|
|
15617
|
+
|
|
15618
|
+
/*
|
|
15617
15619
|
if(ic.bGraph) ic.drawGraphCls.drawGraph(ic.graphStr, ic.pre + 'dl_graph');
|
|
15618
15620
|
if(ic.bLinegraph) ic.lineGraphCls.drawLineGraph(ic.graphStr);
|
|
15619
15621
|
if(ic.bScatterplot) ic.lineGraphCls.drawLineGraph(ic.graphStr, true);
|
|
15622
|
+
*/
|
|
15620
15623
|
}
|
|
15621
15624
|
|
|
15622
15625
|
handleForce() { let ic = this.icn3d, me = ic.icn3dui;
|
|
@@ -15945,7 +15948,7 @@ class LineGraph {
|
|
|
15945
15948
|
let resid2 = chainid2 + '_' + idArrayB[4];
|
|
15946
15949
|
|
|
15947
15950
|
let mapping1, mapping2;
|
|
15948
|
-
|
|
15951
|
+
|
|
15949
15952
|
if(ic.chainsMapping[chainid1] && ic.chainsMapping[chainid1][resid1]
|
|
15950
15953
|
&& ic.chainsMapping[chainid2] && ic.chainsMapping[chainid2][resid2]) {
|
|
15951
15954
|
mapping1 = (nodeA.s == "a") ? ic.chainsMapping[chainid1][resid1] : ic.chainsMapping[chainid2][resid2];
|
|
@@ -15961,7 +15964,7 @@ class LineGraph {
|
|
|
15961
15964
|
}
|
|
15962
15965
|
}
|
|
15963
15966
|
}
|
|
15964
|
-
|
|
15967
|
+
|
|
15965
15968
|
// set linkArraySplitCommon and nameHashSplitCommon
|
|
15966
15969
|
// set linkArraySplitDiff and nameHashSplitDiff
|
|
15967
15970
|
let separatorCommon = "=>", separatorDiff = "==>", postCommon = "-", postDiff = "--";
|
|
@@ -16077,17 +16080,19 @@ class LineGraph {
|
|
|
16077
16080
|
|
|
16078
16081
|
width = (maxWidth + 2) * (r + gap) + 2 * marginX;
|
|
16079
16082
|
}
|
|
16080
|
-
let
|
|
16083
|
+
let id, graphWidth;
|
|
16081
16084
|
if(bScatterplot) {
|
|
16082
16085
|
ic.scatterplotWidth = 2 * width;
|
|
16086
|
+
graphWidth = ic.scatterplotWidth;
|
|
16083
16087
|
id = me.scatterplotid;
|
|
16084
16088
|
} else {
|
|
16085
16089
|
ic.linegraphWidth = 2 * width;
|
|
16090
|
+
graphWidth = ic.linegraphWidth;
|
|
16086
16091
|
id = me.linegraphid;
|
|
16087
16092
|
}
|
|
16088
16093
|
html =(strucArray.length == 0) ? "No interactions found for each structure<br><br>" :
|
|
16089
16094
|
"2D integration graph for " + strucArray.length + " structure(s) <b>" + strucArray + "</b>. There are three sections: \"Interactions\", \"Common interactions\", and \"Different interactions\". Each section has " + strucArray.length + " graphs.<br><br>";
|
|
16090
|
-
html += "<svg id='" + id + "' viewBox='0,0," + width + "," + heightAll + "'>";
|
|
16095
|
+
html += "<svg id='" + id + "' viewBox='0,0," + width + "," + heightAll + "' width='" + graphWidth + "px'>";
|
|
16091
16096
|
|
|
16092
16097
|
let result, heightFinal = 0;
|
|
16093
16098
|
|
|
@@ -16172,15 +16177,15 @@ class LineGraph {
|
|
|
16172
16177
|
// draw common interaction
|
|
16173
16178
|
let label, postfix;
|
|
16174
16179
|
if(bCommonDiff == 0) {
|
|
16175
|
-
label = "Interactions in
|
|
16180
|
+
label = "Interactions in ";
|
|
16176
16181
|
postfix = "";
|
|
16177
16182
|
}
|
|
16178
16183
|
else if(bCommonDiff == 1) {
|
|
16179
|
-
label = "Common interactions in
|
|
16184
|
+
label = "Common interactions in ";
|
|
16180
16185
|
postfix = "_common";
|
|
16181
16186
|
}
|
|
16182
16187
|
else if(bCommonDiff == 2) {
|
|
16183
|
-
label = "Different interactions in
|
|
16188
|
+
label = "Different interactions in ";
|
|
16184
16189
|
postfix = "_diff";
|
|
16185
16190
|
}
|
|
16186
16191
|
|
|
@@ -16237,7 +16242,7 @@ class LineGraph {
|
|
|
16237
16242
|
// draw label
|
|
16238
16243
|
if(label) {
|
|
16239
16244
|
height += textHeight;
|
|
16240
|
-
html += "<text x='" +
|
|
16245
|
+
html += "<text x='" + margin + "' y='" + height + "' style='font-size:8px; font-weight:bold'>" + label + "</text>";
|
|
16241
16246
|
}
|
|
16242
16247
|
|
|
16243
16248
|
let h1 = 30 + height,
|
|
@@ -16388,8 +16393,13 @@ class LineGraph {
|
|
|
16388
16393
|
|
|
16389
16394
|
if(bAfMap && ic.hex2skip[link.c]) ;
|
|
16390
16395
|
else if(bAfMap && ic.hex2id[link.c]) {
|
|
16391
|
-
|
|
16392
|
-
html += "<use href='#" + id + "' x='" +(pos2.x - halfSize).toString() + "' y='" +(pos1.y - halfSize).toString() + "' />";
|
|
16396
|
+
ic.hex2id[link.c];
|
|
16397
|
+
// html += "<use href='#" + id + "' x='" +(pos2.x - halfSize).toString() + "' y='" +(pos1.y - halfSize).toString() + "' />";
|
|
16398
|
+
|
|
16399
|
+
//html += "<g class='icn3d-interaction' resid1='" + resid1 + "' resid2='" + resid2 + "' >";
|
|
16400
|
+
//html += "<title>Interaction of residue " + node1.id + " with residue " + node2.id + "</title>";
|
|
16401
|
+
html += "<rect class='icn3d-interaction' resid1='" + resid1 + "' resid2='" + resid2 + "' x='" +(pos2.x - halfSize).toString() + "' y='" +(pos1.y - halfSize).toString() + "' width='" + rectSize + "' height='" + rectSize + "' fill='" + strokecolor + "' stroke-width='" + linestrokewidth + "' stroke='" + strokecolor + "' />";
|
|
16402
|
+
//html += "</g>";
|
|
16393
16403
|
}
|
|
16394
16404
|
else {
|
|
16395
16405
|
html += "<g class='icn3d-interaction' resid1='" + resid1 + "' resid2='" + resid2 + "' >";
|
|
@@ -19353,19 +19363,19 @@ class Scap {
|
|
|
19353
19363
|
//snp: 6M0J_E_484_K,6M0J_E_501_Y,6M0J_E_417_N
|
|
19354
19364
|
let snpStr = '';
|
|
19355
19365
|
let snpArray = snp.split(','); //stru_chain_resi_snp
|
|
19356
|
-
let atomHash = {},
|
|
19366
|
+
let atomHash = {}, snpResidArray = [];
|
|
19357
19367
|
for(let i = 0, il = snpArray.length; i < il; ++i) {
|
|
19358
19368
|
let idArray = snpArray[i].split('_'); //stru_chain_resi_snp
|
|
19359
19369
|
|
|
19360
19370
|
let resid = idArray[0] + '_' + idArray[1] + '_' + idArray[2];
|
|
19361
19371
|
atomHash = me.hashUtilsCls.unionHash(atomHash, ic.residues[resid]);
|
|
19362
|
-
|
|
19372
|
+
snpResidArray.push(resid);
|
|
19363
19373
|
|
|
19364
19374
|
snpStr += idArray[1] + '_' + idArray[2] + '_' + idArray[3];
|
|
19365
19375
|
if(i != il -1) snpStr += ',';
|
|
19366
19376
|
}
|
|
19367
19377
|
|
|
19368
|
-
let selectSpec = ic.resid2specCls.residueids2spec(
|
|
19378
|
+
let selectSpec = ic.resid2specCls.residueids2spec(snpResidArray);
|
|
19369
19379
|
let select = "select " + selectSpec;
|
|
19370
19380
|
|
|
19371
19381
|
let bGetPairs = false;
|
|
@@ -19374,7 +19384,7 @@ class Scap {
|
|
|
19374
19384
|
let result = ic.showInterCls.pickCustomSphere_base(radius, atomHash, ic.atoms, false, false, undefined, select, bGetPairs);
|
|
19375
19385
|
|
|
19376
19386
|
|
|
19377
|
-
residArray = Object.keys(result.residues);
|
|
19387
|
+
let residArray = Object.keys(result.residues);
|
|
19378
19388
|
ic.hAtoms = {};
|
|
19379
19389
|
for(let index = 0, indexl = residArray.length; index < indexl; ++index) {
|
|
19380
19390
|
let residueid = residArray[index];
|
|
@@ -19421,6 +19431,18 @@ class Scap {
|
|
|
19421
19431
|
let bAddition = true;
|
|
19422
19432
|
let hAtom1 = me.hashUtilsCls.cloneHash(ic.hAtoms);
|
|
19423
19433
|
|
|
19434
|
+
// the wild type is the reference
|
|
19435
|
+
for(let serial in hAtom1) {
|
|
19436
|
+
let atom = ic.atoms[serial];
|
|
19437
|
+
let chainid = atom.structure + '_' + atom.chain;
|
|
19438
|
+
let resid = chainid + '_' + atom.resi;
|
|
19439
|
+
|
|
19440
|
+
if(!ic.chainsMapping.hasOwnProperty(chainid)) {
|
|
19441
|
+
ic.chainsMapping[chainid] = {};
|
|
19442
|
+
}
|
|
19443
|
+
ic.chainsMapping[chainid][resid] = me.utilsCls.residueName2Abbr(atom.resn) + atom.resi;
|
|
19444
|
+
}
|
|
19445
|
+
|
|
19424
19446
|
ic.hAtoms = {};
|
|
19425
19447
|
ic.loadPDBCls.loadPDB(pdbData, pdbid, false, false, bAddition);
|
|
19426
19448
|
let hAtom2 = me.hashUtilsCls.cloneHash(ic.hAtoms);
|
|
@@ -19433,17 +19455,31 @@ class Scap {
|
|
|
19433
19455
|
|
|
19434
19456
|
ic.opts['color'] = 'chain';
|
|
19435
19457
|
ic.setColorCls.setColorByOptions(ic.opts, ic.dAtoms);
|
|
19436
|
-
|
|
19437
19458
|
for(let serial in hAtom2) {
|
|
19438
19459
|
let atom = ic.atoms[serial];
|
|
19439
19460
|
if(!atom.het) {
|
|
19440
19461
|
// use the same color as the wild type
|
|
19441
|
-
let resid = atom.structure.substr(0,
|
|
19462
|
+
let resid = atom.structure.substr(0, atom.structure.length - 1) + '_' + atom.chain + '_' + atom.resi;
|
|
19442
19463
|
|
|
19443
19464
|
let atomWT = ic.firstAtomObjCls.getFirstAtomObj(ic.residues[resid]);
|
|
19444
19465
|
ic.atoms[serial].color = atomWT.color;
|
|
19445
19466
|
ic.atomPrevColors[serial] = atomWT.color;
|
|
19446
19467
|
}
|
|
19468
|
+
|
|
19469
|
+
let chainid = atom.structure + '_' + atom.chain;
|
|
19470
|
+
let resid = chainid + '_' + atom.resi;
|
|
19471
|
+
let residWT = atom.structure.substr(0, atom.structure.length - 1) + '_' + atom.chain + '_' + atom.resi;
|
|
19472
|
+
|
|
19473
|
+
if(!ic.chainsMapping.hasOwnProperty(chainid)) {
|
|
19474
|
+
ic.chainsMapping[chainid] = {};
|
|
19475
|
+
}
|
|
19476
|
+
ic.chainsMapping[chainid][resid] = me.utilsCls.residueName2Abbr(atom.resn) + atom.resi;
|
|
19477
|
+
// use the wild type as reference
|
|
19478
|
+
|
|
19479
|
+
if(snpResidArray.indexOf(residWT) != -1) {
|
|
19480
|
+
let atomWT = ic.firstAtomObjCls.getFirstAtomObj(ic.residues[residWT]);
|
|
19481
|
+
ic.chainsMapping[chainid][resid] = me.utilsCls.residueName2Abbr(atomWT.resn) + atomWT.resi;
|
|
19482
|
+
}
|
|
19447
19483
|
}
|
|
19448
19484
|
|
|
19449
19485
|
if(bPdb) {
|
|
@@ -34015,7 +34051,7 @@ class MmcifParser {
|
|
|
34015
34051
|
|
|
34016
34052
|
// not all listed residues are considered missing, e.g., PDB ID 4OR2, only the firts four residues are considered missing
|
|
34017
34053
|
if(!isNaN(resi) &&(prevMissingChain == '' ||(chain != prevMissingChain) ||(chain == prevMissingChain && resi > maxMissingResi)) ) {
|
|
34018
|
-
chainMissingResidueArray[chainNum].push(resObject);
|
|
34054
|
+
ic.chainMissingResidueArray[chainNum].push(resObject);
|
|
34019
34055
|
|
|
34020
34056
|
maxMissingResi = resi;
|
|
34021
34057
|
prevMissingChain = chain;
|
|
@@ -37780,6 +37816,18 @@ class Diagram2d {
|
|
|
37780
37816
|
ic.bSelectResidue = false;
|
|
37781
37817
|
*/
|
|
37782
37818
|
});
|
|
37819
|
+
|
|
37820
|
+
$(document).on("click", "#" + ic.pre + "dl_alignerrormap .icn3d-interaction", function(e) { thisClass.icn3d;
|
|
37821
|
+
e.stopImmediatePropagation();
|
|
37822
|
+
|
|
37823
|
+
thisClass.clickInteraction(this);
|
|
37824
|
+
});
|
|
37825
|
+
|
|
37826
|
+
$(document).on("click", "#" + ic.pre + "dl_alignerrormap .icn3d-node", function(e) { thisClass.icn3d;
|
|
37827
|
+
e.stopImmediatePropagation();
|
|
37828
|
+
|
|
37829
|
+
thisClass.clickNode(this);
|
|
37830
|
+
});
|
|
37783
37831
|
}
|
|
37784
37832
|
|
|
37785
37833
|
clickNode(node) { let ic = this.icn3d, me = ic.icn3dui;
|
|
@@ -48257,6 +48305,12 @@ class SetDialog {
|
|
|
48257
48305
|
html += "<div style='width:500px'>";
|
|
48258
48306
|
html += 'Please specify the mutations with a comma separated mutation list. Each mutation can be specified as "[PDB ID]_[Chain ID]_[Residue Number]_[One Letter Mutatnt Residue]". E.g., the mutation of N501Y in the E chain of PDB 6M0J can be specified as "6M0J_E_501_Y". <br/><br/>';
|
|
48259
48307
|
html += "<div style='display:inline-block; width:110px'>Mutations: </div>" + me.htmlCls.inputTextStr + "id='" + me.pre + "mutationids' value='6M0J_E_484_K,6M0J_E_501_Y,6M0J_E_417_N' size=50><br/><br/>";
|
|
48308
|
+
|
|
48309
|
+
html += "<b>Data Source</b>: <select id='" + me.pre + "idsource'>";
|
|
48310
|
+
html += "<option value='mmdbid' selected>PDB ID</option>";
|
|
48311
|
+
html += "<option value='afid'>AlphaFold UniProt ID</option>";
|
|
48312
|
+
html += "</select><br/><br/>";
|
|
48313
|
+
|
|
48260
48314
|
html += me.htmlCls.buttonStr + "reload_mutation_3d' title='Show the mutations in 3D using the scap program'>3D with scap</button>";
|
|
48261
48315
|
html += me.htmlCls.buttonStr + "reload_mutation_inter' style='margin-left:20px' title='Show the mutations in 3D and the change of interactions'>Interactions</button>";
|
|
48262
48316
|
html += me.htmlCls.buttonStr + "reload_mutation_pdb' style='margin-left:20px' title='Show the mutations in 3D and export the PDB of the mutant within 10 angstrom'>PDB</button>";
|
|
@@ -48651,7 +48705,7 @@ class SetDialog {
|
|
|
48651
48705
|
|
|
48652
48706
|
html += me.htmlCls.divStr + "dl_alignerrormap' style='background-color:white' class='" + dialogClass + "'>";
|
|
48653
48707
|
|
|
48654
|
-
|
|
48708
|
+
html += me.htmlCls.divNowrapStr + "Hold Ctrl key to select multiple nodes." + me.htmlCls.space3 + "</div>";
|
|
48655
48709
|
|
|
48656
48710
|
me.alignerrormapid = me.pre + 'alignerrormap';
|
|
48657
48711
|
html += me.htmlCls.divNowrapStr + buttonStrTmp + me.alignerrormapid + '_svg">SVG</button>' + me.htmlCls.space2;
|
|
@@ -49520,26 +49574,29 @@ class Events {
|
|
|
49520
49574
|
e.preventDefault();
|
|
49521
49575
|
if(!me.cfg.notebook) dialog.dialog( "close" );
|
|
49522
49576
|
let mutationids = $("#" + me.pre + "mutationids").val();
|
|
49523
|
-
let
|
|
49577
|
+
let idsource = $("#" + me.pre + "idsource").val();
|
|
49578
|
+
let mmdbid = mutationids.substr(0, mutationids.indexOf('_'));
|
|
49524
49579
|
me.htmlCls.clickMenuCls.setLogCmd("3d of mutation " + mutationids, false);
|
|
49525
49580
|
//window.open(me.htmlCls.baseUrl + 'icn3d/full.html?mmdbid=' + mmdbid + '&command=scap 3d ' + mutationids + '; select displayed set', '_blank');
|
|
49526
|
-
window.open(hostUrl + '?
|
|
49581
|
+
window.open(hostUrl + '?' + idsource + '=' + mmdbid + '&command=scap 3d ' + mutationids + '; select displayed set', '_blank');
|
|
49527
49582
|
});
|
|
49528
49583
|
|
|
49529
49584
|
me.myEventCls.onIds("#" + me.pre + "reload_mutation_pdb", "click", function(e) { me.icn3d;
|
|
49530
49585
|
e.preventDefault();
|
|
49531
49586
|
if(!me.cfg.notebook) dialog.dialog( "close" );
|
|
49532
49587
|
let mutationids = $("#" + me.pre + "mutationids").val();
|
|
49588
|
+
let idsource = $("#" + me.pre + "idsource").val();
|
|
49533
49589
|
let mmdbid = mutationids.substr(0, mutationids.indexOf('_'));
|
|
49534
49590
|
me.htmlCls.clickMenuCls.setLogCmd("pdb of mutation " + mutationids, false);
|
|
49535
49591
|
//window.open(me.htmlCls.baseUrl + 'icn3d/full.html?mmdbid=' + mmdbid + '&command=scap pdb ' + mutationids + '; select displayed set', '_blank');
|
|
49536
|
-
window.open(hostUrl + '?
|
|
49592
|
+
window.open(hostUrl + '?' + idsource + '=' + mmdbid + '&command=scap pdb ' + mutationids + '; select displayed set', '_blank');
|
|
49537
49593
|
});
|
|
49538
49594
|
|
|
49539
49595
|
me.myEventCls.onIds("#" + me.pre + "reload_mutation_inter", "click", function(e) { let ic = me.icn3d;
|
|
49540
49596
|
e.preventDefault();
|
|
49541
49597
|
if(!me.cfg.notebook) dialog.dialog( "close" );
|
|
49542
49598
|
let mutationids = $("#" + me.pre + "mutationids").val();
|
|
49599
|
+
let idsource = $("#" + me.pre + "idsource").val();
|
|
49543
49600
|
|
|
49544
49601
|
let mutationArray = mutationids.split(',');
|
|
49545
49602
|
let residArray = [];
|
|
@@ -49561,7 +49618,7 @@ class Events {
|
|
|
49561
49618
|
me.htmlCls.clickMenuCls.setLogCmd("interaction change of mutation " + mutationids, false);
|
|
49562
49619
|
//window.open(me.htmlCls.baseUrl + 'icn3d/full.html?mmdbid=' + mmdbid + '&command=scap interaction ' + mutationids + '; select ' + selectSpec + ' | name test; line graph interaction pairs | selected non-selected | hbonds,salt bridge,interactions,halogen,pi-cation,pi-stacking | false | threshold 3.8 6 4 3.8 6 5.5; adjust dialog dl_linegraph; select displayed set', '_blank');
|
|
49563
49620
|
//window.open(me.htmlCls.baseUrl + 'icn3d/full.html?mmdbid=' + mmdbid + '&command=scap interaction ' + mutationids, '_blank');
|
|
49564
|
-
window.open(hostUrl + '?
|
|
49621
|
+
window.open(hostUrl + '?' + idsource + '=' + mmdbid + '&command=scap interaction ' + mutationids, '_blank');
|
|
49565
49622
|
});
|
|
49566
49623
|
|
|
49567
49624
|
// },
|
|
@@ -53067,17 +53124,10 @@ class ContactMap {
|
|
|
53067
53124
|
let bContactMap = true;
|
|
53068
53125
|
|
|
53069
53126
|
if(bAfMap) { // cleaned the code by using "use" in SVG, but didn't improve rendering
|
|
53070
|
-
let factor = 1;
|
|
53071
|
-
let r = 3 * factor;
|
|
53072
|
-
let rectSize = 2 * r;
|
|
53073
53127
|
|
|
53074
53128
|
ic.hex2id = {};
|
|
53075
53129
|
let threshold = 29.0 / max;
|
|
53076
53130
|
ic.hex2skip = {}; // do not display any error larger than 29 angstrom
|
|
53077
|
-
|
|
53078
|
-
html += "<defs>";
|
|
53079
|
-
|
|
53080
|
-
let linestrokewidth = 1;
|
|
53081
53131
|
let nRef = 1000;
|
|
53082
53132
|
for(let i = 0; i < nRef; ++i) {
|
|
53083
53133
|
let ratio = 1.0 * i / nRef;
|
|
@@ -53087,7 +53137,6 @@ class ContactMap {
|
|
|
53087
53137
|
let gHex = (g.length == 1) ? '0' + g : g;
|
|
53088
53138
|
let bHex = rHex;
|
|
53089
53139
|
let color = rHex + gHex + bHex;
|
|
53090
|
-
let strokecolor = "#" + color;
|
|
53091
53140
|
|
|
53092
53141
|
let idRect = me.pre + "afmap_" + i;
|
|
53093
53142
|
|
|
@@ -53097,11 +53146,11 @@ class ContactMap {
|
|
|
53097
53146
|
}
|
|
53098
53147
|
|
|
53099
53148
|
//html += "<g id='" + id + "'>";
|
|
53100
|
-
html += "<rect id='" + idRect + "' x='0' y='0' width='" + rectSize + "' height='" + rectSize + "' fill='"
|
|
53101
|
-
+ strokecolor + "' stroke-width='" + linestrokewidth + "' stroke='" + strokecolor + "' />";
|
|
53149
|
+
// html += "<rect id='" + idRect + "' x='0' y='0' width='" + rectSize + "' height='" + rectSize + "' fill='"
|
|
53150
|
+
// + strokecolor + "' stroke-width='" + linestrokewidth + "' stroke='" + strokecolor + "' />";
|
|
53102
53151
|
//html += "</g>"
|
|
53103
53152
|
}
|
|
53104
|
-
html += "</defs>";
|
|
53153
|
+
// html += "</defs>";
|
|
53105
53154
|
}
|
|
53106
53155
|
|
|
53107
53156
|
html += ic.lineGraphCls.drawScatterplot_base(nodeArray1, nodeArray2, linkArray, name2node, 0, bContactMap, undefined, undefined, bAfMap);
|
|
@@ -55677,7 +55726,7 @@ class iCn3DUI {
|
|
|
55677
55726
|
//even when multiple iCn3D viewers are shown together.
|
|
55678
55727
|
this.pre = this.cfg.divid + "_";
|
|
55679
55728
|
|
|
55680
|
-
this.REVISION = '3.8.
|
|
55729
|
+
this.REVISION = '3.8.2';
|
|
55681
55730
|
|
|
55682
55731
|
// In nodejs, iCn3D defines "window = {navigator: {}}"
|
|
55683
55732
|
this.bNode = (Object.keys(window).length < 2) ? true : false;
|