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.module.js
CHANGED
|
@@ -63994,20 +63994,20 @@ class SetDialog {
|
|
|
63994
63994
|
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'];
|
|
63995
63995
|
group2tpl['IgC2'] = ['CD2_1hnfA_human_C2-n2', 'CD3g_6jxrg_human_C2'];
|
|
63996
63996
|
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'];
|
|
63997
|
-
group2tpl['IgE'] = ['CoAtomerGamma1_1r4xA_human', 'Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'IsdA_2iteA_bacteria', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark', 'TP34_2o6cA_bacteria', 'TP47_1o75A_bacteria'];
|
|
63997
|
+
//group2tpl['IgE'] = ['CoAtomerGamma1_1r4xA_human', 'Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4', 'IsdA_2iteA_bacteria', 'NaKATPaseTransporterBeta_2zxeB_spurdogshark', 'TP34_2o6cA_bacteria', 'TP47_1o75A_bacteria'];
|
|
63998
63998
|
|
|
63999
63999
|
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'];
|
|
64000
64000
|
|
|
64001
|
-
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'];
|
|
64001
|
+
//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'];
|
|
64002
64002
|
|
|
64003
|
-
group2tpl['Other Ig'] = ['CD19_6al5A_human-n1', '
|
|
64003
|
+
group2tpl['Other Ig'] = ['CD19_6al5A_human-n1', 'ECadherin_4zt1A_human_n2', 'LaminAC_1ifrA_human'];
|
|
64004
64004
|
|
|
64005
64005
|
let tpl2strandsig = {};
|
|
64006
|
-
tpl2strandsig['ASF1A_2iijA_human'] = "A A' B C C' E F G G+";
|
|
64006
|
+
//tpl2strandsig['ASF1A_2iijA_human'] = "A A' B C C' E F G G+";
|
|
64007
64007
|
tpl2strandsig['B2Microglobulin_7phrL_human_C1'] = "A B C C' D E F G";
|
|
64008
|
-
tpl2strandsig['BArrestin1_4jqiA_rat_n1'] = "A- A A' B C C' E F G";
|
|
64008
|
+
//tpl2strandsig['BArrestin1_4jqiA_rat_n1'] = "A- A A' B C C' E F G";
|
|
64009
64009
|
tpl2strandsig['BTLA_2aw2A_human_Iset'] = "A A' B C C' D E F G";
|
|
64010
|
-
tpl2strandsig['C3_2qkiD_human_n1'] = "A A' B C C' E F G";
|
|
64010
|
+
//tpl2strandsig['C3_2qkiD_human_n1'] = "A A' B C C' E F G";
|
|
64011
64011
|
tpl2strandsig['CD19_6al5A_human-n1'] = "A' B C C' D E F G";
|
|
64012
64012
|
tpl2strandsig['CD28_1yjdC_human_V'] = "A A' B C C' C'' D E F G";
|
|
64013
64013
|
tpl2strandsig['CD2_1hnfA_human_C2-n2'] = "A B C C' E F G";
|
|
@@ -64016,12 +64016,12 @@ class SetDialog {
|
|
|
64016
64016
|
tpl2strandsig['CD3e_6jxrf_human_C1'] = "A B C C' D E F G";
|
|
64017
64017
|
tpl2strandsig['CD3g_6jxrg_human_C2'] = "A B C C' E F G G+";
|
|
64018
64018
|
tpl2strandsig['CD8a_1cd8A_human_V'] = "A A' B C C' C'' D E F G";
|
|
64019
|
-
tpl2strandsig['CoAtomerGamma1_1r4xA_human'] = "A- A B C D E F G";
|
|
64019
|
+
//tpl2strandsig['CoAtomerGamma1_1r4xA_human'] = "A- A B C D E F G";
|
|
64020
64020
|
tpl2strandsig['Contactin1_2ee2A_human_FN3-n9'] = "A A' B C C' E F G";
|
|
64021
64021
|
tpl2strandsig['Contactin1_3s97C_human_Iset-n2'] = "A A' B C D E F G";
|
|
64022
|
-
tpl2strandsig['CuZnSuperoxideDismutase_1hl5C_human'] = "A- A B C C' E F G";
|
|
64022
|
+
//tpl2strandsig['CuZnSuperoxideDismutase_1hl5C_human'] = "A- A B C C' E F G";
|
|
64023
64023
|
tpl2strandsig['ECadherin_4zt1A_human_n2'] = "A' B C D E F G";
|
|
64024
|
-
tpl2strandsig['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = "A--- A-- A- A B C C' C'' D E F G";
|
|
64024
|
+
//tpl2strandsig['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = "A--- A-- A- A B C C' C'' D E F G";
|
|
64025
64025
|
tpl2strandsig['FAB-HEAVY_5esv_C1-n2'] = "A B C D E F G";
|
|
64026
64026
|
tpl2strandsig['FAB-HEAVY_5esv_V-n1'] = "A B C C' C'' D E F G";
|
|
64027
64027
|
tpl2strandsig['FAB-LIGHT_5esv_C1-n2'] = "A B C C' D E F G";
|
|
@@ -64032,28 +64032,28 @@ class SetDialog {
|
|
|
64032
64032
|
tpl2strandsig['IL6Rb_1bquB_human_FN3-n3'] = "A B C C' E F G";
|
|
64033
64033
|
tpl2strandsig['InsulinR_8guyE_human_FN3-n1'] = "A B C C' E F G";
|
|
64034
64034
|
tpl2strandsig['InsulinR_8guyE_human_FN3-n2'] = "A B C C' E F G";
|
|
64035
|
-
tpl2strandsig['IsdA_2iteA_bacteria'] = "A- A B C C' D E F G";
|
|
64035
|
+
//tpl2strandsig['IsdA_2iteA_bacteria'] = "A- A B C C' D E F G";
|
|
64036
64036
|
tpl2strandsig['JAM1_1nbqA_human_Iset-n2'] = "A A' B C C' D E F G";
|
|
64037
64037
|
tpl2strandsig['LAG3_7tzgD_human_C1-n2'] = "A A' B C C' D E F G";
|
|
64038
64038
|
tpl2strandsig['LAG3_7tzgD_human_V-n1'] = "A' B C C' D E F G";
|
|
64039
64039
|
tpl2strandsig['LaminAC_1ifrA_human'] = "A- A B C C' E E+ F G";
|
|
64040
64040
|
tpl2strandsig['MHCIa_7phrH_human_C1'] = "A B C C' D E F G";
|
|
64041
|
-
tpl2strandsig['MPT63_1lmiA_bacteria'] = "A-- A- A BC C' E F G";
|
|
64042
|
-
tpl2strandsig['NaCaExchanger_2fwuA_dog_n2'] = "A A' B C C' E F G";
|
|
64043
|
-
tpl2strandsig['NaKATPaseTransporterBeta_2zxeB_spurdogshark']= "A A' B C D E F G";
|
|
64044
|
-
tpl2strandsig['ORF7a_1xakA_virus'] = "A' B C D E F G";
|
|
64041
|
+
//tpl2strandsig['MPT63_1lmiA_bacteria'] = "A-- A- A BC C' E F G";
|
|
64042
|
+
//tpl2strandsig['NaCaExchanger_2fwuA_dog_n2'] = "A A' B C C' E F G";
|
|
64043
|
+
//tpl2strandsig['NaKATPaseTransporterBeta_2zxeB_spurdogshark']= "A A' B C D E F G";
|
|
64044
|
+
//tpl2strandsig['ORF7a_1xakA_virus'] = "A' B C D E F G";
|
|
64045
64045
|
tpl2strandsig['PD1_4zqkB_human_V'] = "A A' B C C' D E F G";
|
|
64046
64046
|
tpl2strandsig['PDL1_4z18B_human_V-n1'] = "A A' B C C' C'' D E F G";
|
|
64047
64047
|
tpl2strandsig['Palladin_2dm3A_human_Iset-n1'] = "A A' B C C' D E F G";
|
|
64048
|
-
tpl2strandsig['RBPJ_6py8C_human_Unk-n1'] = "A A' B C C' E F G";
|
|
64049
|
-
tpl2strandsig['RBPJ_6py8C_human_Unk-n2'] = "A B C D E F G";
|
|
64048
|
+
//tpl2strandsig['RBPJ_6py8C_human_Unk-n1'] = "A A' B C C' E F G";
|
|
64049
|
+
//tpl2strandsig['RBPJ_6py8C_human_Unk-n2'] = "A B C D E F G";
|
|
64050
64050
|
tpl2strandsig['Sidekick2_1wf5A_human_FN3-n7'] = "A B C C' E F G";
|
|
64051
64051
|
tpl2strandsig['Siglec3_5j0bB_human_C1-n2'] = "A A' B C D E F G";
|
|
64052
64052
|
tpl2strandsig['TCRa_6jxrm_human_C1-n2'] = "A B C D E F G";
|
|
64053
64053
|
tpl2strandsig['TCRa_6jxrm_human_V-n1'] = "A A' B C C' C'' D E F G";
|
|
64054
|
-
tpl2strandsig['TEAD1_3kysC_human'] = "A A+ A' B C C' E F G G+";
|
|
64055
|
-
tpl2strandsig['TP34_2o6cA_bacteria'] = "A- A B C C' D E F G";
|
|
64056
|
-
tpl2strandsig['TP47_1o75A_bacteria'] = "A B C C' D E F G";
|
|
64054
|
+
//tpl2strandsig['TEAD1_3kysC_human'] = "A A+ A' B C C' E F G G+";
|
|
64055
|
+
//tpl2strandsig['TP34_2o6cA_bacteria'] = "A- A B C C' D E F G";
|
|
64056
|
+
//tpl2strandsig['TP47_1o75A_bacteria'] = "A B C C' D E F G";
|
|
64057
64057
|
tpl2strandsig['Titin_4uowM_human_Iset-n152'] = "A A' B C C' D E F G";
|
|
64058
64058
|
tpl2strandsig['VISTA_6oilA_human_V'] = "A A' B C C' C'' D E F G G+";
|
|
64059
64059
|
tpl2strandsig['VNAR_1t6vN_shark_V'] = "A A' B C C' D E F G";
|
|
@@ -75419,7 +75419,7 @@ class Scene {
|
|
|
75419
75419
|
if(ic.opts['slab'] === 'yes') ic.cameraCls.setSlab();
|
|
75420
75420
|
|
|
75421
75421
|
// if(!ic.bSetVrArButtons) { // call once
|
|
75422
|
-
if(!me.cfg.imageonly) this.setVrArButtons();
|
|
75422
|
+
if(!me.cfg.imageonly && ( 'xr' in navigator )) this.setVrArButtons();
|
|
75423
75423
|
// }
|
|
75424
75424
|
|
|
75425
75425
|
// if((ic.bVr || ic.bAr) && !ic.bSetVrAr) { // call once
|
|
@@ -80411,7 +80411,7 @@ class Strand {
|
|
|
80411
80411
|
let bShowArray = [];
|
|
80412
80412
|
let calphaIdArray = []; // used to store one of the final positions drawn in 3D
|
|
80413
80413
|
let colors = [];
|
|
80414
|
-
let currentChain, currentCA = null, currentO = null, currentColor = null, prevCoorCA = null, prevCoorO = null, prevColor = null;
|
|
80414
|
+
let currentChain, currentStyle, currentCA = null, currentO = null, currentColor = null, prevCoorCA = null, prevCoorO = null, prevColor = null;
|
|
80415
80415
|
let prevCO = null, ss = null, ssend = false, atomid = null, prevAtomid = null, prevResi = null, calphaid = null, prevCalphaid = null;
|
|
80416
80416
|
let strandWidth, bSheetSegment = false, bHelixSegment = false;
|
|
80417
80417
|
let atom, tubeAtoms = {};
|
|
@@ -80464,15 +80464,15 @@ class Strand {
|
|
|
80464
80464
|
}
|
|
80465
80465
|
// smoothen each coil, helix and sheet separately. The joint residue has to be included both in the previous and next segment
|
|
80466
80466
|
let bSameChain = true;
|
|
80467
|
-
|
|
80467
|
+
|
|
80468
80468
|
if (currentChain !== atom.chain) {
|
|
80469
80469
|
bSameChain = false;
|
|
80470
80470
|
}
|
|
80471
80471
|
|
|
80472
|
-
if(atom.ssend && atom.ss === 'sheet') {
|
|
80472
|
+
if((atom.ssend || currentStyle != atom.style)&& atom.ss === 'sheet') {
|
|
80473
80473
|
bSheetSegment = true;
|
|
80474
80474
|
}
|
|
80475
|
-
else if(atom.ssend && atom.ss === 'helix') {
|
|
80475
|
+
else if((atom.ssend || currentStyle != atom.style) && atom.ss === 'helix') {
|
|
80476
80476
|
bHelixSegment = true;
|
|
80477
80477
|
}
|
|
80478
80478
|
|
|
@@ -80565,7 +80565,7 @@ class Strand {
|
|
|
80565
80565
|
// bHelixSegment = true;
|
|
80566
80566
|
// }
|
|
80567
80567
|
|
|
80568
|
-
if ((atom.ssbegin || atom.ssend || (drawnResidueCount === totalResidueCount - 1) || bBrokenSs) && pnts[0].length > 0 && bSameChain) {
|
|
80568
|
+
if ((atom.ssbegin || atom.ssend || (drawnResidueCount === totalResidueCount - 1) || bBrokenSs || currentStyle != atom.style) && pnts[0].length > 0 && bSameChain) {
|
|
80569
80569
|
let atomName = 'CA';
|
|
80570
80570
|
|
|
80571
80571
|
let prevone = [], nexttwo = [];
|
|
@@ -80708,9 +80708,7 @@ class Strand {
|
|
|
80708
80708
|
} // end if (atom.ssbegin || atom.ssend)
|
|
80709
80709
|
|
|
80710
80710
|
// end of a chain
|
|
80711
|
-
|
|
80712
|
-
if ((currentChain !== atom.chain) && pnts[0].length > 0) {
|
|
80713
|
-
|
|
80711
|
+
if ((currentChain !== atom.chain || currentStyle != atom.style) && pnts[0].length > 0) {
|
|
80714
80712
|
let atomName = 'CA';
|
|
80715
80713
|
|
|
80716
80714
|
let prevone = [], nexttwo = [];
|
|
@@ -80762,7 +80760,7 @@ class Strand {
|
|
|
80762
80760
|
}
|
|
80763
80761
|
|
|
80764
80762
|
currentChain = atom.chain;
|
|
80765
|
-
atom.
|
|
80763
|
+
currentStyle = atom.style;
|
|
80766
80764
|
ss = atom.ss;
|
|
80767
80765
|
ssend = atom.ssend;
|
|
80768
80766
|
prevAtomid = atom.serial;
|
|
@@ -84874,7 +84872,7 @@ class ApplyMissingRes {
|
|
|
84874
84872
|
line.serial1 = ic.missingResResid2serial[resid0 + ',' + resid1];
|
|
84875
84873
|
line.serial2 = ic.missingResResid2serial[resid1 + ',' + resid0];
|
|
84876
84874
|
|
|
84877
|
-
line.color = "#" + ic.atoms[line.serial1].color.getHexString();
|
|
84875
|
+
line.color = (ic.atoms[line.serial1]) ? "#" + ic.atoms[line.serial1].color.getHexString() : undefined;
|
|
84878
84876
|
|
|
84879
84877
|
line.radius = ic.coilWidth;
|
|
84880
84878
|
|
|
@@ -89729,6 +89727,9 @@ class SetStyle {
|
|
|
89729
89727
|
setBackground(color) {var ic = this.icn3d, me = ic.icn3dui;
|
|
89730
89728
|
|
|
89731
89729
|
ic.setOptionCls.setOption('background', color);
|
|
89730
|
+
let exdays = 3650;
|
|
89731
|
+
me.htmlCls.setHtmlCls.setCookie('bkgdcolor', color, exdays);
|
|
89732
|
+
|
|
89732
89733
|
me.htmlCls.clickMenuCls.setLogCmd('set background ' + color, true);
|
|
89733
89734
|
//let titleColor =(color == 'black' || color == 'transparent') ? me.htmlCls.GREYD : 'black';
|
|
89734
89735
|
let titleColor = (color == 'black') ? me.htmlCls.GREYD : 'black';
|
|
@@ -100331,7 +100332,7 @@ class HlUpdate {
|
|
|
100331
100332
|
if(ic.mmdbid_q !== undefined && ic.mmdbid_q === ic.mmdbid_t) {
|
|
100332
100333
|
html2ddgm += ic.diagram2dCls.draw2Ddgm(ic.interactionData2, ic.mmdbidArray[0].toUpperCase(), 1, true);
|
|
100333
100334
|
}
|
|
100334
|
-
else {
|
|
100335
|
+
else if(ic.mmdbidArray.length > 1) {
|
|
100335
100336
|
html2ddgm += ic.diagram2dCls.draw2Ddgm(ic.interactionData2, ic.mmdbidArray[1].toUpperCase(), 1, true);
|
|
100336
100337
|
}
|
|
100337
100338
|
html2ddgm += ic.diagram2dCls.set2DdgmNote(true);
|
|
@@ -104613,16 +104614,31 @@ class ChainalignParser {
|
|
|
104613
104614
|
|
|
104614
104615
|
// dynamically align pairs in all chainids
|
|
104615
104616
|
// the resrange from VASTSrv or VAST search uses NCBI residue numbers!!!
|
|
104616
|
-
let atomSet_t
|
|
104617
|
+
let atomSet_t;
|
|
104618
|
+
if(me.cfg.resrange) {
|
|
104619
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[0]], chainidArray[0], true);
|
|
104620
|
+
atomSet_t = result.hAtoms;
|
|
104621
|
+
}
|
|
104622
|
+
else {
|
|
104623
|
+
atomSet_t = ic.chains[chainidArray[0]];
|
|
104624
|
+
}
|
|
104625
|
+
|
|
104617
104626
|
for(let index = 1, indexl = chainidArray.length; index < indexl; ++index) {
|
|
104618
|
-
let atomSet_q
|
|
104627
|
+
let atomSet_q;
|
|
104628
|
+
if(me.cfg.resrange) {
|
|
104629
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[index]], chainidArray[index], true);
|
|
104630
|
+
atomSet_q = result.hAtoms;
|
|
104631
|
+
}
|
|
104632
|
+
else {
|
|
104633
|
+
atomSet_q = ic.chains[chainidArray[index]];
|
|
104634
|
+
}
|
|
104619
104635
|
// end of new version to be done for VASTsrv ==============
|
|
104620
104636
|
|
|
104621
104637
|
let alignAjax;
|
|
104622
104638
|
if(me.cfg.aligntool != 'tmalign') {
|
|
104623
104639
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(atomSet_q);
|
|
104624
104640
|
let jsonStr_t = ic.domain3dCls.getDomainJsonForAlign(atomSet_t);
|
|
104625
|
-
|
|
104641
|
+
|
|
104626
104642
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
104627
104643
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
104628
104644
|
}
|
|
@@ -104658,6 +104674,7 @@ class ChainalignParser {
|
|
|
104658
104674
|
//let bTargetTransformed = (ic.qt_start_end[0]) ? true : false;
|
|
104659
104675
|
|
|
104660
104676
|
// modify the previous trans and rotation matrix
|
|
104677
|
+
let bAligned = false;
|
|
104661
104678
|
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
104662
104679
|
// let align = (me.bNode) ? dataArray[i] : dataArray[i].value;//[0];
|
|
104663
104680
|
let align = dataArray[i].value;//[0];
|
|
@@ -104673,7 +104690,7 @@ class ChainalignParser {
|
|
|
104673
104690
|
|
|
104674
104691
|
me.htmlCls.clickMenuCls.setLogCmd("Align " + mmdbid_t + " with " + mmdbid_q, false);
|
|
104675
104692
|
|
|
104676
|
-
this.processAlign(align, index, queryData, bEqualMmdbid, bEqualChain);
|
|
104693
|
+
bAligned =await this.processAlign(align, index, queryData, bEqualMmdbid, bEqualChain, undefined);
|
|
104677
104694
|
}
|
|
104678
104695
|
|
|
104679
104696
|
// do not transform the target
|
|
@@ -104681,28 +104698,34 @@ class ChainalignParser {
|
|
|
104681
104698
|
// this.transformStructure(mmdbid_t, indexArray[0], 'target');
|
|
104682
104699
|
//}
|
|
104683
104700
|
|
|
104684
|
-
|
|
104685
|
-
|
|
104686
|
-
let
|
|
104687
|
-
|
|
104688
|
-
|
|
104689
|
-
|
|
104701
|
+
if(bAligned) {
|
|
104702
|
+
// transform the rest
|
|
104703
|
+
for(let i = 0, il = dataArray.length; i < il; ++i) {
|
|
104704
|
+
let mmdbid_q = struArray[i];
|
|
104705
|
+
let index = indexArray[i];
|
|
104706
|
+
this.transformStructure(mmdbid_q, index, 'query');
|
|
104707
|
+
}
|
|
104690
104708
|
|
|
104691
|
-
|
|
104709
|
+
let hAtomsAll = {};
|
|
104692
104710
|
|
|
104693
|
-
|
|
104694
|
-
|
|
104695
|
-
|
|
104696
|
-
|
|
104711
|
+
if(ic.bFullUi && ic.q_rotation !== undefined && !me.cfg.resnum && !me.cfg.resdef) {
|
|
104712
|
+
// set multiple sequence alignment from ic.qt_start_end
|
|
104713
|
+
hAtomsAll = this.setMsa(chainidArray);
|
|
104714
|
+
}
|
|
104697
104715
|
|
|
104698
|
-
|
|
104699
|
-
|
|
104700
|
-
|
|
104716
|
+
// highlight all aligned atoms
|
|
104717
|
+
//ic.hAtoms = me.hashUtilsCls.cloneHash(hAtomsTmp);
|
|
104718
|
+
ic.hAtoms = me.hashUtilsCls.cloneHash(hAtomsAll);
|
|
104701
104719
|
|
|
104702
|
-
|
|
104720
|
+
ic.transformCls.zoominSelection();
|
|
104703
104721
|
|
|
104704
|
-
|
|
104705
|
-
|
|
104722
|
+
// do the rest
|
|
104723
|
+
await this.downloadChainalignmentPart3(chainresiCalphaHash2, chainidArray, ic.hAtoms);
|
|
104724
|
+
}
|
|
104725
|
+
else {
|
|
104726
|
+
me.cfg.aligntool = 'tmalign';
|
|
104727
|
+
await ic.chainalignParserCls.downloadChainalignment(me.cfg.chainalign);
|
|
104728
|
+
}
|
|
104706
104729
|
}
|
|
104707
104730
|
|
|
104708
104731
|
setMsa(chainidArray, bVastplus, bRealign) { let ic = this.icn3d, me = ic.icn3dui;
|
|
@@ -104773,7 +104796,7 @@ class ChainalignParser {
|
|
|
104773
104796
|
|
|
104774
104797
|
let bNoAlert = true;
|
|
104775
104798
|
|
|
104776
|
-
let bAligned = this.processAlign(align, i, queryData, bEqualMmdbid, bEqualChain, bNoAlert);
|
|
104799
|
+
let bAligned = await this.processAlign(align, i, queryData, bEqualMmdbid, bEqualChain, bNoAlert);
|
|
104777
104800
|
|
|
104778
104801
|
if(bAligned) {
|
|
104779
104802
|
bFoundAlignment = true;
|
|
@@ -105265,7 +105288,7 @@ class ChainalignParser {
|
|
|
105265
105288
|
|
|
105266
105289
|
me.htmlCls.clickMenuCls.setLogCmd("Align " + mmdbid_t + " with " + mmdbid_q, false);
|
|
105267
105290
|
|
|
105268
|
-
this.processAlign(align, index-1, queryData, bEqualMmdbid, bEqualChain);
|
|
105291
|
+
await this.processAlign(align, index-1, queryData, bEqualMmdbid, bEqualChain, undefined);
|
|
105269
105292
|
}
|
|
105270
105293
|
}
|
|
105271
105294
|
}
|
|
@@ -105275,13 +105298,13 @@ class ChainalignParser {
|
|
|
105275
105298
|
await this.loadOpmDataForChainalign(targetData, queryDataArray, chainidArray, ic.mmdbidArray);
|
|
105276
105299
|
}
|
|
105277
105300
|
|
|
105278
|
-
processAlign(align, index, queryData, bEqualMmdbid, bEqualChain, bNoAlert) { let ic = this.icn3d, me = ic.icn3dui;
|
|
105301
|
+
async processAlign(align, index, queryData, bEqualMmdbid, bEqualChain, bNoAlert) { let ic = this.icn3d, me = ic.icn3dui;
|
|
105279
105302
|
let bAligned = false;
|
|
105280
105303
|
|
|
105281
|
-
if((
|
|
105282
|
-
let serverName = (me.cfg.aligntool == 'tmalign') ? 'TM-align' : 'VAST';
|
|
105283
|
-
|
|
105284
|
-
if(ic.bRender) var aaa = 1; //alert("These chains can not be aligned by " + serverName + ".");
|
|
105304
|
+
if((align === "error" || align === undefined || align.length == 0) && !bNoAlert) {
|
|
105305
|
+
// let serverName = (me.cfg.aligntool == 'tmalign') ? 'TM-align' : 'VAST';
|
|
105306
|
+
|
|
105307
|
+
// if(ic.bRender) var aaa = 1; //alert("These chains can not be aligned by " + serverName + ".");
|
|
105285
105308
|
return bAligned;
|
|
105286
105309
|
}
|
|
105287
105310
|
|
|
@@ -105430,7 +105453,6 @@ class ChainalignParser {
|
|
|
105430
105453
|
let structArrayTmp = idlist.split(',');
|
|
105431
105454
|
|
|
105432
105455
|
let structArray = [];
|
|
105433
|
-
|
|
105434
105456
|
// only when bNoDuplicate is undefined/false, it's allowed to load multiple copies of the same structure
|
|
105435
105457
|
if(!bNoDuplicate) {
|
|
105436
105458
|
structArray = this.addPostfixForStructureids(structArrayTmp);
|
|
@@ -105443,7 +105465,7 @@ class ChainalignParser {
|
|
|
105443
105465
|
if(!ic.structures.hasOwnProperty(id)) structArray.push(structArrayTmp[i]);
|
|
105444
105466
|
}
|
|
105445
105467
|
}
|
|
105446
|
-
|
|
105468
|
+
|
|
105447
105469
|
if(structArray.length == 0) return;
|
|
105448
105470
|
|
|
105449
105471
|
ic.structArray = ic.structArray.concat(structArray);
|
|
@@ -105543,6 +105565,8 @@ class ChainalignParser {
|
|
|
105543
105565
|
let bNoSeqalign = true;
|
|
105544
105566
|
let pdbid = structArray[i];
|
|
105545
105567
|
|
|
105568
|
+
if(queryDataArray[i].pdbId) queryDataArray[i].pdbId = pdbid;
|
|
105569
|
+
|
|
105546
105570
|
//hAtomsTmp contains all atoms
|
|
105547
105571
|
await ic.mmdbParserCls.parseMmdbData(queryDataArray[i], targetOrQuery, undefined, undefined, bLastQuery, bNoSeqalign, pdbid);
|
|
105548
105572
|
}
|
|
@@ -107119,7 +107143,7 @@ class MmdbParser {
|
|
|
107119
107143
|
return;
|
|
107120
107144
|
}
|
|
107121
107145
|
|
|
107122
|
-
if(Object.keys(data.atoms).length == 0) { // for large structures such as 3J3Q
|
|
107146
|
+
if(!data.atoms || Object.keys(data.atoms).length == 0) { // for large structures such as 3J3Q
|
|
107123
107147
|
// use mmtfid
|
|
107124
107148
|
let pdbid = data.pdbId;
|
|
107125
107149
|
await ic.bcifParserCls.downloadBcif(pdbid);
|
|
@@ -107129,6 +107153,7 @@ class MmdbParser {
|
|
|
107129
107153
|
|
|
107130
107154
|
let bCalphaOnly = me.utilsCls.isCalphaPhosOnly(data.atoms); //, 'CA');
|
|
107131
107155
|
|
|
107156
|
+
//if(!data.pdbId) data.pdbId = mmdbid;
|
|
107132
107157
|
if(bCalphaOnly || data.atomCount <= ic.maxatomcnt) {
|
|
107133
107158
|
await this.parseMmdbData(data);
|
|
107134
107159
|
}
|
|
@@ -107290,8 +107315,18 @@ class MmdbParser {
|
|
|
107290
107315
|
async parseMmdbData(data, type, chainid, chainIndex, bLastQuery, bNoTransformNoSeqalign, pdbidIn) { let ic = this.icn3d, me = ic.icn3dui;
|
|
107291
107316
|
let hAtoms;
|
|
107292
107317
|
let pdbid = (data.pdbId !== undefined) ? data.pdbId : data.mmdbId;
|
|
107318
|
+
if(!pdbid && chainid) {
|
|
107319
|
+
pdbid = chainid.substr(0, chainid.lastIndexOf('_'));
|
|
107320
|
+
}
|
|
107321
|
+
|
|
107293
107322
|
if(pdbidIn) pdbid = pdbidIn;
|
|
107294
107323
|
|
|
107324
|
+
// if(!data.atoms || Object.keys(data.atoms).length == 0) { // for large structures such as 3J3Q
|
|
107325
|
+
// ic.bRender = false;
|
|
107326
|
+
// await ic.bcifParserCls.downloadBcif(pdbid);
|
|
107327
|
+
// return;
|
|
107328
|
+
// }
|
|
107329
|
+
|
|
107295
107330
|
this.parseMmdbDataPart1(data, type);
|
|
107296
107331
|
|
|
107297
107332
|
if(type === undefined) { // default mmdbid input
|
|
@@ -108958,7 +108993,7 @@ class PdbParser {
|
|
|
108958
108993
|
}
|
|
108959
108994
|
|
|
108960
108995
|
// if(!ic.bSecondaryStructure && Object.keys(ic.proteins).length > 0) {
|
|
108961
|
-
if((!ic.bSecondaryStructure || bCalcSecondary) && Object.keys(ic.proteins).length > 0 && !bNoDssp) {
|
|
108996
|
+
if((!ic.bSecondaryStructure || bCalcSecondary) && Object.keys(ic.proteins).length > 0 && !bNoDssp) {
|
|
108962
108997
|
await this.applyCommandDssp(bAppend);
|
|
108963
108998
|
}
|
|
108964
108999
|
else {
|
|
@@ -110933,8 +110968,7 @@ class RealignParser {
|
|
|
110933
110968
|
// If rmsd from vastsrv is too large, realign the chains
|
|
110934
110969
|
//if(me.cfg.chainalign && !me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5) {
|
|
110935
110970
|
// redo algnment only for VAST serv page
|
|
110936
|
-
if(!me.cfg.usepdbnum && me.cfg.resdef && rmsd > 5 && me.cfg.chainalign) {
|
|
110937
|
-
console.log("RMSD from VAST is larger than 5. Realign the chains with TM-align.");
|
|
110971
|
+
if(!me.cfg.usepdbnum && (me.cfg.resdef || me.cfg.resrange) && rmsd > 5 && me.cfg.chainalign) {
|
|
110938
110972
|
//let nameArray = me.cfg.chainalign.split(',');
|
|
110939
110973
|
let nameArray = Object.keys(chainidHash);
|
|
110940
110974
|
if(nameArray.length > 0) {
|
|
@@ -111186,15 +111220,30 @@ let resRangeArray = (me.cfg.resrange) ? decodeURIComponent(me.cfg.resrange).spli
|
|
|
111186
111220
|
if(bVastsearch && me.cfg.resrange) {
|
|
111187
111221
|
let resRangeArray = decodeURIComponent(me.cfg.resrange).split(' | ');
|
|
111188
111222
|
|
|
111189
|
-
let atomSet_t
|
|
111223
|
+
let atomSet_t;
|
|
111224
|
+
if(me.cfg.resrange) {
|
|
111225
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[0]], ic.chainidArray[0], true);
|
|
111226
|
+
atomSet_t = result.hAtoms;
|
|
111227
|
+
}
|
|
111228
|
+
else {
|
|
111229
|
+
atomSet_t = ic.chains[ic.chainidArray[0]];
|
|
111230
|
+
}
|
|
111231
|
+
|
|
111190
111232
|
for(let index = 1, indexl = ic.chainidArray.length; index < indexl; ++index) {
|
|
111191
|
-
let atomSet_q
|
|
111233
|
+
let atomSet_q;
|
|
111234
|
+
if(me.cfg.resrange) {
|
|
111235
|
+
let result = ic.realignParserCls.getSeqCoorResid([resRangeArray[index]], ic.chainidArray[index], true);
|
|
111236
|
+
atomSet_q = result.hAtoms;
|
|
111237
|
+
}
|
|
111238
|
+
else {
|
|
111239
|
+
atomSet_q = ic.chains[ic.chainidArray[index]];
|
|
111240
|
+
}
|
|
111192
111241
|
|
|
111193
111242
|
let alignAjax;
|
|
111194
111243
|
if(me.cfg.aligntool != 'tmalign') {
|
|
111195
111244
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(atomSet_q);
|
|
111196
111245
|
let jsonStr_t = ic.domain3dCls.getDomainJsonForAlign(atomSet_t);
|
|
111197
|
-
|
|
111246
|
+
|
|
111198
111247
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
111199
111248
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
111200
111249
|
}
|
|
@@ -111255,9 +111304,7 @@ let resRangeArray = (me.cfg.resrange) ? decodeURIComponent(me.cfg.resrange).spli
|
|
|
111255
111304
|
let alignAjax;
|
|
111256
111305
|
if(me.cfg.aligntool != 'tmalign') {
|
|
111257
111306
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(struct2domain[struct2][chainid2]);
|
|
111258
|
-
|
|
111259
|
-
console.log("@@@ jsonStr_q " + jsonStr_q);
|
|
111260
|
-
console.log("@@@ jsonStr_t " + jsonStr_t);
|
|
111307
|
+
|
|
111261
111308
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
111262
111309
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
111263
111310
|
}
|
|
@@ -111327,7 +111374,7 @@ console.log("@@@ jsonStr_t " + jsonStr_t);
|
|
|
111327
111374
|
|
|
111328
111375
|
if(me.cfg.aligntool != 'tmalign') {
|
|
111329
111376
|
let jsonStr_q = ic.domain3dCls.getDomainJsonForAlign(chainid2domain[chainid2]);
|
|
111330
|
-
|
|
111377
|
+
|
|
111331
111378
|
let dataObj = {'domains1': jsonStr_q, 'domains2': jsonStr_t};
|
|
111332
111379
|
alignAjax = me.getAjaxPostPromise(urlalign, dataObj);
|
|
111333
111380
|
}
|
|
@@ -111587,6 +111634,8 @@ console.log("@@@ jsonStr_t " + jsonStr_t);
|
|
|
111587
111634
|
let hAtoms = {};
|
|
111588
111635
|
|
|
111589
111636
|
for(let j = 0, jl = resiArray.length; j < jl; ++j) {
|
|
111637
|
+
if(!resiArray[j]) continue;
|
|
111638
|
+
|
|
111590
111639
|
if(resiArray[j].indexOf('-') != -1) {
|
|
111591
111640
|
let startEnd = resiArray[j].split('-');
|
|
111592
111641
|
for(let k = parseInt(startEnd[0]); k <= parseInt(startEnd[1]); ++k) {
|
|
@@ -116757,7 +116806,8 @@ class LoadPDB {
|
|
|
116757
116806
|
}
|
|
116758
116807
|
|
|
116759
116808
|
isSecondary(resid, residArray, bNMR, bNonFull) { let ic = this.icn3d; ic.icn3dui;
|
|
116760
|
-
|
|
116809
|
+
// still need to get the secondary info
|
|
116810
|
+
//if(bNonFull) return false;
|
|
116761
116811
|
|
|
116762
116812
|
if(!bNMR) {
|
|
116763
116813
|
return $.inArray(resid, residArray) != -1;
|
|
@@ -119127,16 +119177,18 @@ class ApplyCommand {
|
|
|
119127
119177
|
}
|
|
119128
119178
|
else if(command.indexOf('set background') == 0) {
|
|
119129
119179
|
let value = command.substr(command.lastIndexOf(' ') + 1);
|
|
119130
|
-
ic.
|
|
119180
|
+
ic.setStyleCls.setBackground(value);
|
|
119131
119181
|
|
|
119132
|
-
|
|
119133
|
-
|
|
119134
|
-
|
|
119135
|
-
|
|
119136
|
-
|
|
119137
|
-
|
|
119138
|
-
|
|
119139
|
-
|
|
119182
|
+
// ic.opts['background'] = value;
|
|
119183
|
+
|
|
119184
|
+
// if(value == 'black') {
|
|
119185
|
+
// $("#" + ic.pre + "title").css("color", me.htmlCls.GREYD);
|
|
119186
|
+
// $("#" + ic.pre + "titlelink").css("color", me.htmlCls.GREYD);
|
|
119187
|
+
// }
|
|
119188
|
+
// else {
|
|
119189
|
+
// $("#" + ic.pre + "title").css("color", "black");
|
|
119190
|
+
// $("#" + ic.pre + "titlelink").css("color", "black");
|
|
119191
|
+
// }
|
|
119140
119192
|
}
|
|
119141
119193
|
else if(command.indexOf('set label color') == 0) {
|
|
119142
119194
|
ic.labelcolor = command.substr(command.lastIndexOf(' ') + 1);
|
|
@@ -124663,29 +124715,29 @@ class Dssp {
|
|
|
124663
124715
|
|
|
124664
124716
|
setRefPdbs() { let ic = this.icn3d; ic.icn3dui;
|
|
124665
124717
|
// round 1, 16 templates
|
|
124666
|
-
ic.refpdbArray = ['1InsulinR_8guyE_human_FN3-n1', '
|
|
124718
|
+
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'];
|
|
124667
124719
|
|
|
124668
124720
|
// round 2
|
|
124669
124721
|
ic.refpdbHash = {};
|
|
124670
124722
|
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'];
|
|
124671
|
-
ic.refpdbHash['
|
|
124672
|
-
ic.refpdbHash['1CoAtomerGamma1_1r4xA_human'] = ['CoAtomerGamma1_1r4xA_human', 'TP34_2o6cA_bacteria'];
|
|
124673
|
-
ic.refpdbHash['1C3_2qkiD_human_n1'] = ['C3_2qkiD_human_n1', '
|
|
124674
|
-
ic.refpdbHash['1CuZnSuperoxideDismutase_1hl5C_human'] = ['
|
|
124675
|
-
ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human', '
|
|
124723
|
+
ic.refpdbHash['1ICOS_6x4gA_human_V'] = ['ICOS_6x4gA_human_V'];
|
|
124724
|
+
//ic.refpdbHash['1CoAtomerGamma1_1r4xA_human'] = ['CoAtomerGamma1_1r4xA_human', 'TP34_2o6cA_bacteria'];
|
|
124725
|
+
//ic.refpdbHash['1C3_2qkiD_human_n1'] = ['C3_2qkiD_human_n1', 'RBPJ_6py8C_human_Unk-n1'];
|
|
124726
|
+
//ic.refpdbHash['1CuZnSuperoxideDismutase_1hl5C_human'] = ['TEAD1_3kysC_human'];
|
|
124727
|
+
//ic.refpdbHash['1ASF1A_2iijA_human'] = ['ASF1A_2iijA_human', 'TP47_1o75A_bacteria'];
|
|
124676
124728
|
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'];
|
|
124677
124729
|
ic.refpdbHash['1CD2_1hnfA_human_C2-n2'] = ['CD2_1hnfA_human_C2-n2', 'Siglec3_5j0bB_human_C1-n2'];
|
|
124678
|
-
ic.refpdbHash['
|
|
124679
|
-
ic.refpdbHash['1NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
124730
|
+
ic.refpdbHash['1ECadherin_4zt1A_human_n2'] = ['ECadherin_4zt1A_human_n2'];
|
|
124731
|
+
//ic.refpdbHash['1NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
124680
124732
|
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'];
|
|
124681
124733
|
ic.refpdbHash['1PDL1_4z18B_human_V-n1'] = ['PDL1_4z18B_human_V-n1', 'CD2_1hnfA_human_V-n1', 'LAG3_7tzgD_human_V-n1'];
|
|
124682
124734
|
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'];
|
|
124683
124735
|
ic.refpdbHash['1LaminAC_1ifrA_human'] = ['LaminAC_1ifrA_human', 'CD3d_6jxrd_human_C1'];
|
|
124684
|
-
ic.refpdbHash['1CD3g_6jxrg_human_C2'] = ['CD3g_6jxrg_human_C2', 'TCRa_6jxrm_human_C1-n2'
|
|
124685
|
-
ic.refpdbHash['1CD28_1yjdC_human_V'] = ['CD28_1yjdC_human_V', '
|
|
124736
|
+
ic.refpdbHash['1CD3g_6jxrg_human_C2'] = ['CD3g_6jxrg_human_C2', 'TCRa_6jxrm_human_C1-n2'];
|
|
124737
|
+
ic.refpdbHash['1CD28_1yjdC_human_V'] = ['CD28_1yjdC_human_V', 'CD3e_6jxrf_human_C1'];
|
|
124686
124738
|
ic.refpdbHash['1CD19_6al5A_human-n1'] = ['CD19_6al5A_human-n1'];
|
|
124687
124739
|
|
|
124688
|
-
ic.refpdbHash['all_templates'] = ['
|
|
124740
|
+
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'];
|
|
124689
124741
|
|
|
124690
124742
|
// use known ref structure
|
|
124691
124743
|
ic.refpdbHash['5ESV_C'] = ['FAB-HEAVY_5esv_V-n1', 'FAB-HEAVY_5esv_C1-n2'];
|
|
@@ -124694,36 +124746,36 @@ class Dssp {
|
|
|
124694
124746
|
ic.refpdbHash['6JXR_m'] = ['TCRa_6jxrm_human_V-n1', 'TCRa_6jxrm_human_C1-n2'];
|
|
124695
124747
|
ic.refpdbHash['1HNF_A'] = ['CD2_1hnfA_human_V-n1', 'CD2_1hnfA_human_C2-n2'];
|
|
124696
124748
|
ic.refpdbHash['7TZG_D'] = ['LAG3_7tzgD_human_V-n1', 'LAG3_7tzgD_human_C1-n2'];
|
|
124697
|
-
ic.refpdbHash['6PY8_C'] = ['RBPJ_6py8C_human_Unk-n1'
|
|
124749
|
+
//ic.refpdbHash['6PY8_C'] = ['RBPJ_6py8C_human_Unk-n1'];
|
|
124698
124750
|
ic.refpdbHash['1BQU_B'] = ['IL6Rb_1bquB_human_FN3-n2', 'IL6Rb_1bquB_human_FN3-n3'];
|
|
124699
124751
|
|
|
124700
|
-
ic.refpdbHash['1R4X_A'] = ['CoAtomerGamma1_1r4xA_human'];
|
|
124752
|
+
//ic.refpdbHash['1R4X_A'] = ['CoAtomerGamma1_1r4xA_human'];
|
|
124701
124753
|
ic.refpdbHash['6OIL_A'] = ['VISTA_6oilA_human_V'];
|
|
124702
|
-
ic.refpdbHash['2ZXE_B'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
124703
|
-
ic.refpdbHash['1I8A_A'] = ['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'];
|
|
124704
|
-
ic.refpdbHash['2FWU_A'] = ['NaCaExchanger_2fwuA_dog_n2'];
|
|
124705
|
-
ic.refpdbHash['4JQI_A'] = ['BArrestin1_4jqiA_rat_n1'];
|
|
124754
|
+
//ic.refpdbHash['2ZXE_B'] = ['NaKATPaseTransporterBeta_2zxeB_spurdogshark'];
|
|
124755
|
+
//ic.refpdbHash['1I8A_A'] = ['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'];
|
|
124756
|
+
//ic.refpdbHash['2FWU_A'] = ['NaCaExchanger_2fwuA_dog_n2'];
|
|
124757
|
+
//ic.refpdbHash['4JQI_A'] = ['BArrestin1_4jqiA_rat_n1'];
|
|
124706
124758
|
ic.refpdbHash['1NBQ_A'] = ['JAM1_1nbqA_human_Iset-n2'];
|
|
124707
|
-
ic.refpdbHash['1O75_A'] = ['TP47_1o75A_bacteria'];
|
|
124759
|
+
//ic.refpdbHash['1O75_A'] = ['TP47_1o75A_bacteria'];
|
|
124708
124760
|
ic.refpdbHash['7PHR_H'] = ['MHCIa_7phrH_human_C1'];
|
|
124709
|
-
ic.refpdbHash['2IIJ_A'] = ['ASF1A_2iijA_human'];
|
|
124761
|
+
//ic.refpdbHash['2IIJ_A'] = ['ASF1A_2iijA_human'];
|
|
124710
124762
|
ic.refpdbHash['4Z18_B'] = ['PDL1_4z18B_human_V-n1'];
|
|
124711
124763
|
ic.refpdbHash['1T6V_N'] = ['VNAR_1t6vN_shark_V'];
|
|
124712
|
-
ic.refpdbHash['2O6C_A'] = ['TP34_2o6cA_bacteria'];
|
|
124713
|
-
ic.refpdbHash['3KYS_C'] = ['TEAD1_3kysC_human'];
|
|
124764
|
+
//ic.refpdbHash['2O6C_A'] = ['TP34_2o6cA_bacteria'];
|
|
124765
|
+
//ic.refpdbHash['3KYS_C'] = ['TEAD1_3kysC_human'];
|
|
124714
124766
|
ic.refpdbHash['7PHR_L'] = ['B2Microglobulin_7phrL_human_C1'];
|
|
124715
124767
|
ic.refpdbHash['2AW2_A'] = ['BTLA_2aw2A_human_Iset'];
|
|
124716
|
-
ic.refpdbHash['1HL5_C'] = ['CuZnSuperoxideDismutase_1hl5C_human'];
|
|
124768
|
+
//ic.refpdbHash['1HL5_C'] = ['CuZnSuperoxideDismutase_1hl5C_human'];
|
|
124717
124769
|
ic.refpdbHash['1WF5_A'] = ['Sidekick2_1wf5A_human_FN3-n7'];
|
|
124718
124770
|
ic.refpdbHash['5J0B_B'] = ['Siglec3_5j0bB_human_C1-n2'];
|
|
124719
124771
|
ic.refpdbHash['1IFR_A'] = ['LaminAC_1ifrA_human'];
|
|
124720
124772
|
ic.refpdbHash['Q7Z7D3_A'] = ['VTCN1_Q7Z7D3_human_C1-n2'];
|
|
124721
124773
|
ic.refpdbHash['4ZQK_B'] = ['PD1_4zqkB_human_V'];
|
|
124722
124774
|
ic.refpdbHash['2DM3_A'] = ['Palladin_2dm3A_human_Iset-n1'];
|
|
124723
|
-
ic.refpdbHash['2ITE_A'] = ['IsdA_2iteA_bacteria'];
|
|
124724
|
-
ic.refpdbHash['1XAK_A'] = ['ORF7a_1xakA_virus'];
|
|
124775
|
+
//ic.refpdbHash['2ITE_A'] = ['IsdA_2iteA_bacteria'];
|
|
124776
|
+
//ic.refpdbHash['1XAK_A'] = ['ORF7a_1xakA_virus'];
|
|
124725
124777
|
ic.refpdbHash['4ZT1_A'] = ['ECadherin_4zt1A_human_n2'];
|
|
124726
|
-
ic.refpdbHash['1LMI_A'] = ['MPT63_1lmiA_bacteria'];
|
|
124778
|
+
//ic.refpdbHash['1LMI_A'] = ['MPT63_1lmiA_bacteria'];
|
|
124727
124779
|
ic.refpdbHash['1CD8_A'] = ['CD8a_1cd8A_human_V'];
|
|
124728
124780
|
ic.refpdbHash['3S97_C'] = ['Contactin1_3s97C_human_Iset-n2'];
|
|
124729
124781
|
ic.refpdbHash['1AXI_B'] = ['GHR_1axiB_human_C1-n1'];
|
|
@@ -124731,7 +124783,7 @@ class Dssp {
|
|
|
124731
124783
|
ic.refpdbHash['2EE2_A'] = ['Contactin1_2ee2A_human_FN3-n9'];
|
|
124732
124784
|
ic.refpdbHash['4UOW_M'] = ['Titin_4uowM_human_Iset-n152'];
|
|
124733
124785
|
ic.refpdbHash['6A15_A'] = ['CD19_6al5A_human-n1'];
|
|
124734
|
-
ic.refpdbHash['2QKI_D'] = ['C3_2qkiD_human_n1'];
|
|
124786
|
+
//ic.refpdbHash['2QKI_D'] = ['C3_2qkiD_human_n1'];
|
|
124735
124787
|
ic.refpdbHash['1YJD_C'] = ['CD28_1yjdC_human_V'];
|
|
124736
124788
|
ic.refpdbHash['6JXR_d'] = ['CD3d_6jxrd_human_C1'];
|
|
124737
124789
|
ic.refpdbHash['6JXR_f'] = ['CD3e_6jxrf_human_C1'];
|
|
@@ -124740,11 +124792,11 @@ class Dssp {
|
|
|
124740
124792
|
// assign Ig types
|
|
124741
124793
|
ic.ref2igtype = {};
|
|
124742
124794
|
|
|
124743
|
-
ic.ref2igtype['ASF1A_2iijA_human'] = 'IgFN3-like';
|
|
124795
|
+
//ic.ref2igtype['ASF1A_2iijA_human'] = 'IgFN3-like';
|
|
124744
124796
|
ic.ref2igtype['B2Microglobulin_7phrL_human_C1'] = 'IgC1';
|
|
124745
|
-
ic.ref2igtype['BArrestin1_4jqiA_rat_n1'] = 'IgFN3-like';
|
|
124797
|
+
//ic.ref2igtype['BArrestin1_4jqiA_rat_n1'] = 'IgFN3-like';
|
|
124746
124798
|
ic.ref2igtype['BTLA_2aw2A_human_Iset'] = 'IgI';
|
|
124747
|
-
ic.ref2igtype['C3_2qkiD_human_n1'] = 'IgFN3-like';
|
|
124799
|
+
//ic.ref2igtype['C3_2qkiD_human_n1'] = 'IgFN3-like';
|
|
124748
124800
|
ic.ref2igtype['CD19_6al5A_human-n1'] = 'CD19';
|
|
124749
124801
|
ic.ref2igtype['CD28_1yjdC_human_V'] = 'IgV';
|
|
124750
124802
|
ic.ref2igtype['CD2_1hnfA_human_C2-n2'] = 'IgC2';
|
|
@@ -124753,12 +124805,12 @@ class Dssp {
|
|
|
124753
124805
|
ic.ref2igtype['CD3e_6jxrf_human_C1'] = 'IgC1';
|
|
124754
124806
|
ic.ref2igtype['CD3g_6jxrg_human_C2'] = 'IgC2';
|
|
124755
124807
|
ic.ref2igtype['CD8a_1cd8A_human_V'] = 'IgV';
|
|
124756
|
-
ic.ref2igtype['CoAtomerGamma1_1r4xA_human'] = 'IgE';
|
|
124808
|
+
//ic.ref2igtype['CoAtomerGamma1_1r4xA_human'] = 'IgE';
|
|
124757
124809
|
ic.ref2igtype['Contactin1_2ee2A_human_FN3-n9'] = 'IgFN3';
|
|
124758
124810
|
ic.ref2igtype['Contactin1_3s97C_human_Iset-n2'] = 'IgI';
|
|
124759
|
-
ic.ref2igtype['CuZnSuperoxideDismutase_1hl5C_human'] = 'SOD';
|
|
124811
|
+
//ic.ref2igtype['CuZnSuperoxideDismutase_1hl5C_human'] = 'SOD';
|
|
124760
124812
|
ic.ref2igtype['ECadherin_4zt1A_human_n2'] = 'Cadherin';
|
|
124761
|
-
ic.ref2igtype['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = 'IgE';
|
|
124813
|
+
//ic.ref2igtype['Endo-1,4-BetaXylanase10A_1i8aA_bacteria_n4'] = 'IgE';
|
|
124762
124814
|
ic.ref2igtype['FAB-HEAVY_5esv_C1-n2'] = 'IgC1';
|
|
124763
124815
|
ic.ref2igtype['FAB-HEAVY_5esv_V-n1'] = 'IgV';
|
|
124764
124816
|
ic.ref2igtype['FAB-LIGHT_5esv_C1-n2'] = 'IgC1';
|
|
@@ -124769,28 +124821,28 @@ class Dssp {
|
|
|
124769
124821
|
ic.ref2igtype['IL6Rb_1bquB_human_FN3-n3'] = 'IgFN3';
|
|
124770
124822
|
ic.ref2igtype['InsulinR_8guyE_human_FN3-n1'] = 'IgFN3';
|
|
124771
124823
|
ic.ref2igtype['InsulinR_8guyE_human_FN3-n2'] = 'IgFN3';
|
|
124772
|
-
ic.ref2igtype['IsdA_2iteA_bacteria'] = 'IgE';
|
|
124824
|
+
//ic.ref2igtype['IsdA_2iteA_bacteria'] = 'IgE';
|
|
124773
124825
|
ic.ref2igtype['JAM1_1nbqA_human_Iset-n2'] = 'IgI';
|
|
124774
124826
|
ic.ref2igtype['LAG3_7tzgD_human_C1-n2'] = 'IgC1';
|
|
124775
124827
|
ic.ref2igtype['LAG3_7tzgD_human_V-n1'] = 'IgV';
|
|
124776
124828
|
ic.ref2igtype['LaminAC_1ifrA_human'] = 'Lamin';
|
|
124777
124829
|
ic.ref2igtype['MHCIa_7phrH_human_C1'] = 'IgC1';
|
|
124778
|
-
ic.ref2igtype['MPT63_1lmiA_bacteria'] = 'IgFN3-like';
|
|
124779
|
-
ic.ref2igtype['NaCaExchanger_2fwuA_dog_n2'] = 'IgFN3-like';
|
|
124780
|
-
ic.ref2igtype['NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = 'IgE';
|
|
124781
|
-
ic.ref2igtype['ORF7a_1xakA_virus'] = 'ORF';
|
|
124830
|
+
//ic.ref2igtype['MPT63_1lmiA_bacteria'] = 'IgFN3-like';
|
|
124831
|
+
//ic.ref2igtype['NaCaExchanger_2fwuA_dog_n2'] = 'IgFN3-like';
|
|
124832
|
+
//ic.ref2igtype['NaKATPaseTransporterBeta_2zxeB_spurdogshark'] = 'IgE';
|
|
124833
|
+
//ic.ref2igtype['ORF7a_1xakA_virus'] = 'ORF';
|
|
124782
124834
|
ic.ref2igtype['PD1_4zqkB_human_V'] = 'IgV';
|
|
124783
124835
|
ic.ref2igtype['PDL1_4z18B_human_V-n1'] = 'IgV';
|
|
124784
124836
|
ic.ref2igtype['Palladin_2dm3A_human_Iset-n1'] = 'IgI';
|
|
124785
|
-
ic.ref2igtype['RBPJ_6py8C_human_Unk-n1'] = 'IgFN3-like';
|
|
124837
|
+
//ic.ref2igtype['RBPJ_6py8C_human_Unk-n1'] = 'IgFN3-like';
|
|
124786
124838
|
//ic.ref2igtype['RBPJ_6py8C_human_Unk-n2'] = 'IgFN3-like';
|
|
124787
124839
|
ic.ref2igtype['Sidekick2_1wf5A_human_FN3-n7'] = 'IgFN3';
|
|
124788
124840
|
ic.ref2igtype['Siglec3_5j0bB_human_C1-n2'] = 'IgC1';
|
|
124789
124841
|
ic.ref2igtype['TCRa_6jxrm_human_C1-n2'] = 'IgC1';
|
|
124790
124842
|
ic.ref2igtype['TCRa_6jxrm_human_V-n1'] = 'IgV';
|
|
124791
|
-
ic.ref2igtype['TEAD1_3kysC_human'] = 'IgFN3-like';
|
|
124792
|
-
ic.ref2igtype['TP34_2o6cA_bacteria'] = 'IgE';
|
|
124793
|
-
ic.ref2igtype['TP47_1o75A_bacteria'] = 'IgE';
|
|
124843
|
+
//ic.ref2igtype['TEAD1_3kysC_human'] = 'IgFN3-like';
|
|
124844
|
+
//ic.ref2igtype['TP34_2o6cA_bacteria'] = 'IgE';
|
|
124845
|
+
//ic.ref2igtype['TP47_1o75A_bacteria'] = 'IgE';
|
|
124794
124846
|
ic.ref2igtype['Titin_4uowM_human_Iset-n152'] = 'IgI';
|
|
124795
124847
|
ic.ref2igtype['VISTA_6oilA_human_V'] = 'IgV';
|
|
124796
124848
|
ic.ref2igtype['VNAR_1t6vN_shark_V'] = 'IgV';
|
|
@@ -126341,6 +126393,7 @@ class Dssp {
|
|
|
126341
126393
|
}
|
|
126342
126394
|
else {
|
|
126343
126395
|
let bBefore = false, bInRange= false, bAfter = false;
|
|
126396
|
+
/*
|
|
126344
126397
|
// 100, 100A
|
|
126345
126398
|
if(parseInt(currResi) == parseInt(strandArray[strandCnt].startResi) && currResi != strandArray[strandCnt].startResi) {
|
|
126346
126399
|
bBefore = currResi < strandArray[strandCnt].startResi;
|
|
@@ -126356,6 +126409,14 @@ class Dssp {
|
|
|
126356
126409
|
else {
|
|
126357
126410
|
bAfter = parseInt(currResi) > parseInt(strandArray[strandCnt].endResi);
|
|
126358
126411
|
}
|
|
126412
|
+
*/
|
|
126413
|
+
|
|
126414
|
+
let currResiNcbi = ic.ParserUtilsCls.getResiNCBI(chnid, currResi);
|
|
126415
|
+
let startResiNcbi = ic.ParserUtilsCls.getResiNCBI(chnid, strandArray[strandCnt].startResi);
|
|
126416
|
+
let endResiNcbi = ic.ParserUtilsCls.getResiNCBI(chnid, strandArray[strandCnt].endResi);
|
|
126417
|
+
|
|
126418
|
+
bBefore = parseInt(currResiNcbi) < parseInt(startResiNcbi);
|
|
126419
|
+
bAfter = parseInt(currResiNcbi) > parseInt(endResiNcbi);
|
|
126359
126420
|
|
|
126360
126421
|
bInRange = (!bBefore && !bAfter) ? true : false;
|
|
126361
126422
|
|
|
@@ -132174,8 +132235,9 @@ class ShareLink {
|
|
|
132174
132235
|
}
|
|
132175
132236
|
|
|
132176
132237
|
let paraHash = {};
|
|
132177
|
-
|
|
132178
|
-
|
|
132238
|
+
/*
|
|
132239
|
+
for(let key in me.cfg) {
|
|
132240
|
+
let value = me.cfg[key];
|
|
132179
132241
|
//if(key === 'inpara' || ic.key === 'command' || value === undefined) continue;
|
|
132180
132242
|
if(key === 'inpara' || key === 'command' || key === 'usepdbnum'
|
|
132181
132243
|
|| key === 'date' || key === 'v' || value === undefined) continue;
|
|
@@ -132225,7 +132287,7 @@ class ShareLink {
|
|
|
132225
132287
|
paraHash[key] = value;
|
|
132226
132288
|
}
|
|
132227
132289
|
}
|
|
132228
|
-
|
|
132290
|
+
*/
|
|
132229
132291
|
if(ic.bAfMem) {
|
|
132230
132292
|
paraHash['afmem'] = 'on';
|
|
132231
132293
|
}
|
|
@@ -132247,6 +132309,12 @@ class ShareLink {
|
|
|
132247
132309
|
if(key_value.length == 2) paraHash[key_value[0]] = key_value[1];
|
|
132248
132310
|
}
|
|
132249
132311
|
|
|
132312
|
+
// BLAST RID is usually added at the end of the URL. It should be included.
|
|
132313
|
+
if(me.cfg.rid && !paraHash['RID']) {
|
|
132314
|
+
url += 'RID=' + me.cfg.rid + '&';
|
|
132315
|
+
}
|
|
132316
|
+
|
|
132317
|
+
// sometimes idname is not part of the URL
|
|
132250
132318
|
if(me.cfg.idname && !paraHash[me.cfg.idname]) { // somehow it is not included
|
|
132251
132319
|
url += me.cfg.idname + '=' + me.cfg.idvalue + '&';
|
|
132252
132320
|
}
|
|
@@ -135360,7 +135428,7 @@ class iCn3DUI {
|
|
|
135360
135428
|
//even when multiple iCn3D viewers are shown together.
|
|
135361
135429
|
this.pre = this.cfg.divid + "_";
|
|
135362
135430
|
|
|
135363
|
-
this.REVISION = '3.
|
|
135431
|
+
this.REVISION = '3.48.1';
|
|
135364
135432
|
|
|
135365
135433
|
// In nodejs, iCn3D defines "window = {navigator: {}}", and added window = {navigator: {}, "__THREE__":"177"}
|
|
135366
135434
|
this.bNode = (Object.keys(window).length < 3) ? true : false;
|
|
@@ -135562,14 +135630,8 @@ iCn3DUI.prototype.show3DStructure = async function(pdbStr) { let me = this;
|
|
|
135562
135630
|
let domainidArray = me.cfg.matchedchains.split(',');
|
|
135563
135631
|
let chainidArray = [];
|
|
135564
135632
|
for(let i = 0, il = domainidArray.length; i < il; ++i) {
|
|
135565
|
-
let
|
|
135566
|
-
|
|
135567
|
-
if(!isNaN(lastId)) { // lastId is domain id
|
|
135568
|
-
chainidArray.push(domainidArray[i].substr(0, pos));
|
|
135569
|
-
}
|
|
135570
|
-
else {
|
|
135571
|
-
chainidArray.push(domainidArray[i]);
|
|
135572
|
-
}
|
|
135633
|
+
let idArray = domainidArray[i].split('_');
|
|
135634
|
+
chainidArray.push(idArray[0] + '_' + idArray[1]);
|
|
135573
135635
|
}
|
|
135574
135636
|
|
|
135575
135637
|
// get the matched structures, do not include the template
|
|
@@ -135798,6 +135860,9 @@ iCn3DUI.prototype.show3DStructure = async function(pdbStr) { let me = this;
|
|
|
135798
135860
|
if(me.cfg.align.indexOf('185055,') != -1) {
|
|
135799
135861
|
me.cfg.align = me.cfg.align.replace('185055,', '199731,'); //the mmdbid of PDB 6M17 was changed from 185055 to 199731
|
|
135800
135862
|
}
|
|
135863
|
+
else if(me.cfg.align == '54567,1,12161,1,2,1') {
|
|
135864
|
+
me.cfg.align = '3HHR,1BQU'; // somehow the VAST+ data for this published alignment were not there anymore
|
|
135865
|
+
}
|
|
135801
135866
|
|
|
135802
135867
|
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]
|
|
135803
135868
|
|