icn3d 3.47.3 → 3.48.1
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 +200 -135
- package/icn3d.min.js +3 -3
- package/icn3d.module.js +200 -135
- package/package.json +1 -1
package/icn3d.js
CHANGED
|
@@ -63093,20 +63093,20 @@ class SetDialog {
|
|
|
63093
63093
|
group2tpl['IgC1'] = ['B2Microglobulin_7phrL_human_C1', 'CD3d_6jxrd_human_C1', 'CD3e_6jxrf_human_C1', 'FAB-LIGHT_5esv_C1-n2', 'FAB-HEAVY_5esv_C1-n2', 'GHR_1axiB_human_C1-n1', 'LAG3_7tzgD_human_C1-n2', 'MHCIa_7phrH_human_C1', 'Siglec3_5j0bB_human_C1-n2', 'TCRa_6jxrm_human_C1-n2', 'VTCN1_Q7Z7D3_human_C1-n2'];
|
|
63094
63094
|
group2tpl['IgC2'] = ['CD2_1hnfA_human_C2-n2', 'CD3g_6jxrg_human_C2'];
|
|
63095
63095
|
group2tpl['IgI'] = ['BTLA_2aw2A_human_Iset', 'Contactin1_3s97C_human_Iset-n2', 'JAM1_1nbqA_human_Iset-n2', 'Palladin_2dm3A_human_Iset-n1', 'Titin_4uowM_human_Iset-n152'];
|
|
63096
|
-
group2tpl['IgE'] = ['CoAtomerGamma1_1r4xA_human', 'Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'IsdA_2iteA_bacteria', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark', 'TP34_2o6cA_bacteria', 'TP47_1o75A_bacteria'];
|
|
63096
|
+
//group2tpl['IgE'] = ['CoAtomerGamma1_1r4xA_human', 'Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'IsdA_2iteA_bacteria', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark', 'TP34_2o6cA_bacteria', 'TP47_1o75A_bacteria'];
|
|
63097
63097
|
|
|
63098
63098
|
group2tpl['IgFN3'] = ['Contactin1_2ee2A_human_FN3-n9', 'IL6Rb_1bquB_human_FN3-n2', 'IL6Rb_1bquB_human_FN3-n3', 'InsulinR_8guyE_human_FN3-n1', 'InsulinR_8guyE_human_FN3-n2', 'Sidekick2_1wf5A_human_FN3-n7'];
|
|
63099
63099
|
|
|
63100
|
-
group2tpl['IgFN3-like'] = ['ASF1A_2iijA_human', 'BArrestin1_4jqiA_rat_n1', 'C3_2qkiD_human_n1', 'MPT63_1lmiA_bacteria', 'NaCaExchanger_2fwuA_dog_n2', 'RBPJ_6py8C_human_Unk-n1', 'TEAD1_3kysC_human'];
|
|
63100
|
+
//group2tpl['IgFN3-like'] = ['ASF1A_2iijA_human', 'BArrestin1_4jqiA_rat_n1', 'C3_2qkiD_human_n1', 'MPT63_1lmiA_bacteria', 'NaCaExchanger_2fwuA_dog_n2', 'RBPJ_6py8C_human_Unk-n1', 'TEAD1_3kysC_human'];
|
|
63101
63101
|
|
|
63102
|
-
group2tpl['Other Ig'] = ['CD19_6al5A_human-n1', '
|
|
63102
|
+
group2tpl['Other Ig'] = ['CD19_6al5A_human-n1', 'ECadherin_4zt1A_human_n2', 'LaminAC_1ifrA_human'];
|
|
63103
63103
|
|
|
63104
63104
|
let tpl2strandsig = {};
|
|
63105
|
-
tpl2strandsig['ASF1A_2iijA_human'] = "A A' B C C' E F G G+";
|
|
63105
|
+
//tpl2strandsig['ASF1A_2iijA_human'] = "A A' B C C' E F G G+";
|
|
63106
63106
|
tpl2strandsig['B2Microglobulin_7phrL_human_C1'] = "A B C C' D E F G";
|
|
63107
|
-
tpl2strandsig['BArrestin1_4jqiA_rat_n1'] = "A- A A' B C C' E F G";
|
|
63107
|
+
//tpl2strandsig['BArrestin1_4jqiA_rat_n1'] = "A- A A' B C C' E F G";
|
|
63108
63108
|
tpl2strandsig['BTLA_2aw2A_human_Iset'] = "A A' B C C' D E F G";
|
|
63109
|
-
tpl2strandsig['C3_2qkiD_human_n1'] = "A A' B C C' E F G";
|
|
63109
|
+
//tpl2strandsig['C3_2qkiD_human_n1'] = "A A' B C C' E F G";
|
|
63110
63110
|
tpl2strandsig['CD19_6al5A_human-n1'] = "A' B C C' D E F G";
|
|
63111
63111
|
tpl2strandsig['CD28_1yjdC_human_V'] = "A A' B C C' C'' D E F G";
|
|
63112
63112
|
tpl2strandsig['CD2_1hnfA_human_C2-n2'] = "A B C C' E F G";
|
|
@@ -63115,12 +63115,12 @@ class SetDialog {
|
|
|
63115
63115
|
tpl2strandsig['CD3e_6jxrf_human_C1'] = "A B C C' D E F G";
|
|
63116
63116
|
tpl2strandsig['CD3g_6jxrg_human_C2'] = "A B C C' E F G G+";
|
|
63117
63117
|
tpl2strandsig['CD8a_1cd8A_human_V'] = "A A' B C C' C'' D E F G";
|
|
63118
|
-
tpl2strandsig['CoAtomerGamma1_1r4xA_human'] = "A- A B C D E F G";
|
|
63118
|
+
//tpl2strandsig['CoAtomerGamma1_1r4xA_human'] = "A- A B C D E F G";
|
|
63119
63119
|
tpl2strandsig['Contactin1_2ee2A_human_FN3-n9'] = "A A' B C C' E F G";
|
|
63120
63120
|
tpl2strandsig['Contactin1_3s97C_human_Iset-n2'] = "A A' B C D E F G";
|
|
63121
|
-
tpl2strandsig['CuZnSuperoxideDismutase_1hl5C_human'] = "A- A B C C' E F G";
|
|
63121
|
+
//tpl2strandsig['CuZnSuperoxideDismutase_1hl5C_human'] = "A- A B C C' E F G";
|
|
63122
63122
|
tpl2strandsig['ECadherin_4zt1A_human_n2'] = "A' B C D E F G";
|
|
63123
|
-
tpl2strandsig['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = "A--- A-- A- A B C C' C'' D E F G";
|
|
63123
|
+
//tpl2strandsig['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = "A--- A-- A- A B C C' C'' D E F G";
|
|
63124
63124
|
tpl2strandsig['FAB-HEAVY_5esv_C1-n2'] = "A B C D E F G";
|
|
63125
63125
|
tpl2strandsig['FAB-HEAVY_5esv_V-n1'] = "A B C C' C'' D E F G";
|
|
63126
63126
|
tpl2strandsig['FAB-LIGHT_5esv_C1-n2'] = "A B C C' D E F G";
|
|
@@ -63131,28 +63131,28 @@ class SetDialog {
|
|
|
63131
63131
|
tpl2strandsig['IL6Rb_1bquB_human_FN3-n3'] = "A B C C' E F G";
|
|
63132
63132
|
tpl2strandsig['InsulinR_8guyE_human_FN3-n1'] = "A B C C' E F G";
|
|
63133
63133
|
tpl2strandsig['InsulinR_8guyE_human_FN3-n2'] = "A B C C' E F G";
|
|
63134
|
-
tpl2strandsig['IsdA_2iteA_bacteria'] = "A- A B C C' D E F G";
|
|
63134
|
+
//tpl2strandsig['IsdA_2iteA_bacteria'] = "A- A B C C' D E F G";
|
|
63135
63135
|
tpl2strandsig['JAM1_1nbqA_human_Iset-n2'] = "A A' B C C' D E F G";
|
|
63136
63136
|
tpl2strandsig['LAG3_7tzgD_human_C1-n2'] = "A A' B C C' D E F G";
|
|
63137
63137
|
tpl2strandsig['LAG3_7tzgD_human_V-n1'] = "A' B C C' D E F G";
|
|
63138
63138
|
tpl2strandsig['LaminAC_1ifrA_human'] = "A- A B C C' E E+ F G";
|
|
63139
63139
|
tpl2strandsig['MHCIa_7phrH_human_C1'] = "A B C C' D E F G";
|
|
63140
|
-
tpl2strandsig['MPT63_1lmiA_bacteria'] = "A-- A- A BC C' E F G";
|
|
63141
|
-
tpl2strandsig['NaCaExchanger_2fwuA_dog_n2'] = "A A' B C C' E F G";
|
|
63142
|
-
tpl2strandsig['NaKATPaseTransporterBeta_2zxeB_spurdogshark']= "A A' B C D E F G";
|
|
63143
|
-
tpl2strandsig['ORF7a_1xakA_virus'] = "A' B C D E F G";
|
|
63140
|
+
//tpl2strandsig['MPT63_1lmiA_bacteria'] = "A-- A- A BC C' E F G";
|
|
63141
|
+
//tpl2strandsig['NaCaExchanger_2fwuA_dog_n2'] = "A A' B C C' E F G";
|
|
63142
|
+
//tpl2strandsig['NaKATPaseTransporterBeta_2zxeB_spurdogshark']= "A A' B C D E F G";
|
|
63143
|
+
//tpl2strandsig['ORF7a_1xakA_virus'] = "A' B C D E F G";
|
|
63144
63144
|
tpl2strandsig['PD1_4zqkB_human_V'] = "A A' B C C' D E F G";
|
|
63145
63145
|
tpl2strandsig['PDL1_4z18B_human_V-n1'] = "A A' B C C' C'' D E F G";
|
|
63146
63146
|
tpl2strandsig['Palladin_2dm3A_human_Iset-n1'] = "A A' B C C' D E F G";
|
|
63147
|
-
tpl2strandsig['RBPJ_6py8C_human_Unk-n1'] = "A A' B C C' E F G";
|
|
63148
|
-
tpl2strandsig['RBPJ_6py8C_human_Unk-n2'] = "A B C D E F G";
|
|
63147
|
+
//tpl2strandsig['RBPJ_6py8C_human_Unk-n1'] = "A A' B C C' E F G";
|
|
63148
|
+
//tpl2strandsig['RBPJ_6py8C_human_Unk-n2'] = "A B C D E F G";
|
|
63149
63149
|
tpl2strandsig['Sidekick2_1wf5A_human_FN3-n7'] = "A B C C' E F G";
|
|
63150
63150
|
tpl2strandsig['Siglec3_5j0bB_human_C1-n2'] = "A A' B C D E F G";
|
|
63151
63151
|
tpl2strandsig['TCRa_6jxrm_human_C1-n2'] = "A B C D E F G";
|
|
63152
63152
|
tpl2strandsig['TCRa_6jxrm_human_V-n1'] = "A A' B C C' C'' D E F G";
|
|
63153
|
-
tpl2strandsig['TEAD1_3kysC_human'] = "A A+ A' B C C' E F G G+";
|
|
63154
|
-
tpl2strandsig['TP34_2o6cA_bacteria'] = "A- A B C C' D E F G";
|
|
63155
|
-
tpl2strandsig['TP47_1o75A_bacteria'] = "A B C C' D E F G";
|
|
63153
|
+
//tpl2strandsig['TEAD1_3kysC_human'] = "A A+ A' B C C' E F G G+";
|
|
63154
|
+
//tpl2strandsig['TP34_2o6cA_bacteria'] = "A- A B C C' D E F G";
|
|
63155
|
+
//tpl2strandsig['TP47_1o75A_bacteria'] = "A B C C' D E F G";
|
|
63156
63156
|
tpl2strandsig['Titin_4uowM_human_Iset-n152'] = "A A' B C C' D E F G";
|
|
63157
63157
|
tpl2strandsig['VISTA_6oilA_human_V'] = "A A' B C C' C'' D E F G G+";
|
|
63158
63158
|
tpl2strandsig['VNAR_1t6vN_shark_V'] = "A A' B C C' D E F G";
|
|
@@ -74518,7 +74518,7 @@ class Scene {
|
|
|
74518
74518
|
if(ic.opts['slab'] === 'yes') ic.cameraCls.setSlab();
|
|
74519
74519
|
|
|
74520
74520
|
// if(!ic.bSetVrArButtons) { // call once
|
|
74521
|
-
if(!me.cfg.imageonly) this.setVrArButtons();
|
|
74521
|
+
if(!me.cfg.imageonly && ( 'xr' in navigator )) this.setVrArButtons();
|
|
74522
74522
|
// }
|
|
74523
74523
|
|
|
74524
74524
|
// if((ic.bVr || ic.bAr) && !ic.bSetVrAr) { // call once
|
|
@@ -79510,7 +79510,7 @@ class Strand {
|
|
|
79510
79510
|
let bShowArray = [];
|
|
79511
79511
|
let calphaIdArray = []; // used to store one of the final positions drawn in 3D
|
|
79512
79512
|
let colors = [];
|
|
79513
|
-
let currentChain, currentCA = null, currentO = null, currentColor = null, prevCoorCA = null, prevCoorO = null, prevColor = null;
|
|
79513
|
+
let currentChain, currentStyle, currentCA = null, currentO = null, currentColor = null, prevCoorCA = null, prevCoorO = null, prevColor = null;
|
|
79514
79514
|
let prevCO = null, ss = null, ssend = false, atomid = null, prevAtomid = null, prevResi = null, calphaid = null, prevCalphaid = null;
|
|
79515
79515
|
let strandWidth, bSheetSegment = false, bHelixSegment = false;
|
|
79516
79516
|
let atom, tubeAtoms = {};
|
|
@@ -79563,15 +79563,15 @@ class Strand {
|
|
|
79563
79563
|
}
|
|
79564
79564
|
// smoothen each coil, helix and sheet separately. The joint residue has to be included both in the previous and next segment
|
|
79565
79565
|
let bSameChain = true;
|
|
79566
|
-
|
|
79566
|
+
|
|
79567
79567
|
if (currentChain !== atom.chain) {
|
|
79568
79568
|
bSameChain = false;
|
|
79569
79569
|
}
|
|
79570
79570
|
|
|
79571
|
-
if(atom.ssend && atom.ss === 'sheet') {
|
|
79571
|
+
if((atom.ssend || currentStyle != atom.style)&& atom.ss === 'sheet') {
|
|
79572
79572
|
bSheetSegment = true;
|
|
79573
79573
|
}
|
|
79574
|
-
else if(atom.ssend && atom.ss === 'helix') {
|
|
79574
|
+
else if((atom.ssend || currentStyle != atom.style) && atom.ss === 'helix') {
|
|
79575
79575
|
bHelixSegment = true;
|
|
79576
79576
|
}
|
|
79577
79577
|
|
|
@@ -79664,7 +79664,7 @@ class Strand {
|
|
|
79664
79664
|
// bHelixSegment = true;
|
|
79665
79665
|
// }
|
|
79666
79666
|
|
|
79667
|
-
if ((atom.ssbegin || atom.ssend || (drawnResidueCount === totalResidueCount - 1) || bBrokenSs) && pnts[0].length > 0 && bSameChain) {
|
|
79667
|
+
if ((atom.ssbegin || atom.ssend || (drawnResidueCount === totalResidueCount - 1) || bBrokenSs || currentStyle != atom.style) && pnts[0].length > 0 && bSameChain) {
|
|
79668
79668
|
let atomName = 'CA';
|
|
79669
79669
|
|
|
79670
79670
|
let prevone = [], nexttwo = [];
|
|
@@ -79807,9 +79807,7 @@ class Strand {
|
|
|
79807
79807
|
} // end if (atom.ssbegin || atom.ssend)
|
|
79808
79808
|
|
|
79809
79809
|
// end of a chain
|
|
79810
|
-
|
|
79811
|
-
if ((currentChain !== atom.chain) && pnts[0].length > 0) {
|
|
79812
|
-
|
|
79810
|
+
if ((currentChain !== atom.chain || currentStyle != atom.style) && pnts[0].length > 0) {
|
|
79813
79811
|
let atomName = 'CA';
|
|
79814
79812
|
|
|
79815
79813
|
let prevone = [], nexttwo = [];
|
|
@@ -79861,7 +79859,7 @@ class Strand {
|
|
|
79861
79859
|
}
|
|
79862
79860
|
|
|
79863
79861
|
currentChain = atom.chain;
|
|
79864
|
-
atom.
|
|
79862
|
+
currentStyle = atom.style;
|
|
79865
79863
|
ss = atom.ss;
|
|
79866
79864
|
ssend = atom.ssend;
|
|
79867
79865
|
prevAtomid = atom.serial;
|
|
@@ -83973,7 +83971,7 @@ class ApplyMissingRes {
|
|
|
83973
83971
|
line.serial1 = ic.missingResResid2serial[resid0 + ',' + resid1];
|
|
83974
83972
|
line.serial2 = ic.missingResResid2serial[resid1 + ',' + resid0];
|
|
83975
83973
|
|
|
83976
|
-
line.color = "#" + ic.atoms[line.serial1].color.getHexString();
|
|
83974
|
+
line.color = (ic.atoms[line.serial1]) ? "#" + ic.atoms[line.serial1].color.getHexString() : undefined;
|
|
83977
83975
|
|
|
83978
83976
|
line.radius = ic.coilWidth;
|
|
83979
83977
|
|
|
@@ -88828,6 +88826,9 @@ class SetStyle {
|
|
|
88828
88826
|
setBackground(color) {var ic = this.icn3d, me = ic.icn3dui;
|
|
88829
88827
|
|
|
88830
88828
|
ic.setOptionCls.setOption('background', color);
|
|
88829
|
+
let exdays = 3650;
|
|
88830
|
+
me.htmlCls.setHtmlCls.setCookie('bkgdcolor', color, exdays);
|
|
88831
|
+
|
|
88831
88832
|
me.htmlCls.clickMenuCls.setLogCmd('set background ' + color, true);
|
|
88832
88833
|
//let titleColor =(color == 'black' || color == 'transparent') ? me.htmlCls.GREYD : 'black';
|
|
88833
88834
|
let titleColor = (color == 'black') ? me.htmlCls.GREYD : 'black';
|
|
@@ -99430,7 +99431,7 @@ class HlUpdate {
|
|
|
99430
99431
|
if(ic.mmdbid_q !== undefined && ic.mmdbid_q === ic.mmdbid_t) {
|
|
99431
99432
|
html2ddgm += ic.diagram2dCls.draw2Ddgm(ic.interactionData2, ic.mmdbidArray[0].toUpperCase(), 1, true);
|
|
99432
99433
|
}
|
|
99433
|
-
else {
|
|
99434
|
+
else if(ic.mmdbidArray.length > 1) {
|
|
99434
99435
|
html2ddgm += ic.diagram2dCls.draw2Ddgm(ic.interactionData2, ic.mmdbidArray[1].toUpperCase(), 1, true);
|
|
99435
99436
|
}
|
|
99436
99437
|
html2ddgm += ic.diagram2dCls.set2DdgmNote(true);
|
|
@@ -103712,16 +103713,31 @@ class ChainalignParser {
|
|
|
103712
103713
|
|
|
103713
103714
|
// dynamically align pairs in all chainids
|
|
103714
103715
|
// the resrange from VASTSrv or VAST search uses NCBI residue numbers!!!
|
|
103715
|
-
let atomSet_t
|
|
103716
|
+
let atomSet_t;
|
|
103717
|
+
if(me.cfg.resrange) {
|
|
103718
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[0]], chainidArray[0], true);
|
|
103719
|
+
atomSet_t = result.hAtoms;
|
|
103720
|
+
}
|
|
103721
|
+
else {
|
|
103722
|
+
atomSet_t = ic.chains[chainidArray[0]];
|
|
103723
|
+
}
|
|
103724
|
+
|
|
103716
103725
|
for(let index = 1, indexl = chainidArray.length; index < indexl; ++index) {
|
|
103717
|
-
let atomSet_q
|
|
103726
|
+
let atomSet_q;
|
|
103727
|
+
if(me.cfg.resrange) {
|
|
103728
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[index]], chainidArray[index], true);
|
|
103729
|
+
atomSet_q = result.hAtoms;
|
|
103730
|
+
}
|
|
103731
|
+
else {
|
|
103732
|
+
atomSet_q = ic.chains[chainidArray[index]];
|
|
103733
|
+
}
|
|
103718
103734
|
// end of new version to be done for VASTsrv ==============
|
|
103719
103735
|
|
|
103720
103736
|
let alignAjax;
|
|
103721
103737
|
if(me.cfg.aligntool != 'tmalign') {
|
|
103722
103738
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(atomSet_q);
|
|
103723
103739
|
let jsonStr_t = ic.domain3dCls.getDomainJsonForAlign(atomSet_t);
|
|
103724
|
-
|
|
103740
|
+
|
|
103725
103741
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
103726
103742
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
103727
103743
|
}
|
|
@@ -103757,6 +103773,7 @@ class ChainalignParser {
|
|
|
103757
103773
|
//let bTargetTransformed = (ic.qt_start_end[0]) ? true : false;
|
|
103758
103774
|
|
|
103759
103775
|
// modify the previous trans and rotation matrix
|
|
103776
|
+
let bAligned = false;
|
|
103760
103777
|
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
103761
103778
|
// let align = (me.bNode) ? dataArray[i] : dataArray[i].value;//[0];
|
|
103762
103779
|
let align = dataArray[i].value;//[0];
|
|
@@ -103772,7 +103789,7 @@ class ChainalignParser {
|
|
|
103772
103789
|
|
|
103773
103790
|
me.htmlCls.clickMenuCls.setLogCmd("Align " + mmdbid_t + " with " + mmdbid_q, false);
|
|
103774
103791
|
|
|
103775
|
-
this.processAlign(align, index, queryData, bEqualMmdbid, bEqualChain);
|
|
103792
|
+
bAligned =await this.processAlign(align, index, queryData, bEqualMmdbid, bEqualChain, undefined);
|
|
103776
103793
|
}
|
|
103777
103794
|
|
|
103778
103795
|
// do not transform the target
|
|
@@ -103780,28 +103797,34 @@ class ChainalignParser {
|
|
|
103780
103797
|
// this.transformStructure(mmdbid_t, indexArray[0], 'target');
|
|
103781
103798
|
//}
|
|
103782
103799
|
|
|
103783
|
-
|
|
103784
|
-
|
|
103785
|
-
let
|
|
103786
|
-
|
|
103787
|
-
|
|
103788
|
-
|
|
103800
|
+
if(bAligned) {
|
|
103801
|
+
// transform the rest
|
|
103802
|
+
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
103803
|
+
let mmdbid_q = struArray[i];
|
|
103804
|
+
let index = indexArray[i];
|
|
103805
|
+
this.transformStructure(mmdbid_q, index, 'query');
|
|
103806
|
+
}
|
|
103789
103807
|
|
|
103790
|
-
|
|
103808
|
+
let hAtomsAll = {};
|
|
103791
103809
|
|
|
103792
|
-
|
|
103793
|
-
|
|
103794
|
-
|
|
103795
|
-
|
|
103810
|
+
if(ic.bFullUi && ic.q_rotation !== undefined && !me.cfg.resnum && !me.cfg.resdef) {
|
|
103811
|
+
// set multiple sequence alignment from ic.qt_start_end
|
|
103812
|
+
hAtomsAll = this.setMsa(chainidArray);
|
|
103813
|
+
}
|
|
103796
103814
|
|
|
103797
|
-
|
|
103798
|
-
|
|
103799
|
-
|
|
103815
|
+
// highlight all aligned atoms
|
|
103816
|
+
//ic.hAtoms = me.hashUtilsCls.cloneHash(hAtomsTmp);
|
|
103817
|
+
ic.hAtoms = me.hashUtilsCls.cloneHash(hAtomsAll);
|
|
103800
103818
|
|
|
103801
|
-
|
|
103819
|
+
ic.transformCls.zoominSelection();
|
|
103802
103820
|
|
|
103803
|
-
|
|
103804
|
-
|
|
103821
|
+
// do the rest
|
|
103822
|
+
await this.downloadChainalignmentPart3(chainresiCalphaHash2, chainidArray, ic.hAtoms);
|
|
103823
|
+
}
|
|
103824
|
+
else {
|
|
103825
|
+
me.cfg.aligntool = 'tmalign';
|
|
103826
|
+
await ic.chainalignParserCls.downloadChainalignment(me.cfg.chainalign);
|
|
103827
|
+
}
|
|
103805
103828
|
}
|
|
103806
103829
|
|
|
103807
103830
|
setMsa(chainidArray, bVastplus, bRealign) { let ic = this.icn3d, me = ic.icn3dui;
|
|
@@ -103872,7 +103895,7 @@ class ChainalignParser {
|
|
|
103872
103895
|
|
|
103873
103896
|
let bNoAlert = true;
|
|
103874
103897
|
|
|
103875
|
-
let bAligned = this.processAlign(align, i, queryData, bEqualMmdbid, bEqualChain, bNoAlert);
|
|
103898
|
+
let bAligned = await this.processAlign(align, i, queryData, bEqualMmdbid, bEqualChain, bNoAlert);
|
|
103876
103899
|
|
|
103877
103900
|
if(bAligned) {
|
|
103878
103901
|
bFoundAlignment = true;
|
|
@@ -104364,7 +104387,7 @@ class ChainalignParser {
|
|
|
104364
104387
|
|
|
104365
104388
|
me.htmlCls.clickMenuCls.setLogCmd("Align " + mmdbid_t + " with " + mmdbid_q, false);
|
|
104366
104389
|
|
|
104367
|
-
this.processAlign(align, index-1, queryData, bEqualMmdbid, bEqualChain);
|
|
104390
|
+
await this.processAlign(align, index-1, queryData, bEqualMmdbid, bEqualChain, undefined);
|
|
104368
104391
|
}
|
|
104369
104392
|
}
|
|
104370
104393
|
}
|
|
@@ -104374,13 +104397,13 @@ class ChainalignParser {
|
|
|
104374
104397
|
await this.loadOpmDataForChainalign(targetData, queryDataArray, chainidArray, ic.mmdbidArray);
|
|
104375
104398
|
}
|
|
104376
104399
|
|
|
104377
|
-
processAlign(align, index, queryData, bEqualMmdbid, bEqualChain, bNoAlert) { let ic = this.icn3d, me = ic.icn3dui;
|
|
104400
|
+
async processAlign(align, index, queryData, bEqualMmdbid, bEqualChain, bNoAlert) { let ic = this.icn3d, me = ic.icn3dui;
|
|
104378
104401
|
let bAligned = false;
|
|
104379
104402
|
|
|
104380
|
-
if((
|
|
104381
|
-
let serverName = (me.cfg.aligntool == 'tmalign') ? 'TM-align' : 'VAST';
|
|
104382
|
-
|
|
104383
|
-
if(ic.bRender) var aaa = 1; //alert("These chains can not be aligned by " + serverName + ".");
|
|
104403
|
+
if((align === "error" || align === undefined || align.length == 0) && !bNoAlert) {
|
|
104404
|
+
// let serverName = (me.cfg.aligntool == 'tmalign') ? 'TM-align' : 'VAST';
|
|
104405
|
+
|
|
104406
|
+
// if(ic.bRender) var aaa = 1; //alert("These chains can not be aligned by " + serverName + ".");
|
|
104384
104407
|
return bAligned;
|
|
104385
104408
|
}
|
|
104386
104409
|
|
|
@@ -104529,7 +104552,6 @@ class ChainalignParser {
|
|
|
104529
104552
|
let structArrayTmp = idlist.split(',');
|
|
104530
104553
|
|
|
104531
104554
|
let structArray = [];
|
|
104532
|
-
|
|
104533
104555
|
// only when bNoDuplicate is undefined/false, it's allowed to load multiple copies of the same structure
|
|
104534
104556
|
if(!bNoDuplicate) {
|
|
104535
104557
|
structArray = this.addPostfixForStructureids(structArrayTmp);
|
|
@@ -104542,7 +104564,7 @@ class ChainalignParser {
|
|
|
104542
104564
|
if(!ic.structures.hasOwnProperty(id)) structArray.push(structArrayTmp[i]);
|
|
104543
104565
|
}
|
|
104544
104566
|
}
|
|
104545
|
-
|
|
104567
|
+
|
|
104546
104568
|
if(structArray.length == 0) return;
|
|
104547
104569
|
|
|
104548
104570
|
ic.structArray = ic.structArray.concat(structArray);
|
|
@@ -104642,6 +104664,8 @@ class ChainalignParser {
|
|
|
104642
104664
|
let bNoSeqalign = true;
|
|
104643
104665
|
let pdbid = structArray[i];
|
|
104644
104666
|
|
|
104667
|
+
if(queryDataArray[i].pdbId) queryDataArray[i].pdbId = pdbid;
|
|
104668
|
+
|
|
104645
104669
|
//hAtomsTmp contains all atoms
|
|
104646
104670
|
await ic.mmdbParserCls.parseMmdbData(queryDataArray[i], targetOrQuery, undefined, undefined, bLastQuery, bNoSeqalign, pdbid);
|
|
104647
104671
|
}
|
|
@@ -106218,7 +106242,7 @@ class MmdbParser {
|
|
|
106218
106242
|
return;
|
|
106219
106243
|
}
|
|
106220
106244
|
|
|
106221
|
-
if(Object.keys(data.atoms).length == 0) { // for large structures such as 3J3Q
|
|
106245
|
+
if(!data.atoms || Object.keys(data.atoms).length == 0) { // for large structures such as 3J3Q
|
|
106222
106246
|
// use mmtfid
|
|
106223
106247
|
let pdbid = data.pdbId;
|
|
106224
106248
|
await ic.bcifParserCls.downloadBcif(pdbid);
|
|
@@ -106228,6 +106252,7 @@ class MmdbParser {
|
|
|
106228
106252
|
|
|
106229
106253
|
let bCalphaOnly = me.utilsCls.isCalphaPhosOnly(data.atoms); //, 'CA');
|
|
106230
106254
|
|
|
106255
|
+
//if(!data.pdbId) data.pdbId = mmdbid;
|
|
106231
106256
|
if(bCalphaOnly || data.atomCount <= ic.maxatomcnt) {
|
|
106232
106257
|
await this.parseMmdbData(data);
|
|
106233
106258
|
}
|
|
@@ -106389,8 +106414,18 @@ class MmdbParser {
|
|
|
106389
106414
|
async parseMmdbData(data, type, chainid, chainIndex, bLastQuery, bNoTransformNoSeqalign, pdbidIn) { let ic = this.icn3d, me = ic.icn3dui;
|
|
106390
106415
|
let hAtoms;
|
|
106391
106416
|
let pdbid = (data.pdbId !== undefined) ? data.pdbId : data.mmdbId;
|
|
106417
|
+
if(!pdbid && chainid) {
|
|
106418
|
+
pdbid = chainid.substr(0, chainid.lastIndexOf('_'));
|
|
106419
|
+
}
|
|
106420
|
+
|
|
106392
106421
|
if(pdbidIn) pdbid = pdbidIn;
|
|
106393
106422
|
|
|
106423
|
+
// if(!data.atoms || Object.keys(data.atoms).length == 0) { // for large structures such as 3J3Q
|
|
106424
|
+
// ic.bRender = false;
|
|
106425
|
+
// await ic.bcifParserCls.downloadBcif(pdbid);
|
|
106426
|
+
// return;
|
|
106427
|
+
// }
|
|
106428
|
+
|
|
106394
106429
|
this.parseMmdbDataPart1(data, type);
|
|
106395
106430
|
|
|
106396
106431
|
if(type === undefined) { // default mmdbid input
|
|
@@ -108057,7 +108092,7 @@ class PdbParser {
|
|
|
108057
108092
|
}
|
|
108058
108093
|
|
|
108059
108094
|
// if(!ic.bSecondaryStructure && Object.keys(ic.proteins).length > 0) {
|
|
108060
|
-
if((!ic.bSecondaryStructure || bCalcSecondary) && Object.keys(ic.proteins).length > 0 && !bNoDssp) {
|
|
108095
|
+
if((!ic.bSecondaryStructure || bCalcSecondary) && Object.keys(ic.proteins).length > 0 && !bNoDssp) {
|
|
108061
108096
|
await this.applyCommandDssp(bAppend);
|
|
108062
108097
|
}
|
|
108063
108098
|
else {
|
|
@@ -110032,8 +110067,7 @@ class RealignParser {
|
|
|
110032
110067
|
// If rmsd from vastsrv is too large, realign the chains
|
|
110033
110068
|
//if(me.cfg.chainalign && !me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5) {
|
|
110034
110069
|
// redo algnment only for VAST serv page
|
|
110035
|
-
if(!me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5 && me.cfg.chainalign) {
|
|
110036
|
-
console.log("RMSD from VAST is larger than 5. Realign the chains with TM-align.");
|
|
110070
|
+
if(!me.cfg.usepdbnum && (me.cfg.resdef || me.cfg.resrange) && rmsd > 5 && me.cfg.chainalign) {
|
|
110037
110071
|
//let nameArray = me.cfg.chainalign.split(',');
|
|
110038
110072
|
let nameArray = Object.keys(chainidHash);
|
|
110039
110073
|
if(nameArray.length > 0) {
|
|
@@ -110285,15 +110319,30 @@ let resRangeArray = (me.cfg.resrange) ? decodeURIComponent(me.cfg.resrange).spli
|
|
|
110285
110319
|
if(bVastsearch && me.cfg.resrange) {
|
|
110286
110320
|
let resRangeArray = decodeURIComponent(me.cfg.resrange).split(' | ');
|
|
110287
110321
|
|
|
110288
|
-
let atomSet_t
|
|
110322
|
+
let atomSet_t;
|
|
110323
|
+
if(me.cfg.resrange) {
|
|
110324
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[0]], ic.chainidArray[0], true);
|
|
110325
|
+
atomSet_t = result.hAtoms;
|
|
110326
|
+
}
|
|
110327
|
+
else {
|
|
110328
|
+
atomSet_t = ic.chains[ic.chainidArray[0]];
|
|
110329
|
+
}
|
|
110330
|
+
|
|
110289
110331
|
for(let index = 1, indexl = ic.chainidArray.length; index < indexl; ++index) {
|
|
110290
|
-
let atomSet_q
|
|
110332
|
+
let atomSet_q;
|
|
110333
|
+
if(me.cfg.resrange) {
|
|
110334
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[index]], ic.chainidArray[index], true);
|
|
110335
|
+
atomSet_q = result.hAtoms;
|
|
110336
|
+
}
|
|
110337
|
+
else {
|
|
110338
|
+
atomSet_q = ic.chains[ic.chainidArray[index]];
|
|
110339
|
+
}
|
|
110291
110340
|
|
|
110292
110341
|
let alignAjax;
|
|
110293
110342
|
if(me.cfg.aligntool != 'tmalign') {
|
|
110294
110343
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(atomSet_q);
|
|
110295
110344
|
let jsonStr_t = ic.domain3dCls.getDomainJsonForAlign(atomSet_t);
|
|
110296
|
-
|
|
110345
|
+
|
|
110297
110346
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
110298
110347
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
110299
110348
|
}
|
|
@@ -110354,9 +110403,7 @@ let resRangeArray = (me.cfg.resrange) ? decodeURIComponent(me.cfg.resrange).spli
|
|
|
110354
110403
|
let alignAjax;
|
|
110355
110404
|
if(me.cfg.aligntool != 'tmalign') {
|
|
110356
110405
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(struct2domain[struct2][chainid2]);
|
|
110357
|
-
|
|
110358
|
-
console.log("@@@ jsonStr_q " + jsonStr_q);
|
|
110359
|
-
console.log("@@@ jsonStr_t " + jsonStr_t);
|
|
110406
|
+
|
|
110360
110407
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
110361
110408
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
110362
110409
|
}
|
|
@@ -110426,7 +110473,7 @@ console.log("@@@ jsonStr_t " + jsonStr_t);
|
|
|
110426
110473
|
|
|
110427
110474
|
if(me.cfg.aligntool != 'tmalign') {
|
|
110428
110475
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(chainid2domain[chainid2]);
|
|
110429
|
-
|
|
110476
|
+
|
|
110430
110477
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
110431
110478
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
110432
110479
|
}
|
|
@@ -110686,6 +110733,8 @@ console.log("@@@ jsonStr_t " + jsonStr_t);
|
|
|
110686
110733
|
let hAtoms = {};
|
|
110687
110734
|
|
|
110688
110735
|
for(let j = 0, jl = resiArray.length; j < jl; ++j) {
|
|
110736
|
+
if(!resiArray[j]) continue;
|
|
110737
|
+
|
|
110689
110738
|
if(resiArray[j].indexOf('-') != -1) {
|
|
110690
110739
|
let startEnd = resiArray[j].split('-');
|
|
110691
110740
|
for(let k = parseInt(startEnd[0]); k <= parseInt(startEnd[1]); ++k) {
|
|
@@ -115856,7 +115905,8 @@ class LoadPDB {
|
|
|
115856
115905
|
}
|
|
115857
115906
|
|
|
115858
115907
|
isSecondary(resid, residArray, bNMR, bNonFull) { let ic = this.icn3d; ic.icn3dui;
|
|
115859
|
-
|
|
115908
|
+
// still need to get the secondary info
|
|
115909
|
+
//if(bNonFull) return false;
|
|
115860
115910
|
|
|
115861
115911
|
if(!bNMR) {
|
|
115862
115912
|
return $.inArray(resid, residArray) != -1;
|
|
@@ -118226,16 +118276,18 @@ class ApplyCommand {
|
|
|
118226
118276
|
}
|
|
118227
118277
|
else if(command.indexOf('set background') == 0) {
|
|
118228
118278
|
let value = command.substr(command.lastIndexOf(' ') + 1);
|
|
118229
|
-
ic.
|
|
118279
|
+
ic.setStyleCls.setBackground(value);
|
|
118230
118280
|
|
|
118231
|
-
|
|
118232
|
-
|
|
118233
|
-
|
|
118234
|
-
|
|
118235
|
-
|
|
118236
|
-
|
|
118237
|
-
|
|
118238
|
-
|
|
118281
|
+
// ic.opts['background'] = value;
|
|
118282
|
+
|
|
118283
|
+
// if(value == 'black') {
|
|
118284
|
+
// $("#" + ic.pre + "title").css("color", me.htmlCls.GREYD);
|
|
118285
|
+
// $("#" + ic.pre + "titlelink").css("color", me.htmlCls.GREYD);
|
|
118286
|
+
// }
|
|
118287
|
+
// else {
|
|
118288
|
+
// $("#" + ic.pre + "title").css("color", "black");
|
|
118289
|
+
// $("#" + ic.pre + "titlelink").css("color", "black");
|
|
118290
|
+
// }
|
|
118239
118291
|
}
|
|
118240
118292
|
else if(command.indexOf('set label color') == 0) {
|
|
118241
118293
|
ic.labelcolor = command.substr(command.lastIndexOf(' ') + 1);
|
|
@@ -123762,29 +123814,29 @@ class Dssp {
|
|
|
123762
123814
|
|
|
123763
123815
|
setRefPdbs() { let ic = this.icn3d; ic.icn3dui;
|
|
123764
123816
|
// round 1, 16 templates
|
|
123765
|
-
ic.refpdbArray = ['1InsulinR_8guyE_human_FN3-n1', '
|
|
123817
|
+
ic.refpdbArray = ['1InsulinR_8guyE_human_FN3-n1', '1ICOS_6x4gA_human_V', '1FAB-LIGHT_5esv_C1-n2', '1CD2_1hnfA_human_C2-n2', '1ECadherin_4zt1A_human_n2', '1FAB-HEAVY_5esv_V-n1', '1PDL1_4z18B_human_V-n1', '1BTLA_2aw2A_human_Iset', '1LaminAC_1ifrA_human', '1CD3g_6jxrg_human_C2', '1CD28_1yjdC_human_V', '1CD19_6al5A_human-n1'];
|
|
123766
123818
|
|
|
123767
123819
|
// round 2
|
|
123768
123820
|
ic.refpdbHash = {};
|
|
123769
123821
|
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'];
|
|
123770
|
-
ic.refpdbHash['
|
|
123771
|
-
ic.refpdbHash['1CoAtomerGamma1_1r4xA_human'] = ['CoAtomerGamma1_1r4xA_human', 'TP34_2o6cA_bacteria'];
|
|
123772
|
-
ic.refpdbHash['1C3_2qkiD_human_n1'] = ['C3_2qkiD_human_n1', '
|
|
123773
|
-
ic.refpdbHash['1CuZnSuperoxideDismutase_1hl5C_human'] = ['
|
|
123774
|
-
ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human', '
|
|
123822
|
+
ic.refpdbHash['1ICOS_6x4gA_human_V'] = ['ICOS_6x4gA_human_V'];
|
|
123823
|
+
//ic.refpdbHash['1CoAtomerGamma1_1r4xA_human'] = ['CoAtomerGamma1_1r4xA_human', 'TP34_2o6cA_bacteria'];
|
|
123824
|
+
//ic.refpdbHash['1C3_2qkiD_human_n1'] = ['C3_2qkiD_human_n1', 'RBPJ_6py8C_human_Unk-n1'];
|
|
123825
|
+
//ic.refpdbHash['1CuZnSuperoxideDismutase_1hl5C_human'] = ['TEAD1_3kysC_human'];
|
|
123826
|
+
//ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human', 'TP47_1o75A_bacteria'];
|
|
123775
123827
|
ic.refpdbHash['1FAB-LIGHT_5esv_C1-n2'] = ['FAB-LIGHT_5esv_C1-n2', 'GHR_1axiB_human_C1-n1', 'VTCN1_Q7Z7D3_human_C1-n2', 'B2Microglobulin_7phrL_human_C1', 'FAB-HEAVY_5esv_C1-n2', 'MHCIa_7phrH_human_C1'];
|
|
123776
123828
|
ic.refpdbHash['1CD2_1hnfA_human_C2-n2'] = ['CD2_1hnfA_human_C2-n2', 'Siglec3_5j0bB_human_C1-n2'];
|
|
123777
|
-
ic.refpdbHash['
|
|
123778
|
-
ic.refpdbHash['1NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
123829
|
+
ic.refpdbHash['1ECadherin_4zt1A_human_n2'] = ['ECadherin_4zt1A_human_n2'];
|
|
123830
|
+
//ic.refpdbHash['1NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
123779
123831
|
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'];
|
|
123780
123832
|
ic.refpdbHash['1PDL1_4z18B_human_V-n1'] = ['PDL1_4z18B_human_V-n1', 'CD2_1hnfA_human_V-n1', 'LAG3_7tzgD_human_V-n1'];
|
|
123781
123833
|
ic.refpdbHash['1BTLA_2aw2A_human_Iset'] = ['BTLA_2aw2A_human_Iset', 'Palladin_2dm3A_human_Iset-n1', 'Titin_4uowM_human_Iset-n152', 'LAG3_7tzgD_human_C1-n2', 'JAM1_1nbqA_human_Iset-n2', 'Contactin1_3s97C_human_Iset-n2'];
|
|
123782
123834
|
ic.refpdbHash['1LaminAC_1ifrA_human'] = ['LaminAC_1ifrA_human', 'CD3d_6jxrd_human_C1'];
|
|
123783
|
-
ic.refpdbHash['1CD3g_6jxrg_human_C2'] = ['CD3g_6jxrg_human_C2', 'TCRa_6jxrm_human_C1-n2'
|
|
123784
|
-
ic.refpdbHash['1CD28_1yjdC_human_V'] = ['CD28_1yjdC_human_V', '
|
|
123835
|
+
ic.refpdbHash['1CD3g_6jxrg_human_C2'] = ['CD3g_6jxrg_human_C2', 'TCRa_6jxrm_human_C1-n2'];
|
|
123836
|
+
ic.refpdbHash['1CD28_1yjdC_human_V'] = ['CD28_1yjdC_human_V', 'CD3e_6jxrf_human_C1'];
|
|
123785
123837
|
ic.refpdbHash['1CD19_6al5A_human-n1'] = ['CD19_6al5A_human-n1'];
|
|
123786
123838
|
|
|
123787
|
-
ic.refpdbHash['all_templates'] = ['
|
|
123839
|
+
ic.refpdbHash['all_templates'] = ['B2Microglobulin_7phrL_human_C1', 'BTLA_2aw2A_human_Iset', 'CD19_6al5A_human-n1', 'CD28_1yjdC_human_V', 'CD2_1hnfA_human_C2-n2', 'CD2_1hnfA_human_V-n1', 'CD3d_6jxrd_human_C1', 'CD3e_6jxrf_human_C1', 'CD3g_6jxrg_human_C2', 'CD8a_1cd8A_human_V', 'Contactin1_2ee2A_human_FN3-n9', 'Contactin1_3s97C_human_Iset-n2', 'ECadherin_4zt1A_human_n2', 'FAB-HEAVY_5esv_C1-n2', 'FAB-HEAVY_5esv_V-n1', 'FAB-LIGHT_5esv_C1-n2', 'FAB-LIGHT_5esv_V-n1', 'GHR_1axiB_human_C1-n1', 'ICOS_6x4gA_human_V', 'IL6Rb_1bquB_human_FN3-n2', 'IL6Rb_1bquB_human_FN3-n3', 'InsulinR_8guyE_human_FN3-n1', 'InsulinR_8guyE_human_FN3-n2', 'JAM1_1nbqA_human_Iset-n2', 'LAG3_7tzgD_human_C1-n2', 'LAG3_7tzgD_human_V-n1', 'LaminAC_1ifrA_human', 'MHCIa_7phrH_human_C1', 'PD1_4zqkB_human_V', 'PDL1_4z18B_human_V-n1', 'Palladin_2dm3A_human_Iset-n1', 'Sidekick2_1wf5A_human_FN3-n7', 'Siglec3_5j0bB_human_C1-n2', 'TCRa_6jxrm_human_C1-n2', 'TCRa_6jxrm_human_V-n1', 'Titin_4uowM_human_Iset-n152', 'VISTA_6oilA_human_V', 'VNAR_1t6vN_shark_V', 'VTCN1_Q7Z7D3_human_C1-n2'];
|
|
123788
123840
|
|
|
123789
123841
|
// use known ref structure
|
|
123790
123842
|
ic.refpdbHash['5ESV_C'] = ['FAB-HEAVY_5esv_V-n1', 'FAB-HEAVY_5esv_C1-n2'];
|
|
@@ -123793,36 +123845,36 @@ class Dssp {
|
|
|
123793
123845
|
ic.refpdbHash['6JXR_m'] = ['TCRa_6jxrm_human_V-n1', 'TCRa_6jxrm_human_C1-n2'];
|
|
123794
123846
|
ic.refpdbHash['1HNF_A'] = ['CD2_1hnfA_human_V-n1', 'CD2_1hnfA_human_C2-n2'];
|
|
123795
123847
|
ic.refpdbHash['7TZG_D'] = ['LAG3_7tzgD_human_V-n1', 'LAG3_7tzgD_human_C1-n2'];
|
|
123796
|
-
ic.refpdbHash['6PY8_C'] = ['RBPJ_6py8C_human_Unk-n1'
|
|
123848
|
+
//ic.refpdbHash['6PY8_C'] = ['RBPJ_6py8C_human_Unk-n1'];
|
|
123797
123849
|
ic.refpdbHash['1BQU_B'] = ['IL6Rb_1bquB_human_FN3-n2', 'IL6Rb_1bquB_human_FN3-n3'];
|
|
123798
123850
|
|
|
123799
|
-
ic.refpdbHash['1R4X_A'] = ['CoAtomerGamma1_1r4xA_human'];
|
|
123851
|
+
//ic.refpdbHash['1R4X_A'] = ['CoAtomerGamma1_1r4xA_human'];
|
|
123800
123852
|
ic.refpdbHash['6OIL_A'] = ['VISTA_6oilA_human_V'];
|
|
123801
|
-
ic.refpdbHash['2ZXE_B'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
123802
|
-
ic.refpdbHash['1I8A_A'] = ['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'];
|
|
123803
|
-
ic.refpdbHash['2FWU_A'] = ['NaCaExchanger_2fwuA_dog_n2'];
|
|
123804
|
-
ic.refpdbHash['4JQI_A'] = ['BArrestin1_4jqiA_rat_n1'];
|
|
123853
|
+
//ic.refpdbHash['2ZXE_B'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
123854
|
+
//ic.refpdbHash['1I8A_A'] = ['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'];
|
|
123855
|
+
//ic.refpdbHash['2FWU_A'] = ['NaCaExchanger_2fwuA_dog_n2'];
|
|
123856
|
+
//ic.refpdbHash['4JQI_A'] = ['BArrestin1_4jqiA_rat_n1'];
|
|
123805
123857
|
ic.refpdbHash['1NBQ_A'] = ['JAM1_1nbqA_human_Iset-n2'];
|
|
123806
|
-
ic.refpdbHash['1O75_A'] = ['TP47_1o75A_bacteria'];
|
|
123858
|
+
//ic.refpdbHash['1O75_A'] = ['TP47_1o75A_bacteria'];
|
|
123807
123859
|
ic.refpdbHash['7PHR_H'] = ['MHCIa_7phrH_human_C1'];
|
|
123808
|
-
ic.refpdbHash['2IIJ_A'] = ['ASF1A_2iijA_human'];
|
|
123860
|
+
//ic.refpdbHash['2IIJ_A'] = ['ASF1A_2iijA_human'];
|
|
123809
123861
|
ic.refpdbHash['4Z18_B'] = ['PDL1_4z18B_human_V-n1'];
|
|
123810
123862
|
ic.refpdbHash['1T6V_N'] = ['VNAR_1t6vN_shark_V'];
|
|
123811
|
-
ic.refpdbHash['2O6C_A'] = ['TP34_2o6cA_bacteria'];
|
|
123812
|
-
ic.refpdbHash['3KYS_C'] = ['TEAD1_3kysC_human'];
|
|
123863
|
+
//ic.refpdbHash['2O6C_A'] = ['TP34_2o6cA_bacteria'];
|
|
123864
|
+
//ic.refpdbHash['3KYS_C'] = ['TEAD1_3kysC_human'];
|
|
123813
123865
|
ic.refpdbHash['7PHR_L'] = ['B2Microglobulin_7phrL_human_C1'];
|
|
123814
123866
|
ic.refpdbHash['2AW2_A'] = ['BTLA_2aw2A_human_Iset'];
|
|
123815
|
-
ic.refpdbHash['1HL5_C'] = ['CuZnSuperoxideDismutase_1hl5C_human'];
|
|
123867
|
+
//ic.refpdbHash['1HL5_C'] = ['CuZnSuperoxideDismutase_1hl5C_human'];
|
|
123816
123868
|
ic.refpdbHash['1WF5_A'] = ['Sidekick2_1wf5A_human_FN3-n7'];
|
|
123817
123869
|
ic.refpdbHash['5J0B_B'] = ['Siglec3_5j0bB_human_C1-n2'];
|
|
123818
123870
|
ic.refpdbHash['1IFR_A'] = ['LaminAC_1ifrA_human'];
|
|
123819
123871
|
ic.refpdbHash['Q7Z7D3_A'] = ['VTCN1_Q7Z7D3_human_C1-n2'];
|
|
123820
123872
|
ic.refpdbHash['4ZQK_B'] = ['PD1_4zqkB_human_V'];
|
|
123821
123873
|
ic.refpdbHash['2DM3_A'] = ['Palladin_2dm3A_human_Iset-n1'];
|
|
123822
|
-
ic.refpdbHash['2ITE_A'] = ['IsdA_2iteA_bacteria'];
|
|
123823
|
-
ic.refpdbHash['1XAK_A'] = ['ORF7a_1xakA_virus'];
|
|
123874
|
+
//ic.refpdbHash['2ITE_A'] = ['IsdA_2iteA_bacteria'];
|
|
123875
|
+
//ic.refpdbHash['1XAK_A'] = ['ORF7a_1xakA_virus'];
|
|
123824
123876
|
ic.refpdbHash['4ZT1_A'] = ['ECadherin_4zt1A_human_n2'];
|
|
123825
|
-
ic.refpdbHash['1LMI_A'] = ['MPT63_1lmiA_bacteria'];
|
|
123877
|
+
//ic.refpdbHash['1LMI_A'] = ['MPT63_1lmiA_bacteria'];
|
|
123826
123878
|
ic.refpdbHash['1CD8_A'] = ['CD8a_1cd8A_human_V'];
|
|
123827
123879
|
ic.refpdbHash['3S97_C'] = ['Contactin1_3s97C_human_Iset-n2'];
|
|
123828
123880
|
ic.refpdbHash['1AXI_B'] = ['GHR_1axiB_human_C1-n1'];
|
|
@@ -123830,7 +123882,7 @@ class Dssp {
|
|
|
123830
123882
|
ic.refpdbHash['2EE2_A'] = ['Contactin1_2ee2A_human_FN3-n9'];
|
|
123831
123883
|
ic.refpdbHash['4UOW_M'] = ['Titin_4uowM_human_Iset-n152'];
|
|
123832
123884
|
ic.refpdbHash['6A15_A'] = ['CD19_6al5A_human-n1'];
|
|
123833
|
-
ic.refpdbHash['2QKI_D'] = ['C3_2qkiD_human_n1'];
|
|
123885
|
+
//ic.refpdbHash['2QKI_D'] = ['C3_2qkiD_human_n1'];
|
|
123834
123886
|
ic.refpdbHash['1YJD_C'] = ['CD28_1yjdC_human_V'];
|
|
123835
123887
|
ic.refpdbHash['6JXR_d'] = ['CD3d_6jxrd_human_C1'];
|
|
123836
123888
|
ic.refpdbHash['6JXR_f'] = ['CD3e_6jxrf_human_C1'];
|
|
@@ -123839,11 +123891,11 @@ class Dssp {
|
|
|
123839
123891
|
// assign Ig types
|
|
123840
123892
|
ic.ref2igtype = {};
|
|
123841
123893
|
|
|
123842
|
-
ic.ref2igtype['ASF1A_2iijA_human'] = 'IgFN3-like';
|
|
123894
|
+
//ic.ref2igtype['ASF1A_2iijA_human'] = 'IgFN3-like';
|
|
123843
123895
|
ic.ref2igtype['B2Microglobulin_7phrL_human_C1'] = 'IgC1';
|
|
123844
|
-
ic.ref2igtype['BArrestin1_4jqiA_rat_n1'] = 'IgFN3-like';
|
|
123896
|
+
//ic.ref2igtype['BArrestin1_4jqiA_rat_n1'] = 'IgFN3-like';
|
|
123845
123897
|
ic.ref2igtype['BTLA_2aw2A_human_Iset'] = 'IgI';
|
|
123846
|
-
ic.ref2igtype['C3_2qkiD_human_n1'] = 'IgFN3-like';
|
|
123898
|
+
//ic.ref2igtype['C3_2qkiD_human_n1'] = 'IgFN3-like';
|
|
123847
123899
|
ic.ref2igtype['CD19_6al5A_human-n1'] = 'CD19';
|
|
123848
123900
|
ic.ref2igtype['CD28_1yjdC_human_V'] = 'IgV';
|
|
123849
123901
|
ic.ref2igtype['CD2_1hnfA_human_C2-n2'] = 'IgC2';
|
|
@@ -123852,12 +123904,12 @@ class Dssp {
|
|
|
123852
123904
|
ic.ref2igtype['CD3e_6jxrf_human_C1'] = 'IgC1';
|
|
123853
123905
|
ic.ref2igtype['CD3g_6jxrg_human_C2'] = 'IgC2';
|
|
123854
123906
|
ic.ref2igtype['CD8a_1cd8A_human_V'] = 'IgV';
|
|
123855
|
-
ic.ref2igtype['CoAtomerGamma1_1r4xA_human'] = 'IgE';
|
|
123907
|
+
//ic.ref2igtype['CoAtomerGamma1_1r4xA_human'] = 'IgE';
|
|
123856
123908
|
ic.ref2igtype['Contactin1_2ee2A_human_FN3-n9'] = 'IgFN3';
|
|
123857
123909
|
ic.ref2igtype['Contactin1_3s97C_human_Iset-n2'] = 'IgI';
|
|
123858
|
-
ic.ref2igtype['CuZnSuperoxideDismutase_1hl5C_human'] = 'SOD';
|
|
123910
|
+
//ic.ref2igtype['CuZnSuperoxideDismutase_1hl5C_human'] = 'SOD';
|
|
123859
123911
|
ic.ref2igtype['ECadherin_4zt1A_human_n2'] = 'Cadherin';
|
|
123860
|
-
ic.ref2igtype['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = 'IgE';
|
|
123912
|
+
//ic.ref2igtype['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = 'IgE';
|
|
123861
123913
|
ic.ref2igtype['FAB-HEAVY_5esv_C1-n2'] = 'IgC1';
|
|
123862
123914
|
ic.ref2igtype['FAB-HEAVY_5esv_V-n1'] = 'IgV';
|
|
123863
123915
|
ic.ref2igtype['FAB-LIGHT_5esv_C1-n2'] = 'IgC1';
|
|
@@ -123868,28 +123920,28 @@ class Dssp {
|
|
|
123868
123920
|
ic.ref2igtype['IL6Rb_1bquB_human_FN3-n3'] = 'IgFN3';
|
|
123869
123921
|
ic.ref2igtype['InsulinR_8guyE_human_FN3-n1'] = 'IgFN3';
|
|
123870
123922
|
ic.ref2igtype['InsulinR_8guyE_human_FN3-n2'] = 'IgFN3';
|
|
123871
|
-
ic.ref2igtype['IsdA_2iteA_bacteria'] = 'IgE';
|
|
123923
|
+
//ic.ref2igtype['IsdA_2iteA_bacteria'] = 'IgE';
|
|
123872
123924
|
ic.ref2igtype['JAM1_1nbqA_human_Iset-n2'] = 'IgI';
|
|
123873
123925
|
ic.ref2igtype['LAG3_7tzgD_human_C1-n2'] = 'IgC1';
|
|
123874
123926
|
ic.ref2igtype['LAG3_7tzgD_human_V-n1'] = 'IgV';
|
|
123875
123927
|
ic.ref2igtype['LaminAC_1ifrA_human'] = 'Lamin';
|
|
123876
123928
|
ic.ref2igtype['MHCIa_7phrH_human_C1'] = 'IgC1';
|
|
123877
|
-
ic.ref2igtype['MPT63_1lmiA_bacteria'] = 'IgFN3-like';
|
|
123878
|
-
ic.ref2igtype['NaCaExchanger_2fwuA_dog_n2'] = 'IgFN3-like';
|
|
123879
|
-
ic.ref2igtype['NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = 'IgE';
|
|
123880
|
-
ic.ref2igtype['ORF7a_1xakA_virus'] = 'ORF';
|
|
123929
|
+
//ic.ref2igtype['MPT63_1lmiA_bacteria'] = 'IgFN3-like';
|
|
123930
|
+
//ic.ref2igtype['NaCaExchanger_2fwuA_dog_n2'] = 'IgFN3-like';
|
|
123931
|
+
//ic.ref2igtype['NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = 'IgE';
|
|
123932
|
+
//ic.ref2igtype['ORF7a_1xakA_virus'] = 'ORF';
|
|
123881
123933
|
ic.ref2igtype['PD1_4zqkB_human_V'] = 'IgV';
|
|
123882
123934
|
ic.ref2igtype['PDL1_4z18B_human_V-n1'] = 'IgV';
|
|
123883
123935
|
ic.ref2igtype['Palladin_2dm3A_human_Iset-n1'] = 'IgI';
|
|
123884
|
-
ic.ref2igtype['RBPJ_6py8C_human_Unk-n1'] = 'IgFN3-like';
|
|
123936
|
+
//ic.ref2igtype['RBPJ_6py8C_human_Unk-n1'] = 'IgFN3-like';
|
|
123885
123937
|
//ic.ref2igtype['RBPJ_6py8C_human_Unk-n2'] = 'IgFN3-like';
|
|
123886
123938
|
ic.ref2igtype['Sidekick2_1wf5A_human_FN3-n7'] = 'IgFN3';
|
|
123887
123939
|
ic.ref2igtype['Siglec3_5j0bB_human_C1-n2'] = 'IgC1';
|
|
123888
123940
|
ic.ref2igtype['TCRa_6jxrm_human_C1-n2'] = 'IgC1';
|
|
123889
123941
|
ic.ref2igtype['TCRa_6jxrm_human_V-n1'] = 'IgV';
|
|
123890
|
-
ic.ref2igtype['TEAD1_3kysC_human'] = 'IgFN3-like';
|
|
123891
|
-
ic.ref2igtype['TP34_2o6cA_bacteria'] = 'IgE';
|
|
123892
|
-
ic.ref2igtype['TP47_1o75A_bacteria'] = 'IgE';
|
|
123942
|
+
//ic.ref2igtype['TEAD1_3kysC_human'] = 'IgFN3-like';
|
|
123943
|
+
//ic.ref2igtype['TP34_2o6cA_bacteria'] = 'IgE';
|
|
123944
|
+
//ic.ref2igtype['TP47_1o75A_bacteria'] = 'IgE';
|
|
123893
123945
|
ic.ref2igtype['Titin_4uowM_human_Iset-n152'] = 'IgI';
|
|
123894
123946
|
ic.ref2igtype['VISTA_6oilA_human_V'] = 'IgV';
|
|
123895
123947
|
ic.ref2igtype['VNAR_1t6vN_shark_V'] = 'IgV';
|
|
@@ -125440,6 +125492,7 @@ class Dssp {
|
|
|
125440
125492
|
}
|
|
125441
125493
|
else {
|
|
125442
125494
|
let bBefore = false, bInRange= false, bAfter = false;
|
|
125495
|
+
/*
|
|
125443
125496
|
// 100, 100A
|
|
125444
125497
|
if(parseInt(currResi) == parseInt(strandArray[strandCnt].startResi) && currResi != strandArray[strandCnt].startResi) {
|
|
125445
125498
|
bBefore = currResi < strandArray[strandCnt].startResi;
|
|
@@ -125455,6 +125508,14 @@ class Dssp {
|
|
|
125455
125508
|
else {
|
|
125456
125509
|
bAfter = parseInt(currResi) > parseInt(strandArray[strandCnt].endResi);
|
|
125457
125510
|
}
|
|
125511
|
+
*/
|
|
125512
|
+
|
|
125513
|
+
let currResiNcbi = ic.ParserUtilsCls.getResiNCBI(chnid, currResi);
|
|
125514
|
+
let startResiNcbi = ic.ParserUtilsCls.getResiNCBI(chnid, strandArray[strandCnt].startResi);
|
|
125515
|
+
let endResiNcbi = ic.ParserUtilsCls.getResiNCBI(chnid, strandArray[strandCnt].endResi);
|
|
125516
|
+
|
|
125517
|
+
bBefore = parseInt(currResiNcbi) < parseInt(startResiNcbi);
|
|
125518
|
+
bAfter = parseInt(currResiNcbi) > parseInt(endResiNcbi);
|
|
125458
125519
|
|
|
125459
125520
|
bInRange = (!bBefore && !bAfter) ? true : false;
|
|
125460
125521
|
|
|
@@ -131273,8 +131334,9 @@ class ShareLink {
|
|
|
131273
131334
|
}
|
|
131274
131335
|
|
|
131275
131336
|
let paraHash = {};
|
|
131276
|
-
|
|
131277
|
-
|
|
131337
|
+
/*
|
|
131338
|
+
for(let key in me.cfg) {
|
|
131339
|
+
let value = me.cfg[key];
|
|
131278
131340
|
//if(key === 'inpara' || ic.key === 'command' || value === undefined) continue;
|
|
131279
131341
|
if(key === 'inpara' || key === 'command' || key === 'usepdbnum'
|
|
131280
131342
|
|| key === 'date' || key === 'v' || value === undefined) continue;
|
|
@@ -131324,7 +131386,7 @@ class ShareLink {
|
|
|
131324
131386
|
paraHash[key] = value;
|
|
131325
131387
|
}
|
|
131326
131388
|
}
|
|
131327
|
-
|
|
131389
|
+
*/
|
|
131328
131390
|
if(ic.bAfMem) {
|
|
131329
131391
|
paraHash['afmem'] = 'on';
|
|
131330
131392
|
}
|
|
@@ -131346,6 +131408,12 @@ class ShareLink {
|
|
|
131346
131408
|
if(key_value.length == 2) paraHash[key_value[0]] = key_value[1];
|
|
131347
131409
|
}
|
|
131348
131410
|
|
|
131411
|
+
// BLAST RID is usually added at the end of the URL. It should be included.
|
|
131412
|
+
if(me.cfg.rid && !paraHash['RID']) {
|
|
131413
|
+
url += 'RID=' + me.cfg.rid + '&';
|
|
131414
|
+
}
|
|
131415
|
+
|
|
131416
|
+
// sometimes idname is not part of the URL
|
|
131349
131417
|
if(me.cfg.idname && !paraHash[me.cfg.idname]) { // somehow it is not included
|
|
131350
131418
|
url += me.cfg.idname + '=' + me.cfg.idvalue + '&';
|
|
131351
131419
|
}
|
|
@@ -134459,7 +134527,7 @@ class iCn3DUI {
|
|
|
134459
134527
|
//even when multiple iCn3D viewers are shown together.
|
|
134460
134528
|
this.pre = this.cfg.divid + "_";
|
|
134461
134529
|
|
|
134462
|
-
this.REVISION = '3.
|
|
134530
|
+
this.REVISION = '3.48.1';
|
|
134463
134531
|
|
|
134464
134532
|
// In nodejs, iCn3D defines "window = {navigator: {}}", and added window = {navigator: {}, "__THREE__":"177"}
|
|
134465
134533
|
this.bNode = (Object.keys(window).length < 3) ? true : false;
|
|
@@ -134661,14 +134729,8 @@ iCn3DUI.prototype.show3DStructure = async function(pdbStr) { let me = this;
|
|
|
134661
134729
|
let domainidArray = me.cfg.matchedchains.split(',');
|
|
134662
134730
|
let chainidArray = [];
|
|
134663
134731
|
for(let i = 0, il = domainidArray.length; i < il; ++i) {
|
|
134664
|
-
let
|
|
134665
|
-
|
|
134666
|
-
if(!isNaN(lastId)) { // lastId is domain id
|
|
134667
|
-
chainidArray.push(domainidArray[i].substr(0, pos));
|
|
134668
|
-
}
|
|
134669
|
-
else {
|
|
134670
|
-
chainidArray.push(domainidArray[i]);
|
|
134671
|
-
}
|
|
134732
|
+
let idArray = domainidArray[i].split('_');
|
|
134733
|
+
chainidArray.push(idArray[0] + '_' + idArray[1]);
|
|
134672
134734
|
}
|
|
134673
134735
|
|
|
134674
134736
|
// get the matched structures, do not include the template
|
|
@@ -134897,6 +134959,9 @@ iCn3DUI.prototype.show3DStructure = async function(pdbStr) { let me = this;
|
|
|
134897
134959
|
if(me.cfg.align.indexOf('185055,') != -1) {
|
|
134898
134960
|
me.cfg.align = me.cfg.align.replace('185055,', '199731,'); //the mmdbid of PDB 6M17 was changed from 185055 to 199731
|
|
134899
134961
|
}
|
|
134962
|
+
else if(me.cfg.align == '54567,1,12161,1,2,1') {
|
|
134963
|
+
me.cfg.align = '3HHR,1BQU'; // somehow the VAST+ data for this published alignment were not there anymore
|
|
134964
|
+
}
|
|
134900
134965
|
|
|
134901
134966
|
let alignArray = me.cfg.align.split(','); // e.g., 6 IDs: 103701,1,4,68563,1,167 [mmdbid1,biounit,molecule,mmdbid2,biounit,molecule], or 2IDs: 103701,68563 [mmdbid1,mmdbid2]
|
|
134902
134967
|
|